This file is indexed.

/usr/share/titan/help/info/universal.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
170
171
172
173
174
175
176
<!--
 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>universal</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="union.html"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
    <td><a href="unmap.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>universal</h1>
<hr align="left" width="75%">
<p><font face="Courier New"><b>universal</b></font> can only be used together with the keyword <font face="Courier New"><a href="charstring.html"><b>charstring</b></a></font> forming a single,
composed keyword.</p>
<p>The keyword <b><font face="Courier New">universal charstring</font></b> denotes a basic string type whose distinguished values are zero, one, or more characters from <a
  href="http://www.unicode.org/charts/" target="_blank">ISO/IEC 10646</a>.</p>
<ul>
  <li>Character string values are written between <a href="#double_quotation"> double quotes</a> (&quot; &quot;).</li>
  <li>A single universal character may be specified by its decimal code point using a <a href="#conversion">conversion function</a>..</li>
  <li>Another notation used for universal character strings is the quadruple form. (Cf. the keyword <b><font face="Courier New"><a href="char.html">char</a></font></b>)</li>
  <li>A <a href="#quotation_inside"> double quote inside character string</a> is represented by a pair of double quotes with no intervening space.</li>
  <li>The <a href="#relation">relational operators</a> equality (==) and non-equality (!=) can be used to compare values of two character strings</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>A <a href="#array"> single character</a> may be accessed using an array-like syntax. The leftmost character has the index zero.</li>
  <li>The character string may be <a href="#vacuum">empty</a>.</li>
  <li>Predefined functions operating on universal character strings:</li>
  <ul>
    <li><a href="#uchar2oct">unichar2oct</a> converts an <b><font face="Courier New">universal charstring</font></b> to an octet string.</li>
    <li><a href="#oct2uchar">oct2unichar</a> converts an octet string as an <b><font face="Courier New">universal charstring</font></b>.</li>
    <li><a href="#char2char">unichar2char</a> converts a single-character-length <b><font face="Courier New">universal charstring</font></b> into a charstring value.</li>
    <li><a href="#char2int">unichar2int</a> converts a single-character-length <b><font face="Courier New">universal charstring</font></b> into an integer value in the range of 0 … 2 147 483 647. The integer value describes the 32-bit encoding of the character.</li>
    <li><a href="#lengthof">lengthof</a> returns an integer value indicating the number of characters in a string.</li>
  </ul>
  <li>The length of the universal character 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>The <a href="#range">range of the permitted characters</a> may be specified.</li>
  <li>Another way to limit the permitted values of a universal character string is <a href="#list">to list them</a>.</li>
</ul>
<p>Related keywords:</p>
<ul>
  <li><a href="char.html"><b><font face="Courier New" color="#003258" size="4">char</font></b></a></li>
  <li><a href="charstring.html"><b><font face="Courier New" color="#003258" size="4">charstring</font></b></a></li>
  <li><a href="int2unichar.html"><b><font face="Courier New" color="#003258" size="4">int2unichar</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="unichar2char.html"><b><font face="Courier New" color="#003258" size="4">unichar2char</font></b></a></li>
  <li><a href="unichar2int.html"><b><font face="Courier New" color="#003258" size="4">unichar2int</font></b></a></li>
  <li><a href="unichar2oct.html"><b><font face="Courier New" color="#003258" size="4">unichar2oct</font></b></a></li>
  <li><a href="oct2unichar.html"><b><font face="Courier New" color="#003258" size="4">oct2unichar</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>universal charstring</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 universal charstring c_kordo := &quot;&#x0109;irka&#x016D;&#x0135;o&quot;;<br>
</font>
<p>The constant defined is called c_kordo and has the value &#x0109;irka&#x016D;&#x0135;o</p>
<hr align="left" width="50%">
<p><a name="conversion">Example 1a</a>:
<p><font face="Courier New">const universal charstring c_ukrouzek := int2unichar (367);<br>
</font>
<p>The constant called c_ukrouzek will contain the Czech letter &#367;</p>
<hr align="left" width="50%">
<p><a name="quotation_inside">Example 2</a>:
<p><font face="Courier New">const universal charstring c_leet := &quot;être:&quot;&quot;&quot;;<br>
</font>
<p>The constant defined is called c_leet and has the value être:&quot;</p>
<hr align="left" width="50%">
<p><a name="relation">Example 3</a>:
<p><font face="Courier New">const boolean c_baade := ( c_kordo == c_leet );<br>
</font>
<p>The constant c_baade&nbsp; will have the value false, because two character strings are equal only if they have equal lengths and the characters at all positions are the same. The parantheses
are optional.</p>
<hr align="left" width="50%">
<p><a name="concatenation">Example 4</a>:
<p><font face="Courier New">const charstring c_gluo := c_kordo &amp; c_ukrouzek &amp; c_ukrouzek &amp; c_ukrouzek;<br>
</font>
<p>The constant c_gluo will contain the string &#x0109;irka&#x016D;&#x0135;o&#367;&#367;&#367;</p>
<hr align="left" width="50%">
<p><a name="array">Example 5</a>:
<p><font face="Courier New">const universal charstring c_circonflex := c_leet[0];<br>
</font>
<p>The constant called c_circonflex will contain a single element with the value ê.</p>
<hr align="left" width="50%">
<p><a name="vacuum">Example 6</a>:
<p><font face="Courier New">const universal charstring c_vakuo := &quot;&quot;;<br>
</font>
<p>The constant called c_vakuo will be an empty string.</p>
<hr align="left" width="50%">
<p><a name="char2char">Example 7a</a>:
<p><font face="Courier New">const charstring c_siffra := unichar2char(char(0,0,0,64));<br>
</font>
<p>The constant called c_siffra will have the charstring value "@".</p>
<hr align="left" width="50%">
<p><a name="char2int">Example 7b</a>:
<p><font face="Courier New">const integer c_siffra := unichar2int(&quot;é&quot;);<br>
</font>
<p>The constant called c_siffra will have the integer value 130.</p>
<p><font face="Courier New">const integer c_siffra1 := unichar2int(char(127,255,255,255));<br>
</font>
<p>The constant called c_siffra will have the integer value 2 147 483 647.</p>
<hr align="left" width="50%">

<p><a name="lengthof">Example 7c</a>:
<p><font face="Courier New">const integer c_longeur := lengthof(c_kordo);<br>
</font>
<p>The constant called c_longeur will have the value 8 corresponding to the number of characters in the string .</p>
<hr align="left" width="50%">
<p><a name="uchar2oct">Example 7d</a>:
<p><font face="Courier New">const integer c_ostr := unichar2oct(&quot;ÄÖÜäöü&quot;);<br>
</font>
<p>The constant called c_ostr will have the value 'EFBBBFC384C396C39CC3A4C3B6C3BC'O.</p>
<hr align="left" width="50%">
<p><a name="oct2uchar">Example 7e</a>:
<p><font face="Courier New">const integer c_ustr := oct2unichar('C384C396C39CC3A4C3B6C3BC'O);<br>
</font>
<p>The constant called c_ustr will have the value &quot;ÄÖÜäöü&quot;</p>
<hr align="left" width="50%">
<p><a name="list">Example 8</a>:
<p><font face="Courier New">var universal charstring c_een(char(0,0,0,129));<br>
</font>
<p>The variable called c_een may hold only the character &quot;ü&quot;.</p>
<hr align="left" width="50%">
<p><a name="rotate">Example 9</a>:&nbsp;</p>
<p><font face="Courier New">const universal charstring c_merry := &quot;ábcdéfg&quot; &lt;@ 3;<br>
</font>
<p>The constant called c_merry will hold the value&quot;défgábc&quot; (the left operand rotated by three characters) .&nbsp;</p>
<hr align="left" width="50%">
<p><a name="range">Example 10</a>:
<p><font face="Courier New">var universal charstring v_spannung((char(0, 0, 0, 67) .. char(0, 0, 0, 69));<br>
</font>
<p>The variable v_spannung may have the following values: &quot;c&quot;, &quot;d&quot;, &quot;e&quot;.</p>
<hr align="left" width="25%">
<p align="left"><a HREF="BNF.html#universalkeyword">BNF definition</a> of <font face="Courier New">universal</font><br>
<a HREF="BNF.html#charstringvalue">BNF definition</a> of universal charstring value</p>
<hr align="left" width="25%">
</body>
</html>