/usr/share/titan/help/info/charstring.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 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 | <!--
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>charstring</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="char2oct.html"><img border="0" src="../images/left.jpg" width="53" height="40"></a></td>
<td><a href="check.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>charstring</h1>
<hr align="left" width="75%">
<p>The keyword <b><font face="Courier New"> charstring</font></b> denotes a basic string type whose distinguished values are the ordered sequences of characters of <a
href="http://en.wikipedia.org/wiki/ISO_646" target="_blank">ISO/IEC 646</a> International Reference Version (IRV) â formerly International Alphabet No.5 (IA5) described in ITU-T Recommendation T.50.</p>
<ul>
<li>Character string values are written between <a href="#double_quotation"> double quotes</a> (" ").</li>
<li>A single character may be specified by its decimal code point using a <a href="#conversion">conversion function</a>.</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 (<@) and rotate right (@>) operations.</li>
<li>The <a href="#concatenation"> concatenation operator</a> (&) 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 character strings:</li>
<ul>
<li><a href="#char2int">char2int</a> converts a single character into an integer value in the range of 1 ⦠127 corresponding to code point of the character.</li>
<li><a href="#str2float">str2float</a> converts a character string representing an floating point value to the equivalent float value.</li>
<li><a href="#str2int">str2int</a> converts a character string representing an integer value to the equivalent integer.</li>
<li><a href="#str2oct">str2oct</a> converts a character string value to an octet string.</li>
<li><a href="#lengthof">lengthof</a> returns an integer value indicating the number of characters in a string.</li>
</ul>
</ul>
<table border="0" width="100%" bgcolor="#C9C2BB" cellpadding="4">
<tr>
<td width="100%">
<p> <u>TITAN specific extensions to the standard:</u></p>
<ul>
<ul>
<li><a href="#oct2char">char2oct</a> converts a character string value to an octet string.</li>
<li><a href="#str2bit">str2bit</a> converts a character string value to a bit string, where each character represents the value of one bit in the resulting bit string.</li>
<li><a href="#str2hex">str2hex</a> converts a character string value to a hexadecimal string.</li>
</ul>
</ul>
</td>
</tr>
</table>
<ul>
<li>The length of the 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 character string is <a href="#list">to list them</a>.</li>
</ul>
<p>Related keywords:</p>
<ul>
<li><a href="bit2str.html"><b><font face="Courier New" color="#003258" size="4">bit2str</font></b></a></li>
<li><a href="char2int.html"><b><font face="Courier New" color="#003258" size="4">char2int</font></b></a></li>
<li><a href="char2oct.html"><b><font face="Courier New" color="#003258" size="4">char2oct</font></b></a></li>
<li><a href="float2str.html"><b><font face="Courier New" color="#003258" size="4">float2str</font></b></a></li>
<li><a href="hex2str.html"><b><font face="Courier New" color="#003258" size="4">hex2str</font></b></a></li>
<li><a href="int2char.html"><b><font face="Courier New" color="#003258" size="4">int2char</font></b></a></li>
<li><a href="int2str.html"><b><font face="Courier New" color="#003258" size="4">int2str</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="oct2char.html"><b><font face="Courier New" color="#003258" size="4">oct2char</font></b></a></li>
<li><a href="oct2str.html"><b><font face="Courier New" color="#003258" size="4">oct2str</font></b></a></li>
<li><a href="regexp.html"><b><font face="Courier New" color="#003258" size="4">regexp</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="str2float.html"><b><font face="Courier New" color="#003258" size="4">str2float</font></b></a></li>
<li><a href="str2hex.html"><b><font face="Courier New" color="#003258" size="4">str2hex</font></b></a></li>
<li><a href="str2int.html"><b><font face="Courier New" color="#003258" size="4">str2int</font></b></a></li>
<li><a href="str2oct.html"><b><font face="Courier New" color="#003258" size="4">str2oct</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="unichar2int.html"><b><font face="Courier New" color="#003258" size="4">unichar2int</font></b></a></li>
<li><a href="universal.html"><b><font face="Courier New" color="#003258" size="4">universal</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>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 charstring c_fuezeer := "AazZ";<br>
</font>
<p>The constant defined is called c_fuezeer and has the value AazZ.</p>
<hr align="left" width="50%">
<p><a name="conversion">Example 1a</a>:
<p><font face="Courier New">const charstring c_veve := int2char (119);<br>
</font>
<p>The constant called c_veve will contain the letter w</p>
<hr align="left" width="50%">
<p><a name="quotation_inside">Example 2</a>:
<p><font face="Courier New">const charstring c_ideezoe := "Citationstecken:""";<br>
</font>
<p>The constant defined is called c_ideezo and has the value Citationstecken:".</p>
<hr align="left" width="50%">
<p><a name="relation">Example 3</a>:
<p><font face="Courier New">const boolean c_saluton := ( c_fuezeer == c_ideezoe );<br>
</font>
<p>The constant c_saluton 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_lepidlo := c_fuezeer & c_ideezoe;<br>
</font>
<p>The constant c_lepidlo will have the value AazZCitationstecken:".</p>
<hr align="left" width="50%">
<p><a name="array">Example 5</a>:
<p><font face="Courier New">const charstring c_elem := c_fuezeer[2];<br>
</font>
<p>The constant called c_elem will consist of of a single element with the value z.</p>
<hr align="left" width="50%">
<p><a name="vacuum">Example 6</a>:
<p><font face="Courier New">const charstring c_vacuum := "";<br>
</font>
<p>The constant called c_vacuum will be an empty string.</p>
<hr align="left" width="50%">
<p><a name="char2int">Example 7a</a>:
<p><font face="Courier New">const integer c_siffra := char2int ("@");<br>
</font>
<p>The constant called c_siffror will have the integer value 64.</p>
<hr align="left" width="50%">
<p><a name="str2float">Example 7b</a>:
<p><font face="Courier New">const integer c_ziffer := str2float ("+123.456E+02");<br>
</font>
<p>The constant called c_ziffer will have the floating point value 12345.6.</p>
<hr align="left" width="50%">
<p><a name="str2int">Example 7c</a>:
<p><font face="Courier New">const integer c_siffra := str2int ("-66");<br>
</font>
<p>The constant called c_siffra will have the integer value -66.</p>
<hr align="left" width="50%">
<p><a name="str2oct">Example 7d</a>:
<p><font face="Courier New">const octetstring c_duebel := str2oct ("Tinky-Winky");<br>
</font>
<p>The constant called c_duebel will have the value '54696E6B792D57696E6B79'O .</p>
<hr align="left" width="50%">
<p><a name="lengthof">Example 7e</a>:
<p><font face="Courier New">const integer c_longeco := lengthof ("pentristino");<br>
</font>
<p>The constant called c_longeco will have the value 11 corresponding to the number of characters in the string .</p>
<hr align="left" width="50%">
<p><a name="oct2char">Example 7f</a>:
<p><font face="Courier New">const octetstring c_deposed := char2oct ("Tinky-Winky"); <br>
</font>
<p>The constant called c_deposed will contain the octet string â54696E6B792D57696E6B79âO because the resulting octet string will have the same length as the incoming character string. The octets
of the octet string will contain the ASCII codes of the appropriate characters of the character string.</p>
<hr align="left" width="50%">
<p><a name="str2bit">Example 7g</a></p>
<p><font face="Courier New">const bitstring c_marque := str2bit ("1011011100");<br>
</font>
<p>The constant called c_marque will contain the bit string â1011011100âB because each character represents the value of one bit in the resulting bit string. Its argument may contain the
characters â0â or â1â only, otherwise the result is a dynamic test case error.</p>
<hr align="left" width="50%">
<p><a name="str2hex">Example 7h</a></p>
<p><font face="Courier New">const hexstring c_jesien := str2hex ("1D7"); <br>
</font>
<p>The constant called c_jesien will contain the hexadecimal string â1D7âH because each character in the character string represents the value of one hexadecimal digit in the resulting
hexadecimal string in the same order.</p>
<hr align="left" width="50%">
<p><a name="list">Example 8</a>:
<p><font face="Courier New">var charstring v_schranke ("F", "f");<br>
</font>
<p>The variable called v_schranke may hold the characters "F" and "f" only .</p>
<hr align="left" width="50%">
<p><a name="rotate">Example 9</a>: </p>
<p><font face="Courier New">const charstring c_ringlspiel := "abcdefg" <@ 3;<br>
</font>
<p>The constant called c_ringlspiel will hold the value"defgabc" (the left operand rotated by three characters). </p>
<hr align="left" width="50%">
<p><a name="range">Example 10</a>:
<p><font face="Courier New">var charstring v_span ("c" .. "e");<br>
</font>
<p>The variable v_span may have the following values: "c", "d", "e".</p>
<hr align="left" width="25%">
<hr align="left" width="25%">
<p align="left"><a HREF="BNF.html#charstringkeyword">BNF definition</a> of <font face="Courier New">charstring</font><br>
<a HREF="BNF.html#cstring">BNF definition</a> of charstring value</p>
</body>
</html>
|