This file is indexed.

/usr/share/titan/help/info/bitstring.html is in eclipse-titan 6.3.1-1build1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
<!--
 Copyright (c) 2000-2017 Ericsson Telecom AB
 All rights reserved. This program and the accompanying materials
 are made available under the terms of the Eclipse Public License v1.0
 which accompanies this distribution, and is available at
 http://www.eclipse.org/legal/epl-v10.html

 Contributors:
  Baji, Laszlo
  Balasko, Jeno
  Csorba, Mate
  Farkas, Laszlo
  Forstner, Matyas
  Szabados, Kristof
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-us">
<title>bitstring</title>
</head>
<body bgcolor="#DAD3C5" vlink="#0094D2" link="#003258">
<table align="left" border="0" cellspacing="0" cellpadding="0" valign=top>
  <tr>
    <td width=105 height=40><a href="https://projects.eclipse.org/projects/tools.titan"><img src="../images/titan_transparent.gif" border=0 width=105 height=40 align="left" alt="Titan"></a></td>
  </tr>
</table>
<table border="0" align="right" cellpadding="0" cellspacing="0">
  <tr>
    <td><a href="../titan_main.html" alt="contents"><img border="0" src="../images/ao.jpg" width="53" height="40"></a></td>
    <td><a href="../titan_index.html" alt="index"><img border="0" src="../images/up.jpg" width="53" height="40"></a></td>
    <td><a alt="previous" href="bit2str.html"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
    <td><a href="boolean.html" alt="next"><img border="0" src="../images/right.jpg" width="53" height="40"></a></td>
  </tr>
</table>
<p><br clear="all">
</p>
<hr>
<h1>bitstring</h1>
<hr align="left" width="75%">
<p>The keyword <b><font face="Courier New">bitstring</font></b> denotes a basic string type whose distinguished values are the ordered sequences of zero, one or more bits.</p>
<ul>
  <li>Bit string values are written between <a href="#double_quotation"> single quotes and followed by the capital letter B.</a> (' 'B).</li>
  <li>A bit string may be specified by its integer value using a <a href="#conversion">conversion function</a>.</li>
  <li>The <a href="#relation">relational operators</a> equality (==) and non-equality (!=) can be used to compare values of two bit strings</li>
  <li>The <a href="#shift">shift operators</a> perform the shift left (&lt;&lt;) and shift right (&gt;&gt;) operations.</li>
  <li>The <a href="#rotate">rotate operators</a> perform the rotate left (&lt;@) and rotate right (@&gt;) operations.</li>
  <li>The <a href="#concatenation"> concatenation operator</a> (&amp;) performs a simple concatenation from left to right.</li>
  <li>Bitwise operators (<a href="and4b.html">and4b</a>, <a href="not4b.html">not4b</a>, <a href="or4b.html">or4b</a>, <a href="xor4b.html"
    target="_blank">xor4b</a>) are used to manipulate bits in the string.</li>
  <li>A <a href="#array"> single bit</a> may be accessed using an array-like syntax. The leftmost bit has the index zero.</li>
  <li>The bit string may be <a href="#vacuum">empty</a>.</li>
  <li>Predefined functions operating on bit strings:</li>
  <ul>
    <li><a href="#bit2hex">bit2hex</a> converts a bit string value to a hexadecimal string.</li>
    <li><a href="#str2int">bit2int</a> converts a bit string to the equivalent integer.</li>
    <li><a href="#str2oct">bit2oct</a> converts a bit string to an octet string.</li>
    <li><a href="#bit2str">bit2str</a> converts a bit string to a character string.</li>
    <li><a href="#lengthof">lengthof</a> returns an integer value indicating the number of bits in a string.</li>
  </ul>
  <li>The length of the bit string can be constrained using the keyword <a href="length.html"><b><font face="Courier New" color="#003258" size="4">length</font></b></a>.</li>
  <li>Another way to limit the permitted values of a bit string is <a href="#list">to list them</a>.</li>
</ul>
<p>Related keywords:</p>
<ul>
  <li><a href="bit2hex.html"><b><font face="Courier New" color="#003258" size="4">bit2hex</font></b></a></li>
  <li><a href="bit2int.html"><b><font face="Courier New" color="#003258" size="4">bit2int</font></b></a></li>
  <li><a href="bit2oct.html"><b><font face="Courier New" color="#003258" size="4">bit2oct</font></b></a></li>
  <li><a href="bit2str.html"><b><font face="Courier New" color="#003258" size="4">bit2str</font></b></a></li>
  <li><a href="hex2bit.html"><b><font face="Courier New" color="#003258" size="4">hex2bit</font></b></a></li>
  <li><a href="int2bit.html"><b><font face="Courier New" color="#003258" size="4">int2bit</font></b></a></li>
  <li><a href="length.html"><b><font face="Courier New" color="#003258" size="4">length</font></b></a></li>
  <li><a href="lengthof.html"><b><font face="Courier New" color="#003258" size="4">lengthof</font></b></a></li>
  <li><a href="oct2bit.html"><b><font face="Courier New" color="#003258" size="4">oct2bit</font></b></a></li>
  <li><a href="str2bit.html"><b><font face="Courier New" color="#003258" size="4">str2bit</font></b></a></li>
  <li><a href="substr.html"><b><font face="Courier New" color="#003258" size="4">substr</font></b></a></li>
  <li><a href="and4b.html"><b><font face="Courier New" color="#003258" size="4">and4bit</font></b></a></li>
  <li><a href="not4b.html"><b><font face="Courier New" color="#003258" size="4">not4bit</font></b></a></li>
  <li><a href="or4b.html"><b><font face="Courier New" color="#003258" size="4">or4bit</font></b></a></li>
  <li><a href="xor4b.html"><b><font face="Courier New" color="#003258" size="4">xor4bit</font></b></a></li>
</ul>
<hr align="left" width="50%">
<div align="center">
<center>
<table border="0" width="90%" bgcolor="#FFB599" cellpadding="4">
  <tr>
    <td width="100%">
    <h3 align="center"><font face="Courier New" color="#003258" size="5"><b>bitstring</b></font></h3>
    </td>
  </tr>
</table>
</center>
</div>
<hr align="left" width="50%">
<p><a name="double_quotation">Example 1</a>:
<p><font face="Courier New">const bitstring c_bitfolyam := '01001'B;<br>
</font>
<p>The constant defined is called c_bitfolyam and has the binary value 01001.</p>
<hr align="left" width="50%">
<p><a name="conversion">Example 2</a>:
<p><font face="Courier New">const bitstring c_whole := int2bit (112,8);<br>
</font>
<p>The constant called c_whole will contain the string 01110000 because the converted integer number (112 -&gt; 1110000) must be coded on 8 bits and therefore padded with a leading zero.</p>
<hr align="left" width="50%">
<p><a name="relation">Example 3</a>:
<p><font face="Courier New">const boolean c_vrai := ( c_bitfolyam != c_whole );<br>
</font>
<p>The constant c_vrai will have the value true, because two bit strings are not equal. The parentheses are optional.</p>
<hr align="left" width="50%">
<p><a name="concatenation">Example 4</a>:
<p><font face="Courier New">const bitstring c_stick := c_bitfolyam &amp; c_whole;<br>
</font>
<p>The constant c_stick will have the binary value 0100101110000.</p>
<hr align="left" width="50%">
<p><a name="array">Example 5</a>:
<p><font face="Courier New">const bitstring c_jediny := c_bitfolyam[1];<br>
</font>
<p>The constant called c_jediny will have the binary value 1.</p>
<hr align="left" width="50%">
<p><a name="vacuum">Example 6</a>:
<p><font face="Courier New">const bitstring c_inget := ''B;<br>
</font>
<p>The constant called c_inget will be an empty string.</p>
<hr align="left" width="50%">
<p><a name="bit2hex">Example 7a</a>:
<p><font face="Courier New">const hexstring c_ganz := bit2hex ('111010111'B);</font><br>
<p>The constant called c_ganz will have the hexadecimal value 1D7. The bit string is divided in groups of four starting from the right and converted to hexadecimal digits. When the last group has
less than four bits it will be padded with leading zeros</p>
<hr align="left" width="50%">
<p><a name="str2int">Example 7b</a>:
<p><font face="Courier New">const integer c_samostatny := bit2int ('1111111'B);<br>
</font>
<p>The constant called c_samostatny will have the integer value 127. The result will be always positive.</p>
<hr align="left" width="50%">
<p><a name="str2oct">Example 7c</a>:
<p><font face="Courier New">const octetstring c_tre := bit2oct ('101001011010'B);<br>
</font>
<p>The constant called c_tre will have the value '0A5A'O .</p>
<hr align="left" width="50%">
<p><a name="bit2str">Example 7d</a>:
<p><font face="Courier New">const charstring c_bokstaever := bit2str ('101001011010'B);<br>
</font>
<p>The constant called c_bokstaever will contain the string 101001011010 because the resulting character string has the same length as the bit string and contains only the characters '0' and '1'.</p>
<hr align="left" width="50%">
<p><a name="lengthof">Example 7e</a>:
<p><font face="Courier New">const integer c_longeur := lengthof ('01001011010'B);<br>
</font>
<p>The constant called c_longeur will have the value 11 corresponding to the number of bits in the string .</p>
<hr align="left" width="50%">
<p><a name="list">Example 8</a>:
<p><font face="Courier New">var bitstring c_zabradli ('1010'B,'11'B,'011'B );<br>
</font>
<p>The variable called c_zabradli may assume the binary values 1010, 11, 011 only.</p>
<hr align="left" width="50%">
<p><a name="rotate">Example 9</a>:&nbsp;</p>
<p><font face="Courier New">const bitstring c_bithinta := '100001'B @&gt; 2;<br>
</font>
<p>The constant called c_bithinta will hold the value '011000'B (the left operand rotated by two bits).&nbsp;</p>
<hr align="left" width="50%">
<p><a name="shift">Example 10</a>:</p>
<p><font face="Courier New">const bitstring c_slippery := '111001'B &lt;&lt; 2;<br>
</font>
<p>The constant called c_slippery will hold the value ''100100'B (the left operand shifted by two bits).</p>
<hr align="left" width="25%">
<hr align="left" width="25%">
<p align="left"><a HREF="BNF.html#bitstringkeyword">BNF definition</a> of <font face="Courier New">bitstring</font><br>
<a HREF="BNF.html#bitstringvalue">BNF definition</a> of bitstring value</p>
</body>
</html>