• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml">
3<head>
4<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
5<title>libmangle: src/m_token.h File Reference</title>
6<link href="tabs.css" rel="stylesheet" type="text/css"/>
7<link href="doxygen.css" rel="stylesheet" type="text/css"/>
8</head>
9<body>
10<!-- Generated by Doxygen 1.6.1 -->
11<div class="navigation" id="top">
12  <div class="tabs">
13    <ul>
14      <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
15      <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
16      <li class="current"><a href="files.html"><span>Files</span></a></li>
17    </ul>
18  </div>
19  <div class="tabs">
20    <ul>
21      <li><a href="files.html"><span>File&nbsp;List</span></a></li>
22      <li><a href="globals.html"><span>Globals</span></a></li>
23    </ul>
24  </div>
25</div>
26<div class="contents">
27<h1>src/m_token.h File Reference</h1>
28<p><a href="m__token_8h_source.html">Go to the source code of this file.</a></p>
29<table border="0" cellpadding="0" cellspacing="0">
30<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
31<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_gc_elem.html">sGcElem</a></td></tr>
32<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a></td></tr>
33<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token__base.html">sMToken_base</a></td></tr>
34<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token__value.html">sMToken_value</a></td></tr>
35<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token__name.html">sMToken_name</a></td></tr>
36<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token__dim.html">sMToken_dim</a></td></tr>
37<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token___unary.html">sMToken_Unary</a></td></tr>
38<tr><td class="memItemLeft" align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structs_m_token__binary.html">sMToken_binary</a></td></tr>
39<tr><td class="memItemLeft" align="right" valign="top">union &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="unionu_m_token.html">uMToken</a></td></tr>
40<tr><td colspan="2"><h2>Defines</h2></td></tr>
41<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a9c7f6053956c20047da91268be3e6a47">MTOKEN_KIND</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;base.kind)</td></tr>
42<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a5753385eac52aad6be25ae37f0ea5d6a">MTOKEN_SUBKIND</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;base.subkind)</td></tr>
43<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a22776018ac7fe7e7c0aa47cfe5f473a8">MTOKEN_CHAIN</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;base.chain)</td></tr>
44<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ac080f6582086796b1ede7f1f65ae9fcf">MTOKEN_FLAGS</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;base.flags)</td></tr>
45<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a1163ae872e9f50ddae2aeb936fc4d5e6">MTOKEN_FLAGS_UDC</a>&nbsp;&nbsp;&nbsp;0x1</td></tr>
46<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#adde521240f7b6401ffb3954772cfdb30">MTOKEN_FLAGS_NOTE</a>&nbsp;&nbsp;&nbsp;0x2</td></tr>
47<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#aa5b2060375f2aa1caa8995fb9e3fe8c2">MTOKEN_FLAGS_PTRREF</a>&nbsp;&nbsp;&nbsp;0x4</td></tr>
48<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a707505a9dd27394e28326b9e24b8a0e4">MTOKEN_FLAGS_ARRAY</a>&nbsp;&nbsp;&nbsp;0x8</td></tr>
49<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a0d7b7e44c99e08fe263ea15190ceeee1">MTOKEN_VALUE</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;value.value)</td></tr>
50<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a92051c626009297e17ff622b77e809f7">MTOKEN_VALUE_SIGNED</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;value.is_signed)</td></tr>
51<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a0912420c7697d7824cb9ce3761e999ac">MTOKEN_VALUE_SIZE</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;value.size)</td></tr>
52<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ae3b0c2bd397aa5acede119bad863c8f8">MTOKEN_NAME</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;name.name)</td></tr>
53<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a519b6bd0fb1c60d1077842bddeb731c0">MTOKEN_DIM_VALUE</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.value)</td></tr>
54<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a5ded8e065363aa57a8c5ecb0e4b3a0f7">MTOKEN_DIM_NTTP</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.non_tt_param)</td></tr>
55<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#abe961c81235d1d263052dd61439dbcf3">MTOKEN_DIM_NEGATE</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.beNegate)</td></tr>
56<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a362970fb206c74f30355356570000221">MTOKEN_UNARY</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;unary.unary)</td></tr>
57<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ae7a7881952af6eea195152209a4166d8">MTOKEN_BINARY_LEFT</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;binary.left)</td></tr>
58<tr><td class="memItemLeft" align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a158648c39041985090c587f092b38316">MTOKEN_BINARY_RIGHT</a>(PT)&nbsp;&nbsp;&nbsp;((PT)-&gt;binary.right)</td></tr>
59<tr><td colspan="2"><h2>Enumerations</h2></td></tr>
60<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a> { <br/>
61&nbsp;&nbsp;<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebdaab5d1cb176ec018a7dd2e1debed34b98">eMToken_none</a> =  0,
62<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda8e367c0d5a2c127b0f1ae55573e92fcd">eMToken_value</a> =  1,
63<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebdae4b3f564d86b8e05792093eceba0612e">eMToken_name</a> =  2,
64<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda7cb7b1dd2515e39563cac546fb6ab68c">eMToken_dim</a> =  3,
65<br/>
66&nbsp;&nbsp;<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda22e1257761823f14db1c71ae94e7af8b">eMToken_unary</a> =  4,
67<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda9e20893db7dcbd0e2173b4f559cbb363">eMToken_binary</a> =  5,
68<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda66baeee525a866cdabe57f4e248b0f1a">eMToken_MAX</a>
69<br/>
70 }</td></tr>
71<tr><td class="memItemLeft" align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> { <br/>
72&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321aeba2165312b4788cea28a9edd3011eb1">eMST_unmangled</a> =  0,
73<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ace877760d7bed370bfdd6570130878bc">eMST_nttp</a> =  1,
74<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321aab3ff1160a7b9f50b2734b0263482589">eMST_name</a> =  2,
75<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a92a6f2d7b92b576b9b64565f40cb8267">eMST_colon</a> =  3,
76<br/>
77&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321adc536c03cd872d606af6a4749c7a84e8">eMST_rtti</a> =  4,
78<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a35df6016f35b2a5e8df1d01f477f9e17">eMST_cv</a> =  5,
79<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321aacf994772d1d924f2213dfd8d224b1fe">eMST_vftable</a> =  6,
80<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321adc20bcf98832c814c92709447c1db811">eMST_vbtable</a> =  7,
81<br/>
82&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a9d8acdbf8ea203bad5af3728e8ee5e43">eMST_vcall</a> =  8,
83<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a56c4f2ba212e690d3862736cefc9e9d1">eMST_opname</a> =  9,
84<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a02c0ba2ae316a629377149299fa60732">eMST_templargname</a> =  10,
85<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a1c6d0872377629404a837b33093e4c20">eMST_type</a> =  11,
86<br/>
87&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a7d3878378f218ed88b37f69ccc8b212a">eMST_dim</a>,
88<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321af0a43b0c61ff4f5379159b46e21ca8c1">eMST_val</a>,
89<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a0f681303ab234dbd4f348e4f4ca2d3fb">eMST_gcarray</a>,
90<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a795ccccfc527f0ab6cfe6c372c47cbe6">eMST_slashed</a>,
91<br/>
92&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ac94af9ef7756a7c82213991ed795600a">eMST_array</a>,
93<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a376aea6022acbe69f38de3c9ea784484">eMST_element</a>,
94<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321afcc464362c6d0c42ce707a51a7fbb9ae">eMST_template_argument_list</a>,
95<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ad08a86d5932f63c1a505083332ba1f2b">eMST_ltgt</a>,
96<br/>
97&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ac7455cb6f9f1dc1c495178075f5e617f">eMST_frame</a>,
98<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ae1a781af8dddef1a996e911152071d2f">eMST_throw</a>,
99<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a6726a799efbe0d2d722fc83e3a04ca05">eMST_rframe</a>,
100<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ab87ff64219a845b0674207f9352895ee">eMST_destructor</a>,
101<br/>
102&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a04c4d8922a43196bcbf80ef96ad3c5f8">eMST_oper</a>,
103<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a17a05df86d0d2e85f841baaccc2ca5c2">eMST_colonarray</a>,
104<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ae271da23693826e5cacab27fd56779dc">eMST_lexical_frame</a>,
105<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a4c46333751fc7ce9d5e6e89e82abeef4">eMST_scope</a>,
106<br/>
107&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a3f4d325424d8fd3976f2dfb834cd145d">eMST_udt_returning</a>,
108<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a90545698adebd8bbce09897217bd9695">eMST_coloncolon</a>,
109<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a921c684ed8d84a713967491a27abc903">eMST_assign</a>,
110<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321afa6fba3d6a855d55277e3a8b74f4cb16">eMST_templateparam</a>,
111<br/>
112&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321acf92fa1bb19698734ba3e697b96ce9e5">eMST_nonetypetemplateparam</a>,
113<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321af8e71df660ac1c8cf469ca3ddbbd0477">eMST_exp</a>,
114<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321ae947463010b4b392684e86e14337d61b">eMST_combine</a>,
115<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321acc1c13446a5ec298703df9bd94c6f20e">eMST_ecsu</a>,
116<br/>
117&nbsp;&nbsp;<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321a7d78963c03a17b55f921b31419f83d56">eMST_based</a>
118<br/>
119 }</td></tr>
120<tr><td colspan="2"><h2>Functions</h2></td></tr>
121<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#abeb019f98a7616488287af32a6f9e51b">libmangle_gen_tok</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a> kind, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> subkind, size_t addend)</td></tr>
122<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc)</td></tr>
123<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a54257a43469abe9c5f9556a1913bbf2f">libmangle_generate_gc</a> (void)</td></tr>
124<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a50ef074a3d1cf22f842abd4df7081743">chain_tok</a> (<a class="el" href="unionu_m_token.html">uMToken</a> *l, <a class="el" href="unionu_m_token.html">uMToken</a> *add)</td></tr>
125<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#abf3eb472b66b477d0165a31437d35c09">libmangle_dump_tok</a> (FILE *fp, <a class="el" href="unionu_m_token.html">uMToken</a> *p)</td></tr>
126<tr><td class="memItemLeft" align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a278a5859cf0ffb4e32fd2ad4cb2584de">libmangle_print_decl</a> (FILE *fp, <a class="el" href="unionu_m_token.html">uMToken</a> *p)</td></tr>
127<tr><td class="memItemLeft" align="right" valign="top">char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ac0f7cf41cc7c3e9c57dd94ed318dd5a4">libmangle_sprint_decl</a> (<a class="el" href="unionu_m_token.html">uMToken</a> *r)</td></tr>
128<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a5e98df3f83afcc6e9e1f079091c0e567">gen_value</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, uint64_t val, int is_signed, int size)</td></tr>
129<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#ac1a6fe5d506c4fd78650742da8d9e669">gen_name</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, const char *name)</td></tr>
130<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#aced2d2323162ca5846cdb13d631169d6">gen_dim</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, uint64_t val, const char *non_tt_param, int fSigned, int fNegate)</td></tr>
131<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a8c630a1c57e3d4f5009448af0d43fbb8">gen_unary</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, <a class="el" href="unionu_m_token.html">uMToken</a> *un)</td></tr>
132<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="m__token_8h.html#a0deb555c3210a60f0b5189ae462ed620">gen_binary</a> (<a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *gc, enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> skind, <a class="el" href="unionu_m_token.html">uMToken</a> *l, <a class="el" href="unionu_m_token.html">uMToken</a> *r)</td></tr>
133</table>
134<hr/><h2>Define Documentation</h2>
135<a class="anchor" id="ae7a7881952af6eea195152209a4166d8"></a><!-- doxytag: member="m_token.h::MTOKEN_BINARY_LEFT" ref="ae7a7881952af6eea195152209a4166d8" args="(PT)" -->
136<div class="memitem">
137<div class="memproto">
138      <table class="memname">
139        <tr>
140          <td class="memname">#define MTOKEN_BINARY_LEFT</td>
141          <td>(</td>
142          <td class="paramtype">PT&nbsp;</td>
143          <td class="paramname"></td>
144          <td>&nbsp;)&nbsp;</td>
145          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;binary.left)</td>
146        </tr>
147      </table>
148</div>
149<div class="memdoc">
150<p>Sets the left node on binary token, <em>PT</em> pointer to a binary <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
151
152</div>
153</div>
154<a class="anchor" id="a158648c39041985090c587f092b38316"></a><!-- doxytag: member="m_token.h::MTOKEN_BINARY_RIGHT" ref="a158648c39041985090c587f092b38316" args="(PT)" -->
155<div class="memitem">
156<div class="memproto">
157      <table class="memname">
158        <tr>
159          <td class="memname">#define MTOKEN_BINARY_RIGHT</td>
160          <td>(</td>
161          <td class="paramtype">PT&nbsp;</td>
162          <td class="paramname"></td>
163          <td>&nbsp;)&nbsp;</td>
164          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;binary.right)</td>
165        </tr>
166      </table>
167</div>
168<div class="memdoc">
169<p>Sets the right node on binary token, <em>PT</em> pointer to a binary <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
170
171</div>
172</div>
173<a class="anchor" id="a22776018ac7fe7e7c0aa47cfe5f473a8"></a><!-- doxytag: member="m_token.h::MTOKEN_CHAIN" ref="a22776018ac7fe7e7c0aa47cfe5f473a8" args="(PT)" -->
174<div class="memitem">
175<div class="memproto">
176      <table class="memname">
177        <tr>
178          <td class="memname">#define MTOKEN_CHAIN</td>
179          <td>(</td>
180          <td class="paramtype">PT&nbsp;</td>
181          <td class="paramname"></td>
182          <td>&nbsp;)&nbsp;</td>
183          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;base.chain)</td>
184        </tr>
185      </table>
186</div>
187<div class="memdoc">
188<p>Sets the pointer to the next token in the chain. </p>
189
190</div>
191</div>
192<a class="anchor" id="abe961c81235d1d263052dd61439dbcf3"></a><!-- doxytag: member="m_token.h::MTOKEN_DIM_NEGATE" ref="abe961c81235d1d263052dd61439dbcf3" args="(PT)" -->
193<div class="memitem">
194<div class="memproto">
195      <table class="memname">
196        <tr>
197          <td class="memname">#define MTOKEN_DIM_NEGATE</td>
198          <td>(</td>
199          <td class="paramtype">PT&nbsp;</td>
200          <td class="paramname"></td>
201          <td>&nbsp;)&nbsp;</td>
202          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.beNegate)</td>
203        </tr>
204      </table>
205</div>
206<div class="memdoc">
207<p>Retrieve or set negative bit on value token, <em>PT</em> pointer to an generic <a class="el" href="unionu_m_token.html">uMToken</a> </p>
208
209</div>
210</div>
211<a class="anchor" id="a5ded8e065363aa57a8c5ecb0e4b3a0f7"></a><!-- doxytag: member="m_token.h::MTOKEN_DIM_NTTP" ref="a5ded8e065363aa57a8c5ecb0e4b3a0f7" args="(PT)" -->
212<div class="memitem">
213<div class="memproto">
214      <table class="memname">
215        <tr>
216          <td class="memname">#define MTOKEN_DIM_NTTP</td>
217          <td>(</td>
218          <td class="paramtype">PT&nbsp;</td>
219          <td class="paramname"></td>
220          <td>&nbsp;)&nbsp;</td>
221          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.non_tt_param)</td>
222        </tr>
223      </table>
224</div>
225<div class="memdoc">
226<p>Retrieve or set the template of a token, <em>PT</em> pointer to a name <a class="el" href="unionu_m_token.html">uMToken</a> </p>
227
228</div>
229</div>
230<a class="anchor" id="a519b6bd0fb1c60d1077842bddeb731c0"></a><!-- doxytag: member="m_token.h::MTOKEN_DIM_VALUE" ref="a519b6bd0fb1c60d1077842bddeb731c0" args="(PT)" -->
231<div class="memitem">
232<div class="memproto">
233      <table class="memname">
234        <tr>
235          <td class="memname">#define MTOKEN_DIM_VALUE</td>
236          <td>(</td>
237          <td class="paramtype">PT&nbsp;</td>
238          <td class="paramname"></td>
239          <td>&nbsp;)&nbsp;</td>
240          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;dim.value)</td>
241        </tr>
242      </table>
243</div>
244<div class="memdoc">
245<p>Retrieve or set the value of a token, <em>PT</em> pointer to a value <a class="el" href="unionu_m_token.html">uMToken</a> </p>
246
247</div>
248</div>
249<a class="anchor" id="ac080f6582086796b1ede7f1f65ae9fcf"></a><!-- doxytag: member="m_token.h::MTOKEN_FLAGS" ref="ac080f6582086796b1ede7f1f65ae9fcf" args="(PT)" -->
250<div class="memitem">
251<div class="memproto">
252      <table class="memname">
253        <tr>
254          <td class="memname">#define MTOKEN_FLAGS</td>
255          <td>(</td>
256          <td class="paramtype">PT&nbsp;</td>
257          <td class="paramname"></td>
258          <td>&nbsp;)&nbsp;</td>
259          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;base.flags)</td>
260        </tr>
261      </table>
262</div>
263<div class="memdoc">
264<p>Sets flags in base descriptor. </p>
265
266</div>
267</div>
268<a class="anchor" id="a707505a9dd27394e28326b9e24b8a0e4"></a><!-- doxytag: member="m_token.h::MTOKEN_FLAGS_ARRAY" ref="a707505a9dd27394e28326b9e24b8a0e4" args="" -->
269<div class="memitem">
270<div class="memproto">
271      <table class="memname">
272        <tr>
273          <td class="memname">#define MTOKEN_FLAGS_ARRAY&nbsp;&nbsp;&nbsp;0x8</td>
274        </tr>
275      </table>
276</div>
277<div class="memdoc">
278<p>Decoded fragment has an array-like expression. </p>
279
280</div>
281</div>
282<a class="anchor" id="adde521240f7b6401ffb3954772cfdb30"></a><!-- doxytag: member="m_token.h::MTOKEN_FLAGS_NOTE" ref="adde521240f7b6401ffb3954772cfdb30" args="" -->
283<div class="memitem">
284<div class="memproto">
285      <table class="memname">
286        <tr>
287          <td class="memname">#define MTOKEN_FLAGS_NOTE&nbsp;&nbsp;&nbsp;0x2</td>
288        </tr>
289      </table>
290</div>
291<div class="memdoc">
292<p>Contains "note" name token. </p>
293
294</div>
295</div>
296<a class="anchor" id="aa5b2060375f2aa1caa8995fb9e3fe8c2"></a><!-- doxytag: member="m_token.h::MTOKEN_FLAGS_PTRREF" ref="aa5b2060375f2aa1caa8995fb9e3fe8c2" args="" -->
297<div class="memitem">
298<div class="memproto">
299      <table class="memname">
300        <tr>
301          <td class="memname">#define MTOKEN_FLAGS_PTRREF&nbsp;&nbsp;&nbsp;0x4</td>
302        </tr>
303      </table>
304</div>
305<div class="memdoc">
306<p>Decoded fragment is a referrence. </p>
307
308</div>
309</div>
310<a class="anchor" id="a1163ae872e9f50ddae2aeb936fc4d5e6"></a><!-- doxytag: member="m_token.h::MTOKEN_FLAGS_UDC" ref="a1163ae872e9f50ddae2aeb936fc4d5e6" args="" -->
311<div class="memitem">
312<div class="memproto">
313      <table class="memname">
314        <tr>
315          <td class="memname">#define MTOKEN_FLAGS_UDC&nbsp;&nbsp;&nbsp;0x1</td>
316        </tr>
317      </table>
318</div>
319<div class="memdoc">
320<p>Indicates a following "name" token for named struct/union/class. </p>
321
322</div>
323</div>
324<a class="anchor" id="a9c7f6053956c20047da91268be3e6a47"></a><!-- doxytag: member="m_token.h::MTOKEN_KIND" ref="a9c7f6053956c20047da91268be3e6a47" args="(PT)" -->
325<div class="memitem">
326<div class="memproto">
327      <table class="memname">
328        <tr>
329          <td class="memname">#define MTOKEN_KIND</td>
330          <td>(</td>
331          <td class="paramtype">PT&nbsp;</td>
332          <td class="paramname"></td>
333          <td>&nbsp;)&nbsp;</td>
334          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;base.kind)</td>
335        </tr>
336      </table>
337</div>
338<div class="memdoc">
339<p>Sets the token kind, <em>PT</em> pointer to a base <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
340
341</div>
342</div>
343<a class="anchor" id="ae3b0c2bd397aa5acede119bad863c8f8"></a><!-- doxytag: member="m_token.h::MTOKEN_NAME" ref="ae3b0c2bd397aa5acede119bad863c8f8" args="(PT)" -->
344<div class="memitem">
345<div class="memproto">
346      <table class="memname">
347        <tr>
348          <td class="memname">#define MTOKEN_NAME</td>
349          <td>(</td>
350          <td class="paramtype">PT&nbsp;</td>
351          <td class="paramname"></td>
352          <td>&nbsp;)&nbsp;</td>
353          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;name.name)</td>
354        </tr>
355      </table>
356</div>
357<div class="memdoc">
358<p>Retrieve or set the name string, <em>PT</em> pointer to a name <a class="el" href="unionu_m_token.html">uMToken</a> </p>
359
360</div>
361</div>
362<a class="anchor" id="a5753385eac52aad6be25ae37f0ea5d6a"></a><!-- doxytag: member="m_token.h::MTOKEN_SUBKIND" ref="a5753385eac52aad6be25ae37f0ea5d6a" args="(PT)" -->
363<div class="memitem">
364<div class="memproto">
365      <table class="memname">
366        <tr>
367          <td class="memname">#define MTOKEN_SUBKIND</td>
368          <td>(</td>
369          <td class="paramtype">PT&nbsp;</td>
370          <td class="paramname"></td>
371          <td>&nbsp;)&nbsp;</td>
372          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;base.subkind)</td>
373        </tr>
374      </table>
375</div>
376<div class="memdoc">
377<p>Sets the token subkind, <em>PT</em> pointer to a base <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
378
379</div>
380</div>
381<a class="anchor" id="a362970fb206c74f30355356570000221"></a><!-- doxytag: member="m_token.h::MTOKEN_UNARY" ref="a362970fb206c74f30355356570000221" args="(PT)" -->
382<div class="memitem">
383<div class="memproto">
384      <table class="memname">
385        <tr>
386          <td class="memname">#define MTOKEN_UNARY</td>
387          <td>(</td>
388          <td class="paramtype">PT&nbsp;</td>
389          <td class="paramname"></td>
390          <td>&nbsp;)&nbsp;</td>
391          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;unary.unary)</td>
392        </tr>
393      </table>
394</div>
395<div class="memdoc">
396<p>Sets the leaf element on a unary token, <em>PT</em> pointer to a unary <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
397
398</div>
399</div>
400<a class="anchor" id="a0d7b7e44c99e08fe263ea15190ceeee1"></a><!-- doxytag: member="m_token.h::MTOKEN_VALUE" ref="a0d7b7e44c99e08fe263ea15190ceeee1" args="(PT)" -->
401<div class="memitem">
402<div class="memproto">
403      <table class="memname">
404        <tr>
405          <td class="memname">#define MTOKEN_VALUE</td>
406          <td>(</td>
407          <td class="paramtype">PT&nbsp;</td>
408          <td class="paramname"></td>
409          <td>&nbsp;)&nbsp;</td>
410          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;value.value)</td>
411        </tr>
412      </table>
413</div>
414<div class="memdoc">
415<p>Sets the token value. <em>PT</em> pointer to a value <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
416
417</div>
418</div>
419<a class="anchor" id="a92051c626009297e17ff622b77e809f7"></a><!-- doxytag: member="m_token.h::MTOKEN_VALUE_SIGNED" ref="a92051c626009297e17ff622b77e809f7" args="(PT)" -->
420<div class="memitem">
421<div class="memproto">
422      <table class="memname">
423        <tr>
424          <td class="memname">#define MTOKEN_VALUE_SIGNED</td>
425          <td>(</td>
426          <td class="paramtype">PT&nbsp;</td>
427          <td class="paramname"></td>
428          <td>&nbsp;)&nbsp;</td>
429          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;value.is_signed)</td>
430        </tr>
431      </table>
432</div>
433<div class="memdoc">
434<p>Sets the signed bit on value token. <em>PT</em> pointer to a value <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
435
436</div>
437</div>
438<a class="anchor" id="a0912420c7697d7824cb9ce3761e999ac"></a><!-- doxytag: member="m_token.h::MTOKEN_VALUE_SIZE" ref="a0912420c7697d7824cb9ce3761e999ac" args="(PT)" -->
439<div class="memitem">
440<div class="memproto">
441      <table class="memname">
442        <tr>
443          <td class="memname">#define MTOKEN_VALUE_SIZE</td>
444          <td>(</td>
445          <td class="paramtype">PT&nbsp;</td>
446          <td class="paramname"></td>
447          <td>&nbsp;)&nbsp;</td>
448          <td>&nbsp;&nbsp;&nbsp;((PT)-&gt;value.size)</td>
449        </tr>
450      </table>
451</div>
452<div class="memdoc">
453<p>Sets the byte width of value in value token. <em>PT</em> pointer to a value <a class="el" href="unionu_m_token.html">uMToken</a>. </p>
454
455</div>
456</div>
457<hr/><h2>Enumeration Type Documentation</h2>
458<a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321"></a><!-- doxytag: member="m_token.h::eMSToken" ref="ad211982ef565f0550b5f86e4d15c6321" args="" -->
459<div class="memitem">
460<div class="memproto">
461      <table class="memname">
462        <tr>
463          <td class="memname">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a></td>
464        </tr>
465      </table>
466</div>
467<div class="memdoc">
468<p>Token "Subkind" enumeration list. Also used by internal function sprint_decl1() for printing. </p>
469<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="m__token_8c.html#a3d90ad7945dc89f63c39837ee512fd85">gen_tok()</a> </dd>
470<dd>
471<a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a> </dd>
472<dd>
473<a class="el" href="structs_m_token__base.html">sMToken_base</a> </dd></dl>
474<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
475<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321aeba2165312b4788cea28a9edd3011eb1"></a><!-- doxytag: member="eMST_unmangled" ref="ad211982ef565f0550b5f86e4d15c6321aeba2165312b4788cea28a9edd3011eb1" args="" -->eMST_unmangled</em>&nbsp;</td><td>
476<p>Name is unmagled. </p>
477</td></tr>
478<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ace877760d7bed370bfdd6570130878bc"></a><!-- doxytag: member="eMST_nttp" ref="ad211982ef565f0550b5f86e4d15c6321ace877760d7bed370bfdd6570130878bc" args="" -->eMST_nttp</em>&nbsp;</td><td>
479<p>Template name. </p>
480</td></tr>
481<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321aab3ff1160a7b9f50b2734b0263482589"></a><!-- doxytag: member="eMST_name" ref="ad211982ef565f0550b5f86e4d15c6321aab3ff1160a7b9f50b2734b0263482589" args="" -->eMST_name</em>&nbsp;</td><td>
482<p>Decoded function name. </p>
483</td></tr>
484<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a92a6f2d7b92b576b9b64565f40cb8267"></a><!-- doxytag: member="eMST_colon" ref="ad211982ef565f0550b5f86e4d15c6321a92a6f2d7b92b576b9b64565f40cb8267" args="" -->eMST_colon</em>&nbsp;</td><td>
485<p>Class member accessibility. </p>
486</td></tr>
487<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321adc536c03cd872d606af6a4749c7a84e8"></a><!-- doxytag: member="eMST_rtti" ref="ad211982ef565f0550b5f86e4d15c6321adc536c03cd872d606af6a4749c7a84e8" args="" -->eMST_rtti</em>&nbsp;</td><td>
488<p>Runtime Type information name. </p>
489</td></tr>
490<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a35df6016f35b2a5e8df1d01f477f9e17"></a><!-- doxytag: member="eMST_cv" ref="ad211982ef565f0550b5f86e4d15c6321a35df6016f35b2a5e8df1d01f477f9e17" args="" -->eMST_cv</em>&nbsp;</td><td>
491<p>Function call convention / data qualifiers / pointer. </p>
492</td></tr>
493<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321aacf994772d1d924f2213dfd8d224b1fe"></a><!-- doxytag: member="eMST_vftable" ref="ad211982ef565f0550b5f86e4d15c6321aacf994772d1d924f2213dfd8d224b1fe" args="" -->eMST_vftable</em>&nbsp;</td><td>
494<p>Virtual Function Table. </p>
495</td></tr>
496<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321adc20bcf98832c814c92709447c1db811"></a><!-- doxytag: member="eMST_vbtable" ref="ad211982ef565f0550b5f86e4d15c6321adc20bcf98832c814c92709447c1db811" args="" -->eMST_vbtable</em>&nbsp;</td><td>
497<p>Virtual Base Table. </p>
498</td></tr>
499<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a9d8acdbf8ea203bad5af3728e8ee5e43"></a><!-- doxytag: member="eMST_vcall" ref="ad211982ef565f0550b5f86e4d15c6321a9d8acdbf8ea203bad5af3728e8ee5e43" args="" -->eMST_vcall</em>&nbsp;</td><td>
500<p>Virtual Function Call. </p>
501</td></tr>
502<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a56c4f2ba212e690d3862736cefc9e9d1"></a><!-- doxytag: member="eMST_opname" ref="ad211982ef565f0550b5f86e4d15c6321a56c4f2ba212e690d3862736cefc9e9d1" args="" -->eMST_opname</em>&nbsp;</td><td>
503<p>Overloaded operator. </p>
504</td></tr>
505<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a02c0ba2ae316a629377149299fa60732"></a><!-- doxytag: member="eMST_templargname" ref="ad211982ef565f0550b5f86e4d15c6321a02c0ba2ae316a629377149299fa60732" args="" -->eMST_templargname</em>&nbsp;</td><td>
506<p>Explicit template arg name. </p>
507</td></tr>
508<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a1c6d0872377629404a837b33093e4c20"></a><!-- doxytag: member="eMST_type" ref="ad211982ef565f0550b5f86e4d15c6321a1c6d0872377629404a837b33093e4c20" args="" -->eMST_type</em>&nbsp;</td><td>
509<p>Function return type. </p>
510</td></tr>
511<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a7d3878378f218ed88b37f69ccc8b212a"></a><!-- doxytag: member="eMST_dim" ref="ad211982ef565f0550b5f86e4d15c6321a7d3878378f218ed88b37f69ccc8b212a" args="" -->eMST_dim</em>&nbsp;</td><td>
512<p>Print array-like expression. </p>
513<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebda7cb7b1dd2515e39563cac546fb6ab68c">eMToken_dim</a> </dd></dl>
514</td></tr>
515<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321af0a43b0c61ff4f5379159b46e21ca8c1"></a><!-- doxytag: member="eMST_val" ref="ad211982ef565f0550b5f86e4d15c6321af0a43b0c61ff4f5379159b46e21ca8c1" args="" -->eMST_val</em>&nbsp;</td><td>
516<p>Print value expression. </p>
517<dl class="see"><dt><b>See also:</b></dt><dd>sMToken_val </dd></dl>
518</td></tr>
519<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a0f681303ab234dbd4f348e4f4ca2d3fb"></a><!-- doxytag: member="eMST_gcarray" ref="ad211982ef565f0550b5f86e4d15c6321a0f681303ab234dbd4f348e4f4ca2d3fb" args="" -->eMST_gcarray</em>&nbsp;</td><td>
520</td></tr>
521<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a795ccccfc527f0ab6cfe6c372c47cbe6"></a><!-- doxytag: member="eMST_slashed" ref="ad211982ef565f0550b5f86e4d15c6321a795ccccfc527f0ab6cfe6c372c47cbe6" args="" -->eMST_slashed</em>&nbsp;</td><td>
522<p>MSVC extenstion: "__gc" Managed C++ reference. MTOKEN_UNARY appended and prepended with "/". </p>
523</td></tr>
524<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ac94af9ef7756a7c82213991ed795600a"></a><!-- doxytag: member="eMST_array" ref="ad211982ef565f0550b5f86e4d15c6321ac94af9ef7756a7c82213991ed795600a" args="" -->eMST_array</em>&nbsp;</td><td>
525<p>MTOKEN_UNARY enclosed by square brackets. </p>
526</td></tr>
527<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a376aea6022acbe69f38de3c9ea784484"></a><!-- doxytag: member="eMST_element" ref="ad211982ef565f0550b5f86e4d15c6321a376aea6022acbe69f38de3c9ea784484" args="" -->eMST_element</em>&nbsp;</td><td>
528<p>MTOKEN_UNARY in an argument list. </p>
529</td></tr>
530<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321afcc464362c6d0c42ce707a51a7fbb9ae"></a><!-- doxytag: member="eMST_template_argument_list" ref="ad211982ef565f0550b5f86e4d15c6321afcc464362c6d0c42ce707a51a7fbb9ae" args="" -->eMST_template_argument_list</em>&nbsp;</td><td>
531<p>MTOKEN_UNARY in an argument list. </p>
532</td></tr>
533<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ad08a86d5932f63c1a505083332ba1f2b"></a><!-- doxytag: member="eMST_ltgt" ref="ad211982ef565f0550b5f86e4d15c6321ad08a86d5932f63c1a505083332ba1f2b" args="" -->eMST_ltgt</em>&nbsp;</td><td>
534<p>MTOKEN_UNARY enclosed by angular brackets. </p>
535</td></tr>
536<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ac7455cb6f9f1dc1c495178075f5e617f"></a><!-- doxytag: member="eMST_frame" ref="ad211982ef565f0550b5f86e4d15c6321ac7455cb6f9f1dc1c495178075f5e617f" args="" -->eMST_frame</em>&nbsp;</td><td>
537<p>MTOKEN_UNARY enclosed by curly brackets. </p>
538</td></tr>
539<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ae1a781af8dddef1a996e911152071d2f"></a><!-- doxytag: member="eMST_throw" ref="ad211982ef565f0550b5f86e4d15c6321ae1a781af8dddef1a996e911152071d2f" args="" -->eMST_throw</em>&nbsp;</td><td>
540<p>MTOKEN_UNARY prepended by "throw ". </p>
541</td></tr>
542<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a6726a799efbe0d2d722fc83e3a04ca05"></a><!-- doxytag: member="eMST_rframe" ref="ad211982ef565f0550b5f86e4d15c6321a6726a799efbe0d2d722fc83e3a04ca05" args="" -->eMST_rframe</em>&nbsp;</td><td>
543<p>MTOKEN_UNARY enclosed by parentheses. </p>
544</td></tr>
545<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ab87ff64219a845b0674207f9352895ee"></a><!-- doxytag: member="eMST_destructor" ref="ad211982ef565f0550b5f86e4d15c6321ab87ff64219a845b0674207f9352895ee" args="" -->eMST_destructor</em>&nbsp;</td><td>
546<p>MTOKEN_UNARY prepended with "~". </p>
547</td></tr>
548<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a04c4d8922a43196bcbf80ef96ad3c5f8"></a><!-- doxytag: member="eMST_oper" ref="ad211982ef565f0550b5f86e4d15c6321a04c4d8922a43196bcbf80ef96ad3c5f8" args="" -->eMST_oper</em>&nbsp;</td><td>
549<p>indicates that token an operand, prints from MTOKEN_UNARY. </p>
550</td></tr>
551<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a17a05df86d0d2e85f841baaccc2ca5c2"></a><!-- doxytag: member="eMST_colonarray" ref="ad211982ef565f0550b5f86e4d15c6321a17a05df86d0d2e85f841baaccc2ca5c2" args="" -->eMST_colonarray</em>&nbsp;</td><td>
552</td></tr>
553<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ae271da23693826e5cacab27fd56779dc"></a><!-- doxytag: member="eMST_lexical_frame" ref="ad211982ef565f0550b5f86e4d15c6321ae271da23693826e5cacab27fd56779dc" args="" -->eMST_lexical_frame</em>&nbsp;</td><td>
554<p>Unused, to be removed. MTOKEN_UNARY enclosed by single quotes "'". </p>
555</td></tr>
556<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a4c46333751fc7ce9d5e6e89e82abeef4"></a><!-- doxytag: member="eMST_scope" ref="ad211982ef565f0550b5f86e4d15c6321a4c46333751fc7ce9d5e6e89e82abeef4" args="" -->eMST_scope</em>&nbsp;</td><td>
557<p>MTOKEN_UNARY, unenclosed. </p>
558</td></tr>
559<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a3f4d325424d8fd3976f2dfb834cd145d"></a><!-- doxytag: member="eMST_udt_returning" ref="ad211982ef565f0550b5f86e4d15c6321a3f4d325424d8fd3976f2dfb834cd145d" args="" -->eMST_udt_returning</em>&nbsp;</td><td>
560<p>User defined types (RTTI). </p>
561</td></tr>
562<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a90545698adebd8bbce09897217bd9695"></a><!-- doxytag: member="eMST_coloncolon" ref="ad211982ef565f0550b5f86e4d15c6321a90545698adebd8bbce09897217bd9695" args="" -->eMST_coloncolon</em>&nbsp;</td><td>
563<p>"::" between MTOKEN_BINARY_LEFT and MTOKEN_BINARY_RIGHT. </p>
564</td></tr>
565<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a921c684ed8d84a713967491a27abc903"></a><!-- doxytag: member="eMST_assign" ref="ad211982ef565f0550b5f86e4d15c6321a921c684ed8d84a713967491a27abc903" args="" -->eMST_assign</em>&nbsp;</td><td>
566<p>"=" between MTOKEN_BINARY_LEFT and MTOKEN_BINARY_RIGHT and appended with "}". </p>
567</td></tr>
568<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321afa6fba3d6a855d55277e3a8b74f4cb16"></a><!-- doxytag: member="eMST_templateparam" ref="ad211982ef565f0550b5f86e4d15c6321afa6fba3d6a855d55277e3a8b74f4cb16" args="" -->eMST_templateparam</em>&nbsp;</td><td>
569<p>Explicit template. </p>
570</td></tr>
571<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321acf92fa1bb19698734ba3e697b96ce9e5"></a><!-- doxytag: member="eMST_nonetypetemplateparam" ref="ad211982ef565f0550b5f86e4d15c6321acf92fa1bb19698734ba3e697b96ce9e5" args="" -->eMST_nonetypetemplateparam</em>&nbsp;</td><td>
572<p>Non-explicit template. </p>
573</td></tr>
574<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321af8e71df660ac1c8cf469ca3ddbbd0477"></a><!-- doxytag: member="eMST_exp" ref="ad211982ef565f0550b5f86e4d15c6321af8e71df660ac1c8cf469ca3ddbbd0477" args="" -->eMST_exp</em>&nbsp;</td><td>
575<p>dim 'e' (exponent) dim </p>
576</td></tr>
577<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321ae947463010b4b392684e86e14337d61b"></a><!-- doxytag: member="eMST_combine" ref="ad211982ef565f0550b5f86e4d15c6321ae947463010b4b392684e86e14337d61b" args="" -->eMST_combine</em>&nbsp;</td><td>
578<p>Unary grouping. </p>
579</td></tr>
580<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321acc1c13446a5ec298703df9bd94c6f20e"></a><!-- doxytag: member="eMST_ecsu" ref="ad211982ef565f0550b5f86e4d15c6321acc1c13446a5ec298703df9bd94c6f20e" args="" -->eMST_ecsu</em>&nbsp;</td><td>
581<p>Is an Enum/Class/Struct/Union </p>
582</td></tr>
583<tr><td valign="top"><em><a class="anchor" id="ad211982ef565f0550b5f86e4d15c6321a7d78963c03a17b55f921b31419f83d56"></a><!-- doxytag: member="eMST_based" ref="ad211982ef565f0550b5f86e4d15c6321a7d78963c03a17b55f921b31419f83d56" args="" -->eMST_based</em>&nbsp;</td><td>
584<p>MSVC extension: "__based" Based addressing </p>
585</td></tr>
586</table>
587</dd>
588</dl>
589
590</div>
591</div>
592<a class="anchor" id="a50bee8455836804dd921dd275b0bcebd"></a><!-- doxytag: member="m_token.h::eMToken" ref="a50bee8455836804dd921dd275b0bcebd" args="" -->
593<div class="memitem">
594<div class="memproto">
595      <table class="memname">
596        <tr>
597          <td class="memname">enum <a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a></td>
598        </tr>
599      </table>
600</div>
601<div class="memdoc">
602<p>Token "Kind" enumeration list. </p>
603<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="m__token_8c.html#a3d90ad7945dc89f63c39837ee512fd85">gen_tok()</a> </dd>
604<dd>
605<a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a> </dd>
606<dd>
607<a class="el" href="structs_m_token__base.html">sMToken_base</a> </dd></dl>
608<dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0">
609<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebdaab5d1cb176ec018a7dd2e1debed34b98"></a><!-- doxytag: member="eMToken_none" ref="a50bee8455836804dd921dd275b0bcebdaab5d1cb176ec018a7dd2e1debed34b98" args="" -->eMToken_none</em>&nbsp;</td><td>
610<p>Token type: None. </p>
611</td></tr>
612<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebda8e367c0d5a2c127b0f1ae55573e92fcd"></a><!-- doxytag: member="eMToken_value" ref="a50bee8455836804dd921dd275b0bcebda8e367c0d5a2c127b0f1ae55573e92fcd" args="" -->eMToken_value</em>&nbsp;</td><td>
613<p>Token type: Value. </p>
614</td></tr>
615<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebdae4b3f564d86b8e05792093eceba0612e"></a><!-- doxytag: member="eMToken_name" ref="a50bee8455836804dd921dd275b0bcebdae4b3f564d86b8e05792093eceba0612e" args="" -->eMToken_name</em>&nbsp;</td><td>
616<p>Token type: Name. </p>
617</td></tr>
618<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebda7cb7b1dd2515e39563cac546fb6ab68c"></a><!-- doxytag: member="eMToken_dim" ref="a50bee8455836804dd921dd275b0bcebda7cb7b1dd2515e39563cac546fb6ab68c" args="" -->eMToken_dim</em>&nbsp;</td><td>
619<p>Token type: Dim. </p>
620</td></tr>
621<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebda22e1257761823f14db1c71ae94e7af8b"></a><!-- doxytag: member="eMToken_unary" ref="a50bee8455836804dd921dd275b0bcebda22e1257761823f14db1c71ae94e7af8b" args="" -->eMToken_unary</em>&nbsp;</td><td>
622<p>Token type: Unary </p>
623</td></tr>
624<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebda9e20893db7dcbd0e2173b4f559cbb363"></a><!-- doxytag: member="eMToken_binary" ref="a50bee8455836804dd921dd275b0bcebda9e20893db7dcbd0e2173b4f559cbb363" args="" -->eMToken_binary</em>&nbsp;</td><td>
625<p>Token type: Binary </p>
626</td></tr>
627<tr><td valign="top"><em><a class="anchor" id="a50bee8455836804dd921dd275b0bcebda66baeee525a866cdabe57f4e248b0f1a"></a><!-- doxytag: member="eMToken_MAX" ref="a50bee8455836804dd921dd275b0bcebda66baeee525a866cdabe57f4e248b0f1a" args="" -->eMToken_MAX</em>&nbsp;</td><td>
628<p>Unused sentinel. </p>
629</td></tr>
630</table>
631</dd>
632</dl>
633
634</div>
635</div>
636<hr/><h2>Function Documentation</h2>
637<a class="anchor" id="a50ef074a3d1cf22f842abd4df7081743"></a><!-- doxytag: member="m_token.h::chain_tok" ref="a50ef074a3d1cf22f842abd4df7081743" args="(uMToken *l, uMToken *add)" -->
638<div class="memitem">
639<div class="memproto">
640      <table class="memname">
641        <tr>
642          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* chain_tok </td>
643          <td>(</td>
644          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
645          <td class="paramname"> <em>l</em>, </td>
646        </tr>
647        <tr>
648          <td class="paramkey"></td>
649          <td></td>
650          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
651          <td class="paramname"> <em>add</em></td><td>&nbsp;</td>
652        </tr>
653        <tr>
654          <td></td>
655          <td>)</td>
656          <td></td><td></td><td></td>
657        </tr>
658      </table>
659</div>
660<div class="memdoc">
661<p>Chains uMTokens together. </p>
662<dl><dt><b>Parameters:</b></dt><dd>
663  <table border="0" cellspacing="2" cellpadding="0">
664    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>l</em>&nbsp;</td><td>uMtoken chain to link up with. </td></tr>
665    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>add</em>&nbsp;</td><td>uMtoken to add to chain. </td></tr>
666  </table>
667  </dd>
668</dl>
669<dl class="return"><dt><b>Returns:</b></dt><dd><em>l</em> unchanged </dd></dl>
670
671</div>
672</div>
673<a class="anchor" id="a0deb555c3210a60f0b5189ae462ed620"></a><!-- doxytag: member="m_token.h::gen_binary" ref="a0deb555c3210a60f0b5189ae462ed620" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *l, uMToken *r)" -->
674<div class="memitem">
675<div class="memproto">
676      <table class="memname">
677        <tr>
678          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_binary </td>
679          <td>(</td>
680          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
681          <td class="paramname"> <em>gc</em>, </td>
682        </tr>
683        <tr>
684          <td class="paramkey"></td>
685          <td></td>
686          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
687          <td class="paramname"> <em>skind</em>, </td>
688        </tr>
689        <tr>
690          <td class="paramkey"></td>
691          <td></td>
692          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
693          <td class="paramname"> <em>l</em>, </td>
694        </tr>
695        <tr>
696          <td class="paramkey"></td>
697          <td></td>
698          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
699          <td class="paramname"> <em>r</em></td><td>&nbsp;</td>
700        </tr>
701        <tr>
702          <td></td>
703          <td>)</td>
704          <td></td><td></td><td></td>
705        </tr>
706      </table>
707</div>
708<div class="memdoc">
709<p>Generates a binary node token. </p>
710<dl><dt><b>Parameters:</b></dt><dd>
711  <table border="0" cellspacing="2" cellpadding="0">
712    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
713    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subKind. </td></tr>
714    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>l</em>&nbsp;</td><td>Left node element. </td></tr>
715    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>r</em>&nbsp;</td><td>Right node element. </td></tr>
716  </table>
717  </dd>
718</dl>
719<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to binary token. </dd></dl>
720<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__binary.html">sMToken_binary</a> </dd></dl>
721
722</div>
723</div>
724<a class="anchor" id="aced2d2323162ca5846cdb13d631169d6"></a><!-- doxytag: member="m_token.h::gen_dim" ref="aced2d2323162ca5846cdb13d631169d6" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, const char *non_tt_param, int fSigned, int fNegate)" -->
725<div class="memitem">
726<div class="memproto">
727      <table class="memname">
728        <tr>
729          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_dim </td>
730          <td>(</td>
731          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
732          <td class="paramname"> <em>gc</em>, </td>
733        </tr>
734        <tr>
735          <td class="paramkey"></td>
736          <td></td>
737          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
738          <td class="paramname"> <em>skind</em>, </td>
739        </tr>
740        <tr>
741          <td class="paramkey"></td>
742          <td></td>
743          <td class="paramtype">uint64_t&nbsp;</td>
744          <td class="paramname"> <em>val</em>, </td>
745        </tr>
746        <tr>
747          <td class="paramkey"></td>
748          <td></td>
749          <td class="paramtype">const char *&nbsp;</td>
750          <td class="paramname"> <em>non_tt_param</em>, </td>
751        </tr>
752        <tr>
753          <td class="paramkey"></td>
754          <td></td>
755          <td class="paramtype">int&nbsp;</td>
756          <td class="paramname"> <em>fSigned</em>, </td>
757        </tr>
758        <tr>
759          <td class="paramkey"></td>
760          <td></td>
761          <td class="paramtype">int&nbsp;</td>
762          <td class="paramname"> <em>fNegate</em></td><td>&nbsp;</td>
763        </tr>
764        <tr>
765          <td></td>
766          <td>)</td>
767          <td></td><td></td><td></td>
768        </tr>
769      </table>
770</div>
771<div class="memdoc">
772<p>Constructs a "dim" kind token. </p>
773<dl><dt><b>Parameters:</b></dt><dd>
774  <table border="0" cellspacing="2" cellpadding="0">
775    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
776    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
777    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Token numerical value. </td></tr>
778    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>non_tt_param</em>&nbsp;</td><td>pointer to decoded C++ template name. </td></tr>
779    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fSigned</em>&nbsp;</td><td>Signedness of the numerical value. </td></tr>
780    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fNegate</em>&nbsp;</td><td>1 for "val" is negative digit. </td></tr>
781  </table>
782  </dd>
783</dl>
784<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to dim token. </dd></dl>
785<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__dim.html">sMToken_dim</a> </dd></dl>
786
787</div>
788</div>
789<a class="anchor" id="ac1a6fe5d506c4fd78650742da8d9e669"></a><!-- doxytag: member="m_token.h::gen_name" ref="ac1a6fe5d506c4fd78650742da8d9e669" args="(libmangle_gc_context_t *gc, enum eMSToken skind, const char *name)" -->
790<div class="memitem">
791<div class="memproto">
792      <table class="memname">
793        <tr>
794          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_name </td>
795          <td>(</td>
796          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
797          <td class="paramname"> <em>gc</em>, </td>
798        </tr>
799        <tr>
800          <td class="paramkey"></td>
801          <td></td>
802          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
803          <td class="paramname"> <em>skind</em>, </td>
804        </tr>
805        <tr>
806          <td class="paramkey"></td>
807          <td></td>
808          <td class="paramtype">const char *&nbsp;</td>
809          <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
810        </tr>
811        <tr>
812          <td></td>
813          <td>)</td>
814          <td></td><td></td><td></td>
815        </tr>
816      </table>
817</div>
818<div class="memdoc">
819<p>Constructs a "name" kind token. </p>
820<dl><dt><b>Parameters:</b></dt><dd>
821  <table border="0" cellspacing="2" cellpadding="0">
822    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
823    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
824    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>name</em>&nbsp;</td><td>Pointer to name string. </td></tr>
825  </table>
826  </dd>
827</dl>
828<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to name token. </dd></dl>
829<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__name.html">sMToken_name</a> </dd></dl>
830
831</div>
832</div>
833<a class="anchor" id="a8c630a1c57e3d4f5009448af0d43fbb8"></a><!-- doxytag: member="m_token.h::gen_unary" ref="a8c630a1c57e3d4f5009448af0d43fbb8" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uMToken *un)" -->
834<div class="memitem">
835<div class="memproto">
836      <table class="memname">
837        <tr>
838          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_unary </td>
839          <td>(</td>
840          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
841          <td class="paramname"> <em>gc</em>, </td>
842        </tr>
843        <tr>
844          <td class="paramkey"></td>
845          <td></td>
846          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
847          <td class="paramname"> <em>skind</em>, </td>
848        </tr>
849        <tr>
850          <td class="paramkey"></td>
851          <td></td>
852          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
853          <td class="paramname"> <em>un</em></td><td>&nbsp;</td>
854        </tr>
855        <tr>
856          <td></td>
857          <td>)</td>
858          <td></td><td></td><td></td>
859        </tr>
860      </table>
861</div>
862<div class="memdoc">
863<p>Constructs a "unary" kind token. </p>
864<dl><dt><b>Parameters:</b></dt><dd>
865  <table border="0" cellspacing="2" cellpadding="0">
866    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
867    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
868    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>un</em>&nbsp;</td><td>Pointer to leaf element. </td></tr>
869  </table>
870  </dd>
871</dl>
872<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to a unary token. </dd></dl>
873<dl class="see"><dt><b>See also:</b></dt><dd>sMToken_unary </dd></dl>
874
875</div>
876</div>
877<a class="anchor" id="a5e98df3f83afcc6e9e1f079091c0e567"></a><!-- doxytag: member="m_token.h::gen_value" ref="a5e98df3f83afcc6e9e1f079091c0e567" args="(libmangle_gc_context_t *gc, enum eMSToken skind, uint64_t val, int is_signed, int size)" -->
878<div class="memitem">
879<div class="memproto">
880      <table class="memname">
881        <tr>
882          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* gen_value </td>
883          <td>(</td>
884          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
885          <td class="paramname"> <em>gc</em>, </td>
886        </tr>
887        <tr>
888          <td class="paramkey"></td>
889          <td></td>
890          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
891          <td class="paramname"> <em>skind</em>, </td>
892        </tr>
893        <tr>
894          <td class="paramkey"></td>
895          <td></td>
896          <td class="paramtype">uint64_t&nbsp;</td>
897          <td class="paramname"> <em>val</em>, </td>
898        </tr>
899        <tr>
900          <td class="paramkey"></td>
901          <td></td>
902          <td class="paramtype">int&nbsp;</td>
903          <td class="paramname"> <em>is_signed</em>, </td>
904        </tr>
905        <tr>
906          <td class="paramkey"></td>
907          <td></td>
908          <td class="paramtype">int&nbsp;</td>
909          <td class="paramname"> <em>size</em></td><td>&nbsp;</td>
910        </tr>
911        <tr>
912          <td></td>
913          <td>)</td>
914          <td></td><td></td><td></td>
915        </tr>
916      </table>
917</div>
918<div class="memdoc">
919<p>Constructs a "value" kind token. </p>
920<dl><dt><b>Parameters:</b></dt><dd>
921  <table border="0" cellspacing="2" cellpadding="0">
922    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
923    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>skind</em>&nbsp;</td><td>Token subkind. </td></tr>
924    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>val</em>&nbsp;</td><td>Sets the value on token, </td></tr>
925    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>is_signed</em>&nbsp;</td><td>Signed bit of <em>val</em>. </td></tr>
926    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>size</em>&nbsp;</td><td>Width of <em>val</em>. </td></tr>
927  </table>
928  </dd>
929</dl>
930<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to value token. </dd></dl>
931<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structs_m_token__value.html">sMToken_value</a> </dd></dl>
932
933</div>
934</div>
935<a class="anchor" id="abf3eb472b66b477d0165a31437d35c09"></a><!-- doxytag: member="m_token.h::libmangle_dump_tok" ref="abf3eb472b66b477d0165a31437d35c09" args="(FILE *fp, uMToken *p)" -->
936<div class="memitem">
937<div class="memproto">
938      <table class="memname">
939        <tr>
940          <td class="memname">void libmangle_dump_tok </td>
941          <td>(</td>
942          <td class="paramtype">FILE *&nbsp;</td>
943          <td class="paramname"> <em>fp</em>, </td>
944        </tr>
945        <tr>
946          <td class="paramkey"></td>
947          <td></td>
948          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
949          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
950        </tr>
951        <tr>
952          <td></td>
953          <td>)</td>
954          <td></td><td></td><td></td>
955        </tr>
956      </table>
957</div>
958<div class="memdoc">
959<p>Dumps <a class="el" href="unionu_m_token.html">uMToken</a> to a file descriptor for debugging. </p>
960<dl><dt><b>Parameters:</b></dt><dd>
961  <table border="0" cellspacing="2" cellpadding="0">
962    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fp</em>&nbsp;</td><td>File descriptor to print the token to. </td></tr>
963    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td><a class="el" href="unionu_m_token.html">uMToken</a> chain to print. </td></tr>
964  </table>
965  </dd>
966</dl>
967
968</div>
969</div>
970<a class="anchor" id="abeb019f98a7616488287af32a6f9e51b"></a><!-- doxytag: member="m_token.h::libmangle_gen_tok" ref="abeb019f98a7616488287af32a6f9e51b" args="(libmangle_gc_context_t *gc, enum eMToken kind, enum eMSToken subkind, size_t addend)" -->
971<div class="memitem">
972<div class="memproto">
973      <table class="memname">
974        <tr>
975          <td class="memname"><a class="el" href="unionu_m_token.html">uMToken</a>* libmangle_gen_tok </td>
976          <td>(</td>
977          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
978          <td class="paramname"> <em>gc</em>, </td>
979        </tr>
980        <tr>
981          <td class="paramkey"></td>
982          <td></td>
983          <td class="paramtype">enum <a class="el" href="m__token_8h.html#a50bee8455836804dd921dd275b0bcebd">eMToken</a>&nbsp;</td>
984          <td class="paramname"> <em>kind</em>, </td>
985        </tr>
986        <tr>
987          <td class="paramkey"></td>
988          <td></td>
989          <td class="paramtype">enum <a class="el" href="m__token_8h.html#ad211982ef565f0550b5f86e4d15c6321">eMSToken</a>&nbsp;</td>
990          <td class="paramname"> <em>subkind</em>, </td>
991        </tr>
992        <tr>
993          <td class="paramkey"></td>
994          <td></td>
995          <td class="paramtype">size_t&nbsp;</td>
996          <td class="paramname"> <em>addend</em></td><td>&nbsp;</td>
997        </tr>
998        <tr>
999          <td></td>
1000          <td>)</td>
1001          <td></td><td></td><td></td>
1002        </tr>
1003      </table>
1004</div>
1005<div class="memdoc">
1006<p>gen_tok constructs <a class="el" href="unionu_m_token.html">uMToken</a> instances Instances are destroyed with <a class="el" href="libmangle_8h.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc()</a>. </p>
1007<dl><dt><b>Parameters:</b></dt><dd>
1008  <table border="0" cellspacing="2" cellpadding="0">
1009    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Pointer to garbage collection context. </td></tr>
1010    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>kind</em>&nbsp;</td><td>Kind of token to construct </td></tr>
1011    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>subkind</em>&nbsp;</td><td>Subkind of token to construct </td></tr>
1012    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>addend</em>&nbsp;</td><td>Additional byte padding at the end. </td></tr>
1013  </table>
1014  </dd>
1015</dl>
1016<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc()</a> </dd></dl>
1017
1018</div>
1019</div>
1020<a class="anchor" id="a54257a43469abe9c5f9556a1913bbf2f"></a><!-- doxytag: member="m_token.h::libmangle_generate_gc" ref="a54257a43469abe9c5f9556a1913bbf2f" args="(void)" -->
1021<div class="memitem">
1022<div class="memproto">
1023      <table class="memname">
1024        <tr>
1025          <td class="memname"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a>* libmangle_generate_gc </td>
1026          <td>(</td>
1027          <td class="paramtype">void&nbsp;</td>
1028          <td class="paramname"></td>
1029          <td>&nbsp;)&nbsp;</td>
1030          <td></td>
1031        </tr>
1032      </table>
1033</div>
1034<div class="memdoc">
1035<p>Constructs a garbage collection context token. </p>
1036<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to context. </dd></dl>
1037<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#ac6f10b5d722b67adc42b2efaf4683dc1">libmangle_release_gc()</a> </dd></dl>
1038
1039</div>
1040</div>
1041<a class="anchor" id="a278a5859cf0ffb4e32fd2ad4cb2584de"></a><!-- doxytag: member="m_token.h::libmangle_print_decl" ref="a278a5859cf0ffb4e32fd2ad4cb2584de" args="(FILE *fp, uMToken *p)" -->
1042<div class="memitem">
1043<div class="memproto">
1044      <table class="memname">
1045        <tr>
1046          <td class="memname">void libmangle_print_decl </td>
1047          <td>(</td>
1048          <td class="paramtype">FILE *&nbsp;</td>
1049          <td class="paramname"> <em>fp</em>, </td>
1050        </tr>
1051        <tr>
1052          <td class="paramkey"></td>
1053          <td></td>
1054          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
1055          <td class="paramname"> <em>p</em></td><td>&nbsp;</td>
1056        </tr>
1057        <tr>
1058          <td></td>
1059          <td>)</td>
1060          <td></td><td></td><td></td>
1061        </tr>
1062      </table>
1063</div>
1064<div class="memdoc">
1065<p>Prints C++ name to file descriptor. </p>
1066<dl><dt><b>Parameters:</b></dt><dd>
1067  <table border="0" cellspacing="2" cellpadding="0">
1068    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>fp</em>&nbsp;</td><td>Output file descriptor. </td></tr>
1069    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>p</em>&nbsp;</td><td>Token containing information about the C++ name. </td></tr>
1070  </table>
1071  </dd>
1072</dl>
1073<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a14ff3e5c3309017dc99459ef1ffef582">libmangle_decode_ms_name()</a> </dd></dl>
1074
1075</div>
1076</div>
1077<a class="anchor" id="ac6f10b5d722b67adc42b2efaf4683dc1"></a><!-- doxytag: member="m_token.h::libmangle_release_gc" ref="ac6f10b5d722b67adc42b2efaf4683dc1" args="(libmangle_gc_context_t *gc)" -->
1078<div class="memitem">
1079<div class="memproto">
1080      <table class="memname">
1081        <tr>
1082          <td class="memname">void libmangle_release_gc </td>
1083          <td>(</td>
1084          <td class="paramtype"><a class="el" href="structlibmangle__gc__context__t.html">libmangle_gc_context_t</a> *&nbsp;</td>
1085          <td class="paramname"> <em>gc</em></td>
1086          <td>&nbsp;)&nbsp;</td>
1087          <td></td>
1088        </tr>
1089      </table>
1090</div>
1091<div class="memdoc">
1092<p>Releases memory tracked by context. </p>
1093<dl><dt><b>Parameters:</b></dt><dd>
1094  <table border="0" cellspacing="2" cellpadding="0">
1095    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>gc</em>&nbsp;</td><td>Garbage collection context to work on. </td></tr>
1096  </table>
1097  </dd>
1098</dl>
1099<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a54257a43469abe9c5f9556a1913bbf2f">libmangle_generate_gc()</a> </dd></dl>
1100
1101</div>
1102</div>
1103<a class="anchor" id="ac0f7cf41cc7c3e9c57dd94ed318dd5a4"></a><!-- doxytag: member="m_token.h::libmangle_sprint_decl" ref="ac0f7cf41cc7c3e9c57dd94ed318dd5a4" args="(uMToken *r)" -->
1104<div class="memitem">
1105<div class="memproto">
1106      <table class="memname">
1107        <tr>
1108          <td class="memname">char* libmangle_sprint_decl </td>
1109          <td>(</td>
1110          <td class="paramtype"><a class="el" href="unionu_m_token.html">uMToken</a> *&nbsp;</td>
1111          <td class="paramname"> <em>r</em></td>
1112          <td>&nbsp;)&nbsp;</td>
1113          <td></td>
1114        </tr>
1115      </table>
1116</div>
1117<div class="memdoc">
1118<p>Get pointer to decoded C++ name string. Use free() to release returned string. </p>
1119<dl><dt><b>Parameters:</b></dt><dd>
1120  <table border="0" cellspacing="2" cellpadding="0">
1121    <tr><td valign="top"><tt>[in]</tt>&nbsp;</td><td valign="top"><em>r</em>&nbsp;</td><td>C++ name token. </td></tr>
1122  </table>
1123  </dd>
1124</dl>
1125<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to decoded C++ name string. </dd></dl>
1126<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="libmangle_8h.html#a14ff3e5c3309017dc99459ef1ffef582">libmangle_decode_ms_name()</a> </dd></dl>
1127
1128</div>
1129</div>
1130</div>
1131<hr size="1"/><address style="text-align: right;"><small>Generated on 23 Jul 2010 for libmangle by&nbsp;
1132<a href="http://www.doxygen.org/index.html">
1133<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>
1134</body>
1135</html>
1136