diff options
author | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
---|---|---|
committer | neodarz <neodarz@neodarz.net> | 2018-08-11 20:21:34 +0200 |
commit | 0ea5fc66924303d1bf73ba283a383e2aadee02f2 (patch) | |
tree | 2568e71a7ccc44ec23b8bb3f0ff97fb6bf2ed709 /docs/doxygen/nel/cf__gramatical_8cpp-source.html | |
download | nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.tar.xz nevrax-website-self-hostable-0ea5fc66924303d1bf73ba283a383e2aadee02f2.zip |
Initial commit
Diffstat (limited to 'docs/doxygen/nel/cf__gramatical_8cpp-source.html')
-rw-r--r-- | docs/doxygen/nel/cf__gramatical_8cpp-source.html | 1562 |
1 files changed, 1562 insertions, 0 deletions
diff --git a/docs/doxygen/nel/cf__gramatical_8cpp-source.html b/docs/doxygen/nel/cf__gramatical_8cpp-source.html new file mode 100644 index 00000000..6145755c --- /dev/null +++ b/docs/doxygen/nel/cf__gramatical_8cpp-source.html @@ -0,0 +1,1562 @@ +<!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w3.org/TR/REC-html40/loose.dtd"> +<HTML> +<HEAD> + <TITLE>nevrax.org : docs</TITLE> + <LINK REL=stylesheet TYPE="text/css" HREF="http://www.nevrax.org/inc/css/nevrax.css"> + <link href="doxygen.css" rel="stylesheet" type="text/css"> +</HEAD> +<BODY MARGINHEIGHT="0" MARGINWIDTH="0"> + +<!-- uplinks --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.org><b>Home</B></FONT></A> </TD> + <TD><IMG width=6 height=14 SRC="http://www.nevrax.org/inc/img/reddots.gif" ALT="#" VSPACE=2 HSPACE=2 BORDER=0 ></TD><TD VALIGN=middle> <A CLASS=uplinks HREF=http://www.nevrax.com><b>nevrax.com</B></FONT></A> </TD> + </TR> +</TABLE> + +<!-- banner Nevrax --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%> + <TR><TD BGCOLOR="#000000" BACKGROUND="http://www.nevrax.org/inc/img/black_banner.jpg"><A HREF="http://www.nevrax.org"><IMG SRC="http://www.nevrax.org/inc/img/nevrax.gif" WIDTH="170" HEIGHT="45" BORDER=0 ALT="Nevrax" ></A></TD></TR> +</TABLE> + +<!-- main table --> +<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 height=100%> + <TR> + <TD WIDTH=16><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="10" BORDER=0 ALT=""></TD> + <TD WIDTH=140 BGCOLOR=#dddddd VALIGN=TOP ALIGN=middle><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + + <!------ Begin Box ------> + <TABLE BORDER=0 CELLSPACING=0 CELLPADDING=0 BGCOLOR=black><TR><TD><TABLE border=0 cellspacing=2 cellpadding=0 width=120><tr><TD ALIGN=middle bgcolor=black> + <FONT COLOR=white FACE="sans-serif"><B>Nevrax.org</B></FONT></TD></TR><tr><td colspan=2 bgcolor=#FFFFFF> + <TABLE cellspacing=0 cellpadding=1 border=0> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="Rubrique news"><img width=13 height=15 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-news.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/news/" TITLE="News">News</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Rubrique mail"><img width=15 height=11 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-mail.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/mail/" TITLE="Mailing list archive">Mailing-list</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Rubrique docs"><img width=14 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-docs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/docs/" TITLE="Documentation">Documentation</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="Rubrique cvs"><img width=13 height=17 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-cvs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/cvs/" TITLE="CVS Web">CVS</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Rubrique bugs"><img width=20 height=16 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-bugs.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/bugs/" TITLE="Bugtracking">Bugs</a></td></tr> + <tr><td ALIGN=middle><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="Rubrique license"><img width=18 height=12 hspace=5 border=0 src=http://www.nevrax.org/inc/img/picto-gpl.gif ALT=#></A></td><td><a class='linkbox' href="http://www.nevrax.org/GPL.php3" TITLE="License">License</a></td></tr> + </TABLE> + </TD></TR></TABLE></TD></TR></TABLE> + <!------ End Box ------> + + </TD> + <TD WIDTH=15><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="16" HEIGHT="16" BORDER=0 ALT=""></TD> + <TD ALIGN=left valign=top><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="140" HEIGHT="10" BORDER=0 ALT=""> + +<!-- title --> +<TABLE background="http://www.nevrax.org/inc/img/redline.gif" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td> +<A HREF="http://www.nevrax.org/docs/"><img src="http://www.nevrax.org/inc/img/t_docs.gif" ALT="Docs" HEIGHT=20 BORDER=0></A> +</td><td><IMG SRC="http://www.nevrax.org/inc/img/pixel.gif" WIDTH="1" HEIGHT="1" BORDER=0 ALT=""> +</td></tr></table> + + +<!-- block --> +<TABLE bgcolor="#dddddd" CELLSPACING=0 CELLPADDING=0 BORDER=0 width=100%><tr><td width=1% valign=middle><img width=6 height=14 hspace=2 vspace=2 src="http://www.nevrax.org/inc/img/reddots.gif"></TD> + <TD><B>Documentation</B></TD> + <TD ALIGN=RIGHT> </td> +</tr></table> +<!-- Generated by Doxygen 1.2.14 --> +<center> +<a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="namespaces.html">Namespace List</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="classes.html">Alphabetical List</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="namespacemembers.html">Namespace Members</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="globals.html">File Members</a> <a class="qindex" href="pages.html">Related Pages</a> <a class="qindexRef" doxygen="_cgi:http://www.nevrax.org/cgi-bin/nel-search.cgi" href="http://www.nevrax.org/cgi-bin/nel-search.cgi">Search</a> </center> +<hr><h1>cf_gramatical.cpp</h1><a href="cf__gramatical_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre>00001 +00002 <font class="comment">/* A Bison parser, made from cf_gramatical.yxx</font> +00003 <font class="comment"> by GNU Bison version 1.28 */</font> +00004 +<a name="l00005"></a><a class="code" href="cf__gramatical_8cpp.html#a0">00005</a> <font class="preprocessor">#define YYBISON 1 </font><font class="comment">/* Identify Bison output. */</font> +00006 +<a name="l00007"></a><a class="code" href="cf__gramatical_8cpp.html#a1">00007</a> <font class="preprocessor">#define yyparse cfparse</font> +<a name="l00008"></a><a class="code" href="cf__gramatical_8cpp.html#a2">00008</a> <font class="preprocessor"></font><font class="preprocessor">#define yylex cflex</font> +<a name="l00009"></a><a class="code" href="cf__gramatical_8cpp.html#a3">00009</a> <font class="preprocessor"></font><font class="preprocessor">#define yyerror cferror</font> +<a name="l00010"></a><a class="code" href="cf__gramatical_8cpp.html#a4">00010</a> <font class="preprocessor"></font><font class="preprocessor">#define yylval cflval</font> +<a name="l00011"></a><a class="code" href="cf__gramatical_8cpp.html#a5">00011</a> <font class="preprocessor"></font><font class="preprocessor">#define yychar cfchar</font> +<a name="l00012"></a><a class="code" href="cf__gramatical_8cpp.html#a6">00012</a> <font class="preprocessor"></font><font class="preprocessor">#define yydebug cfdebug</font> +<a name="l00013"></a><a class="code" href="cf__gramatical_8cpp.html#a7">00013</a> <font class="preprocessor"></font><font class="preprocessor">#define yynerrs cfnerrs</font> +<a name="l00014"></a><a class="code" href="cf__gramatical_8cpp.html#a8">00014</a> <font class="preprocessor"></font><font class="preprocessor">#define ADD_ASSIGN 257</font> +<a name="l00015"></a><a class="code" href="cf__gramatical_8cpp.html#a9">00015</a> <font class="preprocessor"></font><font class="preprocessor">#define ASSIGN 258</font> +<a name="l00016"></a><a class="code" href="cf__gramatical_8cpp.html#a10">00016</a> <font class="preprocessor"></font><font class="preprocessor">#define VARIABLE 259</font> +<a name="l00017"></a><a class="code" href="cf__gramatical_8cpp.html#a11">00017</a> <font class="preprocessor"></font><font class="preprocessor">#define STRING 260</font> +<a name="l00018"></a><a class="code" href="cf__gramatical_8cpp.html#a12">00018</a> <font class="preprocessor"></font><font class="preprocessor">#define SEMICOLON 261</font> +<a name="l00019"></a><a class="code" href="cf__gramatical_8cpp.html#a13">00019</a> <font class="preprocessor"></font><font class="preprocessor">#define PLUS 262</font> +<a name="l00020"></a><a class="code" href="cf__gramatical_8cpp.html#a14">00020</a> <font class="preprocessor"></font><font class="preprocessor">#define MINUS 263</font> +<a name="l00021"></a><a class="code" href="cf__gramatical_8cpp.html#a15">00021</a> <font class="preprocessor"></font><font class="preprocessor">#define MULT 264</font> +<a name="l00022"></a><a class="code" href="cf__gramatical_8cpp.html#a16">00022</a> <font class="preprocessor"></font><font class="preprocessor">#define DIVIDE 265</font> +<a name="l00023"></a><a class="code" href="cf__gramatical_8cpp.html#a17">00023</a> <font class="preprocessor"></font><font class="preprocessor">#define RPAREN 266</font> +<a name="l00024"></a><a class="code" href="cf__gramatical_8cpp.html#a18">00024</a> <font class="preprocessor"></font><font class="preprocessor">#define LPAREN 267</font> +<a name="l00025"></a><a class="code" href="cf__gramatical_8cpp.html#a19">00025</a> <font class="preprocessor"></font><font class="preprocessor">#define RBRACE 268</font> +<a name="l00026"></a><a class="code" href="cf__gramatical_8cpp.html#a20">00026</a> <font class="preprocessor"></font><font class="preprocessor">#define LBRACE 269</font> +<a name="l00027"></a><a class="code" href="cf__gramatical_8cpp.html#a21">00027</a> <font class="preprocessor"></font><font class="preprocessor">#define COMMA 270</font> +<a name="l00028"></a><a class="code" href="cf__gramatical_8cpp.html#a22">00028</a> <font class="preprocessor"></font><font class="preprocessor">#define INT 271</font> +<a name="l00029"></a><a class="code" href="cf__gramatical_8cpp.html#a23">00029</a> <font class="preprocessor"></font><font class="preprocessor">#define REAL 272</font> +00030 <font class="preprocessor"></font> +00031 <font class="preprocessor">#line 1 "cf_gramatical.yxx"</font> +00032 <font class="preprocessor"></font> +00033 +00034 <font class="comment">/* Includes */</font> +00035 +00036 <font class="preprocessor">#ifdef NL_OS_WINDOWS</font> +00037 <font class="preprocessor"></font><font class="preprocessor">#pragma warning (disable : 4786)</font> +00038 <font class="preprocessor"></font><font class="preprocessor">#endif // NL_OS_WINDOWS</font> +00039 <font class="preprocessor"></font> +00040 <font class="preprocessor">#include <stdio.h></font> +00041 <font class="preprocessor">#include <vector></font> +00042 <font class="preprocessor">#include <string></font> +00043 +00044 <font class="preprocessor">#include "<a class="code" href="config__file_8h.html">nel/misc/config_file.h</a>"</font> +00045 <font class="preprocessor">#include "<a class="code" href="common_8h.html">nel/misc/common.h</a>"</font> +00046 <font class="preprocessor">#include "<a class="code" href="debug_8h.html">nel/misc/debug.h</a>"</font> +00047 +00048 <font class="keyword">using</font> <font class="keyword">namespace </font>std; +00049 <font class="keyword">using</font> <font class="keyword">namespace </font>NLMISC; +00050 +00051 <font class="comment">/* Constantes */</font> +00052 +<a name="l00053"></a><a class="code" href="cf__gramatical_8cpp.html#a24">00053</a> <font class="preprocessor">#define YYPARSE_PARAM pvararray</font> +00054 <font class="preprocessor"></font> +00055 <font class="comment">// WARNING!!!! DEBUG_PRINTF are commented using // so IT MUST HAVE NO INSTRUCTION AFTER A DEBUG_PRINTF OR THEY LL BE COMMENTED</font> +00056 +00057 <font class="comment">//#define DEBUG_PRINTF InfoLog->displayRaw</font> +00058 <font class="preprocessor">#ifdef __GNUC__</font> +00059 <font class="preprocessor"></font><font class="preprocessor">#define DEBUG_PRINTF(format, args...)</font> +00060 <font class="preprocessor"></font><font class="preprocessor">#else // __GNUC__</font> +<a name="l00061"></a><a class="code" href="cf__gramatical_8cpp.html#a25">00061</a> <font class="preprocessor"></font><font class="preprocessor">#define DEBUG_PRINTF // InfoLog->displayRaw</font> +00062 <font class="preprocessor"></font><font class="preprocessor">#endif // __GNUC__</font> +00063 <font class="preprocessor"></font> +00064 +00065 <font class="comment">//#define DEBUG_PRINT(a) InfoLog->displayRaw(a)</font> +<a name="l00066"></a><a class="code" href="cf__gramatical_8cpp.html#a26">00066</a> <font class="preprocessor">#define DEBUG_PRINT(a)</font> +00067 <font class="preprocessor"></font> +00068 <font class="comment">/* Types */</font> +00069 +<a name="l00070"></a><a class="code" href="cf__gramatical_8cpp.html#a82">00070</a> <font class="keyword">enum</font> <a class="code" href="cf__gramatical_8cpp.html#a82">cf_operation</a> { <a class="code" href="cf__gramatical_8cpp.html#a82a71">OP_PLUS</a>, <a class="code" href="cf__gramatical_8cpp.html#a82a72">OP_MINUS</a>, <a class="code" href="cf__gramatical_8cpp.html#a82a73">OP_MULT</a>, <a class="code" href="cf__gramatical_8cpp.html#a82a74">OP_DIVIDE</a>, <a class="code" href="cf__gramatical_8cpp.html#a82a75">OP_NEG</a> }; +00071 +<a name="l00072"></a><a class="code" href="structcf__value.html">00072</a> <font class="keyword">struct </font><a class="code" href="structcf__value.html">cf_value</a> +00073 { +<a name="l00074"></a><a class="code" href="structcf__value.html#m0">00074</a> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0">NLMISC::CConfigFile::CVar::TVarType</a> <a class="code" href="structcf__value.html#m0">Type</a>; +00075 <font class="keywordtype">int</font> <a class="code" href="structcf__value.html#m1">Int</a>; +00076 <font class="keywordtype">double</font> <a class="code" href="structcf__value.html#m2">Real</a>; +00077 <font class="keywordtype">char</font> <a class="code" href="structcf__value.html#m3">String</a>[1024]; +00078 }; +00079 +00080 <font class="comment">/* Externals */</font> +00081 +<a name="l00082"></a><a class="code" href="cf__gramatical_8cpp.html#a52">00082</a> <font class="keyword">extern</font> <font class="keywordtype">bool</font> <a class="code" href="cf__gramatical_8cpp.html#a52">cf_Ignore</a>; +00083 +<a name="l00084"></a><a class="code" href="cf__gramatical_8cpp.html#a53">00084</a> <font class="keyword">extern</font> FILE *<a class="code" href="cf__gramatical_8cpp.html#a53">yyin</a>; +00085 +00086 <font class="comment">/* Variables */</font> +00087 +<a name="l00088"></a><a class="code" href="cf__gramatical_8cpp.html#a54">00088</a> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html">NLMISC::CConfigFile::CVar</a> <a class="code" href="cf__gramatical_8cpp.html#a54">cf_CurrentVar</a>; +00089 +<a name="l00090"></a><a class="code" href="cf__gramatical_8cpp.html#a55">00090</a> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a55">cf_CurrentLine</a>; +00091 +<a name="l00092"></a><a class="code" href="cf__gramatical_8cpp.html#a56">00092</a> <font class="keywordtype">bool</font> <a class="code" href="cf__gramatical_8cpp.html#a56">cf_OverwriteExistingVariable</a>; <font class="comment">// setup in the config_file.cpp reparse()</font> +00093 +00094 +00095 +00096 <font class="comment">/* Prototypes */</font> +00097 +00098 <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a2">yylex</a> (<font class="keywordtype">void</font>); +00099 +00100 <a class="code" href="structcf__value.html">cf_value</a> <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a> (<a class="code" href="structcf__value.html">cf_value</a> a, <a class="code" href="structcf__value.html">cf_value</a> b, <a class="code" href="cf__gramatical_8cpp.html#a82">cf_operation</a> op); +00101 +00102 <font class="keywordtype">void</font> <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (<a class="code" href="structcf__value.html">cf_value</a> Val); +00103 +00104 <font class="keywordtype">void</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html">NLMISC::CConfigFile::CVar</a> &Var, <a class="code" href="structcf__value.html">cf_value</a> Val); +00105 +00106 <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *); +00107 +00108 +00109 <font class="preprocessor">#line 81 "cf_gramatical.yxx"</font> +<a name="l00110"></a><a class="code" href="unionYYSTYPE.html">00110</a> <font class="preprocessor"></font><font class="keyword">typedef</font> <font class="keyword">union </font>{ +00111 <a class="code" href="structcf__value.html">cf_value</a> Val; +00112 } <a class="code" href="unionYYSTYPE.html">YYSTYPE</a>; +00113 <font class="preprocessor">#include <stdio.h></font> +00114 +00115 <font class="preprocessor">#ifndef __cplusplus</font> +00116 <font class="preprocessor"></font><font class="preprocessor">#ifndef __STDC__</font> +<a name="l00117"></a><a class="code" href="cf__gramatical_8cpp.html#a27">00117</a> <font class="preprocessor"></font><font class="preprocessor">#define const</font> +00118 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00119 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00120 <font class="preprocessor"></font> +00121 +00122 +<a name="l00123"></a><a class="code" href="cf__gramatical_8cpp.html#a28">00123</a> <font class="preprocessor">#define YYFINAL 44</font> +<a name="l00124"></a><a class="code" href="cf__gramatical_8cpp.html#a29">00124</a> <font class="preprocessor"></font><font class="preprocessor">#define YYFLAG -32768</font> +<a name="l00125"></a><a class="code" href="cf__gramatical_8cpp.html#a30">00125</a> <font class="preprocessor"></font><font class="preprocessor">#define YYNTBASE 19</font> +00126 <font class="preprocessor"></font> +<a name="l00127"></a><a class="code" href="cf__gramatical_8cpp.html#a31">00127</a> <font class="preprocessor">#define YYTRANSLATE(x) ((unsigned)(x) <= 272 ? yytranslate[x] : 30)</font> +00128 <font class="preprocessor"></font> +<a name="l00129"></a><a class="code" href="cf__gramatical_8cpp.html#a57">00129</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font> <a class="code" href="cf__gramatical_8cpp.html#a57">yytranslate</a>[] = { 0, +00130 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00131 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00132 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00133 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00134 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00135 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00136 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00137 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00138 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00139 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00140 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00141 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00142 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00143 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00144 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00145 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00146 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00147 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00148 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00149 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00150 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00151 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00152 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00153 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00154 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, +00155 2, 2, 2, 2, 2, 1, 3, 4, 5, 6, +00156 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, +00157 17, 18 +00158 }; +00159 +00160 <font class="preprocessor">#if YYDEBUG != 0</font> +00161 <font class="preprocessor"></font><font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> yyprhs[] = { 0, +00162 0, 1, 4, 5, 8, 10, 15, 20, 22, 26, +00163 28, 29, 34, 35, 37, 41, 45, 47, 51, 55, +00164 58, 61, 65, 67, 69, 71, 73 +00165 }; +00166 +00167 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> yyrhs[] = { -1, +00168 20, 21, 0, 0, 21, 22, 0, 22, 0, 5, +00169 4, 23, 7, 0, 5, 3, 23, 7, 0, 26, +00170 0, 15, 24, 14, 0, 26, 0, 0, 26, 25, +00171 16, 24, 0, 0, 27, 0, 26, 8, 27, 0, +00172 26, 9, 27, 0, 28, 0, 27, 10, 28, 0, +00173 27, 11, 28, 0, 8, 28, 0, 9, 28, 0, +00174 13, 23, 12, 0, 17, 0, 18, 0, 6, 0, +00175 29, 0, 5, 0 +00176 }; +00177 +00178 <font class="preprocessor">#endif</font> +00179 <font class="preprocessor"></font> +00180 <font class="preprocessor">#if YYDEBUG != 0</font> +00181 <font class="preprocessor"></font><font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> yyrline[] = { 0, +00182 100, 100, 100, 103, 104, 107, 161, 209, 210, 213, +00183 214, 214, 215, 218, 219, 220, 223, 224, 225, 228, +00184 229, 230, 231, 232, 233, 234, 237 +00185 }; +00186 <font class="preprocessor">#endif</font> +00187 <font class="preprocessor"></font> +00188 +00189 <font class="preprocessor">#if YYDEBUG != 0 || defined (YYERROR_VERBOSE)</font> +00190 <font class="preprocessor"></font> +00191 <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">char</font> * <font class="keyword">const</font> yytname[] = { <font class="stringliteral">"$"</font>,<font class="stringliteral">"error"</font>,<font class="stringliteral">"$undefined."</font>,<font class="stringliteral">"ADD_ASSIGN"</font>, +00192 <font class="stringliteral">"ASSIGN"</font>,<font class="stringliteral">"VARIABLE"</font>,<font class="stringliteral">"STRING"</font>,<font class="stringliteral">"SEMICOLON"</font>,<font class="stringliteral">"PLUS"</font>,<font class="stringliteral">"MINUS"</font>,<font class="stringliteral">"MULT"</font>,<font class="stringliteral">"DIVIDE"</font>,<font class="stringliteral">"RPAREN"</font>, +00193 <font class="stringliteral">"LPAREN"</font>,<font class="stringliteral">"RBRACE"</font>,<font class="stringliteral">"LBRACE"</font>,<font class="stringliteral">"COMMA"</font>,<font class="stringliteral">"INT"</font>,<font class="stringliteral">"REAL"</font>,<font class="stringliteral">"ROOT"</font>,<font class="stringliteral">"@1"</font>,<font class="stringliteral">"instlist"</font>,<font class="stringliteral">"inst"</font>, +00194 <font class="stringliteral">"expression"</font>,<font class="stringliteral">"exprbrace"</font>,<font class="stringliteral">"@2"</font>,<font class="stringliteral">"expr2"</font>,<font class="stringliteral">"expr3"</font>,<font class="stringliteral">"expr4"</font>,<font class="stringliteral">"variable"</font>, NULL +00195 }; +00196 <font class="preprocessor">#endif</font> +00197 <font class="preprocessor"></font> +<a name="l00198"></a><a class="code" href="cf__gramatical_8cpp.html#a58">00198</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a58">yyr1</a>[] = { 0, +00199 20, 19, 19, 21, 21, 22, 22, 23, 23, 24, +00200 25, 24, 24, 26, 26, 26, 27, 27, 27, 28, +00201 28, 28, 28, 28, 28, 28, 29 +00202 }; +00203 +<a name="l00204"></a><a class="code" href="cf__gramatical_8cpp.html#a59">00204</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a59">yyr2</a>[] = { 0, +00205 0, 2, 0, 2, 1, 4, 4, 1, 3, 1, +00206 0, 4, 0, 1, 3, 3, 1, 3, 3, 2, +00207 2, 3, 1, 1, 1, 1, 1 +00208 }; +00209 +<a name="l00210"></a><a class="code" href="cf__gramatical_8cpp.html#a60">00210</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a60">yydefact</a>[] = { 1, +00211 0, 0, 2, 5, 0, 0, 4, 27, 25, 0, +00212 0, 0, 13, 23, 24, 0, 8, 14, 17, 26, +00213 0, 20, 21, 0, 0, 10, 7, 0, 0, 0, +00214 0, 6, 22, 9, 0, 15, 16, 18, 19, 13, +00215 12, 0, 0, 0 +00216 }; +00217 +<a name="l00218"></a><a class="code" href="cf__gramatical_8cpp.html#a61">00218</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a61">yydefgoto</a>[] = { 42, +00219 1, 3, 4, 16, 25, 35, 17, 18, 19, 20 +00220 }; +00221 +<a name="l00222"></a><a class="code" href="cf__gramatical_8cpp.html#a62">00222</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a62">yypact</a>[] = { 5, +00223 7, 15, 7,-32768, -2, -2,-32768,-32768,-32768, 20, +00224 20, -2, 20,-32768,-32768, 25, 22, 13,-32768,-32768, +00225 29,-32768,-32768, 8, 26, 1,-32768, 20, 20, 20, +00226 20,-32768,-32768,-32768, 23, 13, 13,-32768,-32768, 20, +00227 -32768, 41, 42,-32768 +00228 }; +00229 +<a name="l00230"></a><a class="code" href="cf__gramatical_8cpp.html#a63">00230</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a63">yypgoto</a>[] = {-32768, +00231 -32768,-32768, 40, 2, 4,-32768, -13, 6, -9,-32768 +00232 }; +00233 +00234 +<a name="l00235"></a><a class="code" href="cf__gramatical_8cpp.html#a32">00235</a> <font class="preprocessor">#define YYLAST 44</font> +00236 <font class="preprocessor"></font> +00237 +<a name="l00238"></a><a class="code" href="cf__gramatical_8cpp.html#a64">00238</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a64">yytable</a>[] = { 26, +00239 22, 23, 8, 9, -3, 10, 11, 21, 28, 29, +00240 12, 2, 13, 24, 14, 15, -11, 5, 6, 33, +00241 38, 39, 30, 31, 8, 9, 26, 10, 11, 28, +00242 29, 27, 12, 36, 37, 32, 14, 15, 40, 34, +00243 43, 44, 7, 41 +00244 }; +00245 +<a name="l00246"></a><a class="code" href="cf__gramatical_8cpp.html#a65">00246</a> <font class="keyword">static</font> <font class="keyword">const</font> <font class="keywordtype">short</font> <a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[] = { 13, +00247 10, 11, 5, 6, 0, 8, 9, 6, 8, 9, +00248 13, 5, 15, 12, 17, 18, 16, 3, 4, 12, +00249 30, 31, 10, 11, 5, 6, 40, 8, 9, 8, +00250 9, 7, 13, 28, 29, 7, 17, 18, 16, 14, +00251 0, 0, 3, 40 +00252 }; +00253 <font class="comment">/* -*-C-*- Note some compilers choke on comments on `#line' lines. */</font> +00254 <font class="preprocessor">#line 3 "cfbison.simple"</font> +00255 <font class="preprocessor"></font><font class="comment">/* This file comes from bison-1.28. */</font> +00256 +00257 <font class="comment">/* Skeleton output parser for bison,</font> +00258 <font class="comment"> Copyright (C) 1984, 1989, 1990 Free Software Foundation, Inc.</font> +00259 <font class="comment"></font> +00260 <font class="comment"> This program is free software; you can redistribute it and/or modify</font> +00261 <font class="comment"> it under the terms of the GNU General Public License as published by</font> +00262 <font class="comment"> the Free Software Foundation; either version 2, or (at your option)</font> +00263 <font class="comment"> any later version.</font> +00264 <font class="comment"></font> +00265 <font class="comment"> This program is distributed in the hope that it will be useful,</font> +00266 <font class="comment"> but WITHOUT ANY WARRANTY; without even the implied warranty of</font> +00267 <font class="comment"> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</font> +00268 <font class="comment"> GNU General Public License for more details.</font> +00269 <font class="comment"></font> +00270 <font class="comment"> You should have received a copy of the GNU General Public License</font> +00271 <font class="comment"> along with this program; if not, write to the Free Software</font> +00272 <font class="comment"> Foundation, Inc., 59 Temple Place - Suite 330,</font> +00273 <font class="comment"> Boston, MA 02111-1307, USA. */</font> +00274 +00275 <font class="comment">/* As a special exception, when this file is copied by Bison into a</font> +00276 <font class="comment"> Bison output file, you may use that output file without restriction.</font> +00277 <font class="comment"> This special exception was added by the Free Software Foundation</font> +00278 <font class="comment"> in version 1.24 of Bison. */</font> +00279 +00280 <font class="comment">/* This is the parser code that is written into each bison parser</font> +00281 <font class="comment"> when the %semantic_parser declaration is not specified in the grammar.</font> +00282 <font class="comment"> It was written by Richard Stallman by simplifying the hairy parser</font> +00283 <font class="comment"> used when %semantic_parser is specified. */</font> +00284 +00285 <font class="preprocessor">#ifndef YYSTACK_USE_ALLOCA</font> +00286 <font class="preprocessor"></font><font class="preprocessor">#ifdef alloca</font> +00287 <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_USE_ALLOCA</font> +00288 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* alloca not defined */</font> +00289 <font class="preprocessor">#ifdef __GNUC__</font> +00290 <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_USE_ALLOCA</font> +00291 <font class="preprocessor"></font><font class="preprocessor">#define alloca __builtin_alloca</font> +00292 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not GNU C. */</font> +00293 <font class="preprocessor">#if (!defined (__STDC__) && defined (sparc)) || defined (__sparc__) || defined (__sparc) || defined (__sgi) || (defined (__sun) && defined (__i386))</font> +00294 <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_USE_ALLOCA</font> +00295 <font class="preprocessor"></font><font class="preprocessor">#include <alloca.h></font> +00296 <font class="preprocessor">#else </font><font class="comment">/* not sparc */</font> +00297 <font class="comment">/* We think this test detects Watcom and Microsoft C. */</font> +00298 <font class="comment">/* This used to test MSDOS, but that is a bad idea</font> +00299 <font class="comment"> since that symbol is in the user namespace. */</font> +00300 <font class="preprocessor">#if (defined (_MSDOS) || defined (_MSDOS_)) && !defined (__TURBOC__)</font> +00301 <font class="preprocessor"></font><font class="preprocessor">#if 0 </font><font class="comment">/* No need for malloc.h, which pollutes the namespace;</font> +00302 <font class="comment"> instead, just don't use alloca. */</font> +00303 <font class="preprocessor">#include <malloc.h></font> +00304 <font class="preprocessor">#endif</font> +00305 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not MSDOS, or __TURBOC__ */</font> +00306 <font class="preprocessor">#if defined(_AIX)</font> +00307 <font class="preprocessor"></font><font class="comment">/* I don't know what this was needed for, but it pollutes the namespace.</font> +00308 <font class="comment"> So I turned it off. rms, 2 May 1997. */</font> +00309 <font class="comment">/* #include <malloc.h> */</font> +00310 <font class="preprocessor"> #pragma alloca</font> +00311 <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_USE_ALLOCA</font> +00312 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not MSDOS, or __TURBOC__, or _AIX */</font> +00313 <font class="preprocessor">#if 0</font> +00314 <font class="preprocessor"></font><font class="preprocessor">#ifdef __hpux </font><font class="comment">/* haible@ilog.fr says this works for HPUX 9.05 and up,</font> +00315 <font class="comment"> and on HPUX 10. Eventually we can turn this on. */</font> +00316 <font class="preprocessor">#define YYSTACK_USE_ALLOCA</font> +00317 <font class="preprocessor"></font><font class="preprocessor">#define alloca __builtin_alloca</font> +00318 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* __hpux */</font> +00319 <font class="preprocessor">#endif</font> +00320 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* not _AIX */</font> +00321 <font class="preprocessor">#endif </font><font class="comment">/* not MSDOS, or __TURBOC__ */</font> +00322 <font class="preprocessor">#endif </font><font class="comment">/* not sparc */</font> +00323 <font class="preprocessor">#endif </font><font class="comment">/* not GNU C */</font> +00324 <font class="preprocessor">#endif </font><font class="comment">/* alloca not defined */</font> +00325 <font class="preprocessor">#endif </font><font class="comment">/* YYSTACK_USE_ALLOCA not defined */</font> +00326 +00327 <font class="preprocessor">#ifdef YYSTACK_USE_ALLOCA</font> +00328 <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_ALLOC alloca</font> +00329 <font class="preprocessor"></font><font class="preprocessor">#else</font> +<a name="l00330"></a><a class="code" href="cf__gramatical_8cpp.html#a33">00330</a> <font class="preprocessor"></font><font class="preprocessor">#define YYSTACK_ALLOC malloc</font> +00331 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00332 <font class="preprocessor"></font> +00333 <font class="comment">/* Note: there must be only one dollar sign in this file.</font> +00334 <font class="comment"> It is replaced by the list of actions, each action</font> +00335 <font class="comment"> as one case of the switch. */</font> +00336 +<a name="l00337"></a><a class="code" href="cf__gramatical_8cpp.html#a34">00337</a> <font class="preprocessor">#define yyerrok (yyerrstatus = 0)</font> +<a name="l00338"></a><a class="code" href="cf__gramatical_8cpp.html#a35">00338</a> <font class="preprocessor"></font><font class="preprocessor">#define yyclearin (yychar = YYEMPTY)</font> +<a name="l00339"></a><a class="code" href="cf__gramatical_8cpp.html#a36">00339</a> <font class="preprocessor"></font><font class="preprocessor">#define YYEMPTY -2</font> +<a name="l00340"></a><a class="code" href="cf__gramatical_8cpp.html#a37">00340</a> <font class="preprocessor"></font><font class="preprocessor">#define YYEOF 0</font> +<a name="l00341"></a><a class="code" href="cf__gramatical_8cpp.html#a38">00341</a> <font class="preprocessor"></font><font class="preprocessor">#define YYACCEPT goto yyacceptlab</font> +<a name="l00342"></a><a class="code" href="cf__gramatical_8cpp.html#a39">00342</a> <font class="preprocessor"></font><font class="preprocessor">#define YYABORT goto yyabortlab</font> +<a name="l00343"></a><a class="code" href="cf__gramatical_8cpp.html#a40">00343</a> <font class="preprocessor"></font><font class="preprocessor">#define YYERROR goto yyerrlab1</font> +00344 <font class="preprocessor"></font><font class="comment">/* Like YYERROR except do call yyerror.</font> +00345 <font class="comment"> This remains here temporarily to ease the</font> +00346 <font class="comment"> transition to the new meaning of YYERROR, for GCC.</font> +00347 <font class="comment"> Once GCC version 2 has supplanted version 1, this can go. */</font> +<a name="l00348"></a><a class="code" href="cf__gramatical_8cpp.html#a41">00348</a> <font class="preprocessor">#define YYFAIL goto yyerrlab</font> +<a name="l00349"></a><a class="code" href="cf__gramatical_8cpp.html#a42">00349</a> <font class="preprocessor"></font><font class="preprocessor">#define YYRECOVERING() (!!yyerrstatus)</font> +<a name="l00350"></a><a class="code" href="cf__gramatical_8cpp.html#a43">00350</a> <font class="preprocessor"></font><font class="preprocessor">#define YYBACKUP(token, value) \</font> +00351 <font class="preprocessor">do \</font> +00352 <font class="preprocessor"> if (yychar == YYEMPTY && yylen == 1) \</font> +00353 <font class="preprocessor"> { yychar = (token), yylval = (value); \</font> +00354 <font class="preprocessor"> yychar1 = YYTRANSLATE (yychar); \</font> +00355 <font class="preprocessor"> YYPOPSTACK; \</font> +00356 <font class="preprocessor"> goto yybackup; \</font> +00357 <font class="preprocessor"> } \</font> +00358 <font class="preprocessor"> else \</font> +00359 <font class="preprocessor"> { yyerror ("syntax error: cannot back up"); YYERROR; } \</font> +00360 <font class="preprocessor">while (0)</font> +00361 <font class="preprocessor"></font> +<a name="l00362"></a><a class="code" href="cf__gramatical_8cpp.html#a44">00362</a> <font class="preprocessor">#define YYTERROR 1</font> +<a name="l00363"></a><a class="code" href="cf__gramatical_8cpp.html#a45">00363</a> <font class="preprocessor"></font><font class="preprocessor">#define YYERRCODE 256</font> +00364 <font class="preprocessor"></font> +00365 <font class="preprocessor">#ifndef YYPURE</font> +<a name="l00366"></a><a class="code" href="cf__gramatical_8cpp.html#a46">00366</a> <font class="preprocessor"></font><font class="preprocessor">#define YYLEX yylex()</font> +00367 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00368 <font class="preprocessor"></font> +00369 <font class="preprocessor">#ifdef YYPURE</font> +00370 <font class="preprocessor"></font><font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00371 <font class="preprocessor"></font><font class="preprocessor">#ifdef YYLEX_PARAM</font> +00372 <font class="preprocessor"></font><font class="preprocessor">#define YYLEX yylex(&yylval, &yylloc, YYLEX_PARAM)</font> +00373 <font class="preprocessor"></font><font class="preprocessor">#else</font> +00374 <font class="preprocessor"></font><font class="preprocessor">#define YYLEX yylex(&yylval, &yylloc)</font> +00375 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00376 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not YYLSP_NEEDED */</font> +00377 <font class="preprocessor">#ifdef YYLEX_PARAM</font> +00378 <font class="preprocessor"></font><font class="preprocessor">#define YYLEX yylex(&yylval, YYLEX_PARAM)</font> +00379 <font class="preprocessor"></font><font class="preprocessor">#else</font> +00380 <font class="preprocessor"></font><font class="preprocessor">#define YYLEX yylex(&yylval)</font> +00381 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00382 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* not YYLSP_NEEDED */</font> +00383 <font class="preprocessor">#endif</font> +00384 <font class="preprocessor"></font> +00385 <font class="comment">/* If nonreentrant, generate the variables here */</font> +00386 +00387 <font class="preprocessor">#ifndef YYPURE</font> +00388 <font class="preprocessor"></font> +<a name="l00389"></a><a class="code" href="cf__gramatical_8cpp.html#a66">00389</a> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>; <font class="comment">/* the lookahead symbol */</font> +<a name="l00390"></a><a class="code" href="cf__gramatical_8cpp.html#a67">00390</a> <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> <a class="code" href="cf__gramatical_8cpp.html#a4">yylval</a>; <font class="comment">/* the semantic value of the */</font> +00391 <font class="comment">/* lookahead symbol */</font> +00392 +00393 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00394 <font class="preprocessor"></font>YYLTYPE yylloc; <font class="comment">/* location data for the lookahead */</font> +00395 <font class="comment">/* symbol */</font> +00396 <font class="preprocessor">#endif</font> +00397 <font class="preprocessor"></font> +<a name="l00398"></a><a class="code" href="cf__gramatical_8cpp.html#a68">00398</a> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a7">yynerrs</a>; <font class="comment">/* number of parse errors so far */</font> +00399 <font class="preprocessor">#endif </font><font class="comment">/* not YYPURE */</font> +00400 +00401 <font class="preprocessor">#if YYDEBUG != 0</font> +00402 <font class="preprocessor"></font><font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a6">yydebug</a>; <font class="comment">/* nonzero means print parse trace */</font> +00403 <font class="comment">/* Since this is uninitialized, it does not stop multiple parsers</font> +00404 <font class="comment"> from coexisting. */</font> +00405 <font class="preprocessor">#endif</font> +00406 <font class="preprocessor"></font> +00407 <font class="comment">/* YYINITDEPTH indicates the initial size of the parser's stacks */</font> +00408 +00409 <font class="preprocessor">#ifndef YYINITDEPTH</font> +<a name="l00410"></a><a class="code" href="cf__gramatical_8cpp.html#a47">00410</a> <font class="preprocessor"></font><font class="preprocessor">#define YYINITDEPTH 200</font> +00411 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00412 <font class="preprocessor"></font> +00413 <font class="comment">/* YYMAXDEPTH is the maximum size the stacks can grow to</font> +00414 <font class="comment"> (effective only if the built-in stack extension method is used). */</font> +00415 +00416 <font class="preprocessor">#if YYMAXDEPTH == 0</font> +00417 <font class="preprocessor"></font><font class="preprocessor">#undef YYMAXDEPTH</font> +00418 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00419 <font class="preprocessor"></font> +00420 <font class="preprocessor">#ifndef YYMAXDEPTH</font> +<a name="l00421"></a><a class="code" href="cf__gramatical_8cpp.html#a48">00421</a> <font class="preprocessor"></font><font class="preprocessor">#define YYMAXDEPTH 10000</font> +00422 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00423 <font class="preprocessor"></font> +00424 <font class="comment">/* Define __yy_memcpy. Note that the size argument</font> +00425 <font class="comment"> should be passed with type unsigned int, because that is what the non-GCC</font> +00426 <font class="comment"> definitions require. With GCC, __builtin_memcpy takes an arg</font> +00427 <font class="comment"> of type size_t, but it can handle unsigned int. */</font> +00428 +00429 <font class="preprocessor">#if __GNUC__ > 1 </font><font class="comment">/* GNU C and GNU C++ define this. */</font> +00430 <font class="preprocessor">#define __yy_memcpy(TO,FROM,COUNT) __builtin_memcpy(TO,FROM,COUNT)</font> +00431 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not GNU C or C++ */</font> +00432 <font class="preprocessor">#ifndef __cplusplus</font> +00433 <font class="preprocessor"></font> +00434 <font class="comment">/* This is the most reliable way to avoid incompatibilities</font> +00435 <font class="comment"> in available built-in functions on various systems. */</font> +00436 <font class="keyword">static</font> <font class="keywordtype">void</font> +00437 <a class="code" href="cf__gramatical_8cpp.html#a81">__yy_memcpy</a> (to, <a class="code" href="cf__gramatical_8cpp.html#a69">from</a>, <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>) +00438 <font class="keywordtype">char</font> *to; +<a name="l00439"></a><a class="code" href="cf__gramatical_8cpp.html#a69">00439</a> <font class="keywordtype">char</font> *<a class="code" href="cf__gramatical_8cpp.html#a69">from</a>; +<a name="l00440"></a><a class="code" href="cf__gramatical_8cpp.html#a70">00440</a> <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>; +00441 { +00442 <font class="keyword">register</font> <font class="keywordtype">char</font> *f = <a class="code" href="cf__gramatical_8cpp.html#a69">from</a>; +00443 <font class="keyword">register</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = to; +00444 <font class="keyword">register</font> <font class="keywordtype">int</font> i = <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>; +00445 +00446 <font class="keywordflow">while</font> (i-- > 0) +00447 *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>++ = *f++; +00448 } +00449 +00450 <font class="preprocessor">#else </font><font class="comment">/* __cplusplus */</font> +00451 +00452 <font class="comment">/* This is the most reliable way to avoid incompatibilities</font> +00453 <font class="comment"> in available built-in functions on various systems. */</font> +00454 <font class="keyword">static</font> <font class="keywordtype">void</font> +00455 <a class="code" href="cf__gramatical_8cpp.html#a81">__yy_memcpy</a> (<font class="keywordtype">char</font> *to, <font class="keywordtype">char</font> *<a class="code" href="cf__gramatical_8cpp.html#a69">from</a>, <font class="keywordtype">unsigned</font> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>) +00456 { +00457 <font class="keyword">register</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a> = to; +00458 <font class="keyword">register</font> <font class="keywordtype">char</font> *f = <a class="code" href="cf__gramatical_8cpp.html#a69">from</a>; +00459 <font class="keyword">register</font> <font class="keywordtype">int</font> i = <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>; +00460 +00461 <font class="keywordflow">while</font> (i-- > 0) +00462 *<a class="code" href="driver__opengl__extension__def_8h.html#a384">t</a>++ = *f++; +00463 } +00464 +00465 <font class="preprocessor">#endif</font> +00466 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00467 <font class="preprocessor"></font> +00468 <font class="preprocessor">#line 217 "cfbison.simple"</font> +00469 <font class="preprocessor"></font> +00470 <font class="comment">/* The user can define YYPARSE_PARAM as the name of an argument to be passed</font> +00471 <font class="comment"> into yyparse. The argument should have type void *.</font> +00472 <font class="comment"> It should actually point to an object.</font> +00473 <font class="comment"> Grammar actions can access the variable by casting it</font> +00474 <font class="comment"> to the proper pointer type. */</font> +00475 +00476 <font class="preprocessor">#ifdef YYPARSE_PARAM</font> +00477 <font class="preprocessor"></font><font class="preprocessor">#ifdef __cplusplus</font> +00478 <font class="preprocessor"></font><font class="preprocessor">#define YYPARSE_PARAM_ARG void *YYPARSE_PARAM</font> +00479 <font class="preprocessor"></font><font class="preprocessor">#define YYPARSE_PARAM_DECL</font> +00480 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* not __cplusplus */</font> +00481 <font class="preprocessor">#define YYPARSE_PARAM_ARG YYPARSE_PARAM</font> +00482 <font class="preprocessor"></font><font class="preprocessor">#define YYPARSE_PARAM_DECL void *YYPARSE_PARAM;</font> +00483 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* not __cplusplus */</font> +00484 <font class="preprocessor">#else </font><font class="comment">/* not YYPARSE_PARAM */</font> +00485 <font class="preprocessor">#define YYPARSE_PARAM_ARG</font> +00486 <font class="preprocessor"></font><font class="preprocessor">#define YYPARSE_PARAM_DECL</font> +00487 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* not YYPARSE_PARAM */</font> +00488 +00489 <font class="comment">/* Prevent warning if -Wstrict-prototypes. */</font> +00490 <font class="preprocessor">#ifdef __GNUC__</font> +00491 <font class="preprocessor"></font><font class="preprocessor">#ifdef YYPARSE_PARAM</font> +00492 <font class="preprocessor"></font><font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a1">yyparse</a> (<font class="keywordtype">void</font> *); +00493 <font class="preprocessor">#else</font> +00494 <font class="preprocessor"></font><font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a1">yyparse</a> (<font class="keywordtype">void</font>); +00495 <font class="preprocessor">#endif</font> +00496 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00497 <font class="preprocessor"></font> +00498 <font class="keywordtype">int</font> +00499 <a class="code" href="cf__gramatical_8cpp.html#a1">yyparse</a>(YYPARSE_PARAM_ARG) +00500 YYPARSE_PARAM_DECL +00501 { +00502 <font class="keyword">register</font> <font class="keywordtype">int</font> yystate; +00503 <font class="keyword">register</font> <font class="keywordtype">int</font> yyn; +00504 <font class="keyword">register</font> <font class="keywordtype">short</font> *yyssp; +00505 <font class="keyword">register</font> <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> *yyvsp; +00506 <font class="keywordtype">int</font> yyerrstatus; <font class="comment">/* number of tokens to shift before error messages enabled */</font> +00507 <font class="keywordtype">int</font> yychar1 = 0; <font class="comment">/* lookahead token as an internal (translated) token number */</font> +00508 +00509 <font class="keywordtype">short</font> yyssa[<a class="code" href="cf__gramatical_8cpp.html#a47">YYINITDEPTH</a>]; <font class="comment">/* the state stack */</font> +00510 <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> yyvsa[<a class="code" href="cf__gramatical_8cpp.html#a47">YYINITDEPTH</a>]; <font class="comment">/* the semantic value stack */</font> +00511 +00512 <font class="keywordtype">short</font> *yyss = yyssa; <font class="comment">/* refer to the stacks thru separate pointers */</font> +00513 <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> *yyvs = yyvsa; <font class="comment">/* to allow yyoverflow to reallocate them elsewhere */</font> +00514 +00515 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00516 <font class="preprocessor"></font> YYLTYPE yylsa[<a class="code" href="cf__gramatical_8cpp.html#a47">YYINITDEPTH</a>]; <font class="comment">/* the location stack */</font> +00517 YYLTYPE *yyls = yylsa; +00518 YYLTYPE *yylsp; +00519 +00520 <font class="preprocessor">#define YYPOPSTACK (yyvsp--, yyssp--, yylsp--)</font> +00521 <font class="preprocessor"></font><font class="preprocessor">#else</font> +00522 <font class="preprocessor"></font><font class="preprocessor">#define YYPOPSTACK (yyvsp--, yyssp--)</font> +00523 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00524 <font class="preprocessor"></font> +00525 <font class="keywordtype">int</font> yystacksize = <a class="code" href="cf__gramatical_8cpp.html#a47">YYINITDEPTH</a>; +00526 <font class="keywordtype">int</font> yyfree_stacks = 0; +00527 +00528 <font class="preprocessor">#ifdef YYPURE</font> +00529 <font class="preprocessor"></font> <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>; +00530 <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> yylval; +00531 <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a7">yynerrs</a>; +00532 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00533 <font class="preprocessor"></font> YYLTYPE yylloc; +00534 <font class="preprocessor">#endif</font> +00535 <font class="preprocessor"></font><font class="preprocessor">#endif</font> +00536 <font class="preprocessor"></font> +00537 <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> yyval; <font class="comment">/* the variable used to return */</font> +00538 <font class="comment">/* semantic values from the action */</font> +00539 <font class="comment">/* routines */</font> +00540 <font class="comment">// ace: big fake for VC7 because it checks if yyval is init or not</font> +00541 yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m1">Int</a> = 0; +00542 <font class="keywordtype">int</font> yylen; +00543 +00544 <font class="preprocessor">#if YYDEBUG != 0</font> +00545 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00546 fprintf(stderr, <font class="stringliteral">"Starting parse\n"</font>); +00547 <font class="preprocessor">#endif</font> +00548 <font class="preprocessor"></font> +00549 yystate = 0; +00550 yyerrstatus = 0; +00551 <a class="code" href="cf__gramatical_8cpp.html#a7">yynerrs</a> = 0; +00552 <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> = <a class="code" href="cf__gramatical_8cpp.html#a36">YYEMPTY</a>; <font class="comment">/* Cause a token to be read. */</font> +00553 +00554 <font class="comment">/* Initialize stack pointers.</font> +00555 <font class="comment"> Waste one element of value and location stack</font> +00556 <font class="comment"> so that they stay on the same level as the state stack.</font> +00557 <font class="comment"> The wasted elements are never initialized. */</font> +00558 +00559 yyssp = yyss - 1; +00560 yyvsp = yyvs; +00561 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00562 <font class="preprocessor"></font> yylsp = yyls; +00563 <font class="preprocessor">#endif</font> +00564 <font class="preprocessor"></font> +00565 <font class="comment">/* Push a new state, which is found in yystate . */</font> +00566 <font class="comment">/* In all cases, when you get here, the value and location stacks</font> +00567 <font class="comment"> have just been pushed. so pushing a state here evens the stacks. */</font> +00568 yynewstate: +00569 +00570 *++yyssp = yystate; +00571 +00572 <font class="keywordflow">if</font> (yyssp >= yyss + yystacksize - 1) +00573 { +00574 <font class="comment">/* Give user a chance to reallocate the stack */</font> +00575 <font class="comment">/* Use copies of these so that the &'s don't force the real ones into memory. */</font> +00576 <a class="code" href="unionYYSTYPE.html">YYSTYPE</a> *yyvs1 = yyvs; +00577 <font class="keywordtype">short</font> *yyss1 = yyss; +00578 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00579 <font class="preprocessor"></font> YYLTYPE *yyls1 = yyls; +00580 <font class="preprocessor">#endif</font> +00581 <font class="preprocessor"></font> +00582 <font class="comment">/* Get the current used size of the three stacks, in elements. */</font> +00583 <font class="keywordtype">int</font> size = yyssp - yyss + 1; +00584 +00585 <font class="preprocessor">#ifdef yyoverflow</font> +00586 <font class="preprocessor"></font> <font class="comment">/* Each stack pointer address is followed by the size of</font> +00587 <font class="comment"> the data in use in that stack, in bytes. */</font> +00588 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00589 <font class="preprocessor"></font> <font class="comment">/* This used to be a conditional around just the two extra args,</font> +00590 <font class="comment"> but that might be undefined if yyoverflow is a macro. */</font> +00591 yyoverflow(<font class="stringliteral">"parser stack overflow"</font>, +00592 &yyss1, size * <font class="keyword">sizeof</font> (*yyssp), +00593 &yyvs1, size * <font class="keyword">sizeof</font> (*yyvsp), +00594 &yyls1, size * <font class="keyword">sizeof</font> (*yylsp), +00595 &yystacksize); +00596 <font class="preprocessor">#else</font> +00597 <font class="preprocessor"></font> yyoverflow(<font class="stringliteral">"parser stack overflow"</font>, +00598 &yyss1, size * <font class="keyword">sizeof</font> (*yyssp), +00599 &yyvs1, size * <font class="keyword">sizeof</font> (*yyvsp), +00600 &yystacksize); +00601 <font class="preprocessor">#endif</font> +00602 <font class="preprocessor"></font> +00603 yyss = yyss1; yyvs = yyvs1; +00604 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00605 <font class="preprocessor"></font> yyls = yyls1; +00606 <font class="preprocessor">#endif</font> +00607 <font class="preprocessor"></font><font class="preprocessor">#else </font><font class="comment">/* no yyoverflow */</font> +00608 <font class="comment">/* Extend the stack our own way. */</font> +00609 <font class="keywordflow">if</font> (yystacksize >= <a class="code" href="cf__gramatical_8cpp.html#a48">YYMAXDEPTH</a>) +00610 { +00611 <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a>(<font class="stringliteral">"parser stack overflow"</font>); +00612 <font class="keywordflow">if</font> (yyfree_stacks) +00613 { +00614 free (yyss); +00615 free (yyvs); +00616 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00617 <font class="preprocessor"></font> free (yyls); +00618 <font class="preprocessor">#endif</font> +00619 <font class="preprocessor"></font> } +00620 <font class="keywordflow">return</font> 2; +00621 } +00622 yystacksize *= 2; +00623 <font class="keywordflow">if</font> (yystacksize > <a class="code" href="cf__gramatical_8cpp.html#a48">YYMAXDEPTH</a>) +00624 yystacksize = <a class="code" href="cf__gramatical_8cpp.html#a48">YYMAXDEPTH</a>; +00625 <font class="preprocessor">#ifndef YYSTACK_USE_ALLOCA</font> +00626 <font class="preprocessor"></font> yyfree_stacks = 1; +00627 <font class="preprocessor">#endif</font> +00628 <font class="preprocessor"></font> yyss = (<font class="keywordtype">short</font> *) <a class="code" href="cf__gramatical_8cpp.html#a33">YYSTACK_ALLOC</a> (yystacksize * <font class="keyword">sizeof</font> (*yyssp)); +00629 <a class="code" href="cf__gramatical_8cpp.html#a81">__yy_memcpy</a> ((<font class="keywordtype">char</font> *)yyss, (<font class="keywordtype">char</font> *)yyss1, +00630 size * (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>) <font class="keyword">sizeof</font> (*yyssp)); +00631 yyvs = (<a class="code" href="unionYYSTYPE.html">YYSTYPE</a> *) <a class="code" href="cf__gramatical_8cpp.html#a33">YYSTACK_ALLOC</a> (yystacksize * <font class="keyword">sizeof</font> (*yyvsp)); +00632 <a class="code" href="cf__gramatical_8cpp.html#a81">__yy_memcpy</a> ((<font class="keywordtype">char</font> *)yyvs, (<font class="keywordtype">char</font> *)yyvs1, +00633 size * (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>) <font class="keyword">sizeof</font> (*yyvsp)); +00634 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00635 <font class="preprocessor"></font> yyls = (YYLTYPE *) <a class="code" href="cf__gramatical_8cpp.html#a33">YYSTACK_ALLOC</a> (yystacksize * <font class="keyword">sizeof</font> (*yylsp)); +00636 <a class="code" href="cf__gramatical_8cpp.html#a81">__yy_memcpy</a> ((<font class="keywordtype">char</font> *)yyls, (<font class="keywordtype">char</font> *)yyls1, +00637 size * (<font class="keywordtype">unsigned</font> <font class="keywordtype">int</font>) <font class="keyword">sizeof</font> (*yylsp)); +00638 <font class="preprocessor">#endif</font> +00639 <font class="preprocessor"></font><font class="preprocessor">#endif </font><font class="comment">/* no yyoverflow */</font> +00640 +00641 yyssp = yyss + size - 1; +00642 yyvsp = yyvs + size - 1; +00643 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00644 <font class="preprocessor"></font> yylsp = yyls + size - 1; +00645 <font class="preprocessor">#endif</font> +00646 <font class="preprocessor"></font> +00647 <font class="preprocessor">#if YYDEBUG != 0</font> +00648 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00649 fprintf(stderr, <font class="stringliteral">"Stack size increased to %d\n"</font>, yystacksize); +00650 <font class="preprocessor">#endif</font> +00651 <font class="preprocessor"></font> +00652 <font class="keywordflow">if</font> (yyssp >= yyss + yystacksize - 1) +00653 <a class="code" href="cf__gramatical_8cpp.html#a39">YYABORT</a>; +00654 } +00655 +00656 <font class="preprocessor">#if YYDEBUG != 0</font> +00657 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00658 fprintf(stderr, <font class="stringliteral">"Entering state %d\n"</font>, yystate); +00659 <font class="preprocessor">#endif</font> +00660 <font class="preprocessor"></font> +00661 <font class="keywordflow">goto</font> yybackup; +00662 yybackup: +00663 +00664 <font class="comment">/* Do appropriate processing given the current state. */</font> +00665 <font class="comment">/* Read a lookahead token if we need one and don't already have one. */</font> +00666 <font class="comment">/* yyresume: */</font> +00667 +00668 <font class="comment">/* First try to decide what to do without reference to lookahead token. */</font> +00669 +00670 yyn = <a class="code" href="cf__gramatical_8cpp.html#a62">yypact</a>[yystate]; +00671 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a29">YYFLAG</a>) +00672 <font class="keywordflow">goto</font> yydefault; +00673 +00674 <font class="comment">/* Not known => get a lookahead token if don't already have one. */</font> +00675 +00676 <font class="comment">/* yychar is either YYEMPTY or YYEOF</font> +00677 <font class="comment"> or a valid token in external form. */</font> +00678 +00679 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> == <a class="code" href="cf__gramatical_8cpp.html#a36">YYEMPTY</a>) +00680 { +00681 <font class="preprocessor">#if YYDEBUG != 0</font> +00682 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00683 fprintf(stderr, <font class="stringliteral">"Reading a token: "</font>); +00684 <font class="preprocessor">#endif</font> +00685 <font class="preprocessor"></font> <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> = <a class="code" href="cf__gramatical_8cpp.html#a46">YYLEX</a>; +00686 } +00687 +00688 <font class="comment">/* Convert token to internal form (in yychar1) for indexing tables with */</font> +00689 +00690 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> <= 0) <font class="comment">/* This means end of input. */</font> +00691 { +00692 yychar1 = 0; +00693 <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> = <a class="code" href="cf__gramatical_8cpp.html#a37">YYEOF</a>; <font class="comment">/* Don't call YYLEX any more */</font> +00694 +00695 <font class="preprocessor">#if YYDEBUG != 0</font> +00696 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00697 fprintf(stderr, <font class="stringliteral">"Now at end of input.\n"</font>); +00698 <font class="preprocessor">#endif</font> +00699 <font class="preprocessor"></font> } +00700 <font class="keywordflow">else</font> +00701 { +00702 yychar1 = <a class="code" href="ytable_8cpp.html#a100">YYTRANSLATE</a>(<a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>); +00703 +00704 <font class="preprocessor">#if YYDEBUG != 0</font> +00705 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00706 { +00707 fprintf (stderr, <font class="stringliteral">"Next token is %d (%s"</font>, <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>, yytname[yychar1]); +00708 <font class="comment">/* Give the individual parser a way to print the precise meaning</font> +00709 <font class="comment"> of a token, for further debugging info. */</font> +00710 <font class="preprocessor">#ifdef YYPRINT</font> +00711 <font class="preprocessor"></font> YYPRINT (stderr, <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>, yylval); +00712 <font class="preprocessor">#endif</font> +00713 <font class="preprocessor"></font> fprintf (stderr, <font class="stringliteral">")\n"</font>); +00714 } +00715 <font class="preprocessor">#endif</font> +00716 <font class="preprocessor"></font> } +00717 +00718 yyn += yychar1; +00719 <font class="keywordflow">if</font> (yyn < 0 || yyn > <a class="code" href="cf__gramatical_8cpp.html#a32">YYLAST</a> || <a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[yyn] != yychar1) +00720 <font class="keywordflow">goto</font> yydefault; +00721 +00722 yyn = <a class="code" href="cf__gramatical_8cpp.html#a64">yytable</a>[yyn]; +00723 +00724 <font class="comment">/* yyn is what to do for this token type in this state.</font> +00725 <font class="comment"> Negative => reduce, -yyn is rule number.</font> +00726 <font class="comment"> Positive => shift, yyn is new state.</font> +00727 <font class="comment"> New state is final state => don't bother to shift,</font> +00728 <font class="comment"> just return success.</font> +00729 <font class="comment"> 0, or most negative number => error. */</font> +00730 +00731 <font class="keywordflow">if</font> (yyn < 0) +00732 { +00733 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a29">YYFLAG</a>) +00734 <font class="keywordflow">goto</font> yyerrlab; +00735 yyn = -yyn; +00736 <font class="keywordflow">goto</font> yyreduce; +00737 } +00738 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (yyn == 0) +00739 <font class="keywordflow">goto</font> yyerrlab; +00740 +00741 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a28">YYFINAL</a>) +00742 <a class="code" href="cf__gramatical_8cpp.html#a38">YYACCEPT</a>; +00743 +00744 <font class="comment">/* Shift the lookahead token. */</font> +00745 +00746 <font class="preprocessor">#if YYDEBUG != 0</font> +00747 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00748 fprintf(stderr, <font class="stringliteral">"Shifting token %d (%s), "</font>, <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>, yytname[yychar1]); +00749 <font class="preprocessor">#endif</font> +00750 <font class="preprocessor"></font> +00751 <font class="comment">/* Discard the token being shifted unless it is eof. */</font> +00752 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> != <a class="code" href="cf__gramatical_8cpp.html#a37">YYEOF</a>) +00753 <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> = <a class="code" href="cf__gramatical_8cpp.html#a36">YYEMPTY</a>; +00754 +00755 *++yyvsp = yylval; +00756 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +00757 <font class="preprocessor"></font> *++yylsp = yylloc; +00758 <font class="preprocessor">#endif</font> +00759 <font class="preprocessor"></font> +00760 <font class="comment">/* count tokens shifted since error; after three, turn off error status. */</font> +00761 <font class="keywordflow">if</font> (yyerrstatus) yyerrstatus--; +00762 +00763 yystate = yyn; +00764 <font class="keywordflow">goto</font> yynewstate; +00765 +00766 <font class="comment">/* Do the default action for the current state. */</font> +00767 yydefault: +00768 +00769 yyn = <a class="code" href="cf__gramatical_8cpp.html#a60">yydefact</a>[yystate]; +00770 <font class="keywordflow">if</font> (yyn == 0) +00771 <font class="keywordflow">goto</font> yyerrlab; +00772 +00773 <font class="comment">/* Do a reduction. yyn is the number of a rule to reduce with. */</font> +00774 yyreduce: +00775 yylen = <a class="code" href="cf__gramatical_8cpp.html#a59">yyr2</a>[yyn]; +00776 <font class="keywordflow">if</font> (yylen > 0) +00777 yyval = yyvsp[1-yylen]; <font class="comment">/* implement default value of the action */</font> +00778 +00779 <font class="preprocessor">#if YYDEBUG != 0</font> +00780 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +00781 { +00782 <font class="keywordtype">int</font> i; +00783 +00784 fprintf (stderr, <font class="stringliteral">"Reducing via rule %d (line %d), "</font>, +00785 yyn, yyrline[yyn]); +00786 +00787 <font class="comment">/* Print the symbols being reduced, and their result. */</font> +00788 <font class="keywordflow">for</font> (i = yyprhs[yyn]; yyrhs[i] > 0; i++) +00789 fprintf (stderr, <font class="stringliteral">"%s "</font>, yytname[yyrhs[i]]); +00790 fprintf (stderr, <font class="stringliteral">" -> %s\n"</font>, yytname[<a class="code" href="cf__gramatical_8cpp.html#a58">yyr1</a>[yyn]]); +00791 } +00792 <font class="preprocessor">#endif</font> +00793 <font class="preprocessor"></font> +00794 +00795 <font class="keywordflow">switch</font> (yyn) { +00796 +00797 <font class="keywordflow">case</font> 1: +00798 <font class="preprocessor">#line 100 "cf_gramatical.yxx"</font> +00799 <font class="preprocessor"></font>{ <a class="code" href="cf__gramatical_8cpp.html#a55">cf_CurrentLine</a> = 1; <a class="code" href="cf__gramatical_8cpp.html#a52">cf_Ignore</a> = <font class="keyword">false</font>; ; +00800 <font class="keywordflow">break</font>;} +00801 <font class="keywordflow">case</font> 3: +00802 <font class="preprocessor">#line 100 "cf_gramatical.yxx"</font> +00803 <font class="preprocessor"></font>{ ; +00804 <font class="keywordflow">break</font>;} +00805 <font class="keywordflow">case</font> 4: +00806 <font class="preprocessor">#line 103 "cf_gramatical.yxx"</font> +00807 <font class="preprocessor"></font>{ ; +00808 <font class="keywordflow">break</font>;} +00809 <font class="keywordflow">case</font> 5: +00810 <font class="preprocessor">#line 104 "cf_gramatical.yxx"</font> +00811 <font class="preprocessor"></font>{ ; +00812 <font class="keywordflow">break</font>;} +00813 <font class="keywordflow">case</font> 6: +00814 <font class="preprocessor">#line 108 "cf_gramatical.yxx"</font> +00815 <font class="preprocessor"></font>{ +00816 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">" (VARIABLE="</font>); +00817 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (yyvsp[-3].Val); +00818 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"), (VALUE="</font>); +00819 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (yyvsp[-1].Val); +00820 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">")\n"</font>); +00821 <font class="keywordtype">int</font> i; +00822 <font class="comment">// on recherche l'existence de la variable</font> +00823 <font class="keywordflow">for</font>(i = 0; i < (int)((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).size()); i++) +00824 { +00825 <font class="keywordflow">if</font> ((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Name == yyvsp[-3].<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m3">String</a>) +00826 { +00827 <font class="keywordflow">if</font> (cf_OverwriteExistingVariable) +00828 { +00829 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"Variable '%s' existe deja, ecrasement\n"</font>, yyvsp[-3].Val.String); +00830 } +00831 <font class="keywordflow">break</font>; +00832 } +00833 } +00834 <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html">NLMISC::CConfigFile::CVar</a> Var; +00835 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">false</font>; +00836 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> = NULL; +00837 <font class="keywordflow">if</font> (cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a>) Var = cf_CurrentVar; +00838 <font class="keywordflow">else</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (Var, yyvsp[-1].Val); +00839 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_1">Name</a> = yyvsp[-3].<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m3">String</a>; +00840 <font class="keywordflow">if</font> (i == (int)((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).size ())) +00841 { +00842 <font class="comment">// nouvelle variable</font> +00843 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a> (<font class="stringliteral">"yacc: new assign var '%s'\n"</font>, yyvsp[-3].Val.String); +00844 (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).push_back (Var); +00845 } +00846 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (cf_OverwriteExistingVariable) +00847 { +00848 <font class="comment">// reaffectation d'une variable</font> +00849 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> = (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Callback; +00850 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a> (<font class="stringliteral">"yacc: reassign var '%s'\n"</font>, yyvsp[-3].Val.String); +00851 <font class="keywordflow">if</font> (Var != (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i] && Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> != NULL) +00852 (Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a>)(Var); +00853 (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i] = Var; +00854 } +00855 <font class="keywordflow">else</font> +00856 { +00857 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a> (<font class="stringliteral">"yacc: don't reassign var '%s' because cf_OverwriteExistingVariable is false\n"</font>, yyvsp[-3].Val.String); +00858 } +00859 +00860 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_4">IntValues</a>.clear (); +00861 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_5">RealValues</a>.clear (); +00862 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_6">StrValues</a>.clear (); +00863 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">false</font>; +00864 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> = <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s0">NLMISC::CConfigFile::CVar::T_UNKNOWN</a>; +00865 ; +00866 <font class="keywordflow">break</font>;} +00867 <font class="keywordflow">case</font> 7: +00868 <font class="preprocessor">#line 162 "cf_gramatical.yxx"</font> +00869 <font class="preprocessor"></font>{ +00870 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">" (VARIABLE+="</font>); +00871 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (yyvsp[-3].Val); +00872 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"), (VALUE="</font>); +00873 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (yyvsp[-1].Val); +00874 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">")\n"</font>); +00875 <font class="keywordtype">int</font> i; +00876 <font class="comment">// on recherche l'existence de la variable</font> +00877 <font class="keywordflow">for</font>(i = 0; i < (int)((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).size()); i++) +00878 { +00879 <font class="keywordflow">if</font> ((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Name == yyvsp[-3].<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m3">String</a>) +00880 { +00881 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"Variable '%s' existe deja, ajout\n"</font>, yyvsp[-3].Val.String); +00882 <font class="keywordflow">break</font>; +00883 } +00884 } +00885 <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html">NLMISC::CConfigFile::CVar</a> Var; +00886 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">false</font>; +00887 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> = NULL; +00888 <font class="keywordflow">if</font> (cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a>) Var = cf_CurrentVar; +00889 <font class="keywordflow">else</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (Var, yyvsp[-1].Val); +00890 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_1">Name</a> = yyvsp[-3].<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m3">String</a>; +00891 <font class="keywordflow">if</font> (i == (int)((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).size ())) +00892 { +00893 <font class="comment">// nouvelle variable</font> +00894 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a> (<font class="stringliteral">"yacc: new add assign var '%s'\n"</font>, yyvsp[-3].Val.String); +00895 (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).push_back (Var); +00896 } +00897 <font class="keywordflow">else</font> +00898 { +00899 <font class="comment">// reaffectation d'une variable</font> +00900 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> = (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Callback; +00901 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a> (<font class="stringliteral">"yacc: add assign var '%s'\n"</font>, yyvsp[-3].Val.String); +00902 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#a3">add</a> ((*((vector<NLMISC::CConfigFile::CVar>*)(<a class="code" href="cf__gramatical_8cpp.html#a24">YYPARSE_PARAM</a>)))[i]); +00903 <font class="keywordflow">if</font> (Var != (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i] && Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a> != NULL) +00904 (Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_7">Callback</a>)(Var); +00905 (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i] = Var; +00906 } +00907 +00908 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_4">IntValues</a>.clear (); +00909 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_5">RealValues</a>.clear (); +00910 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_6">StrValues</a>.clear (); +00911 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">false</font>; +00912 cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> = <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s0">NLMISC::CConfigFile::CVar::T_UNKNOWN</a>; +00913 ; +00914 <font class="keywordflow">break</font>;} +00915 <font class="keywordflow">case</font> 8: +00916 <font class="preprocessor">#line 209 "cf_gramatical.yxx"</font> +00917 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">false</font>; <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"false\n"</font>); ; +00918 <font class="keywordflow">break</font>;} +00919 <font class="keywordflow">case</font> 9: +00920 <font class="preprocessor">#line 210 "cf_gramatical.yxx"</font> +00921 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[-1].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; cf_CurrentVar.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_3">Comp</a> = <font class="keyword">true</font>; <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"true\n"</font>); ; +00922 <font class="keywordflow">break</font>;} +00923 <font class="keywordflow">case</font> 10: +00924 <font class="preprocessor">#line 213 "cf_gramatical.yxx"</font> +00925 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; <font class="comment">/*cf_CurrentVar.Type = $1.Type;*/</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (cf_CurrentVar, yyvsp[0].Val); ; +00926 <font class="keywordflow">break</font>;} +00927 <font class="keywordflow">case</font> 11: +00928 <font class="preprocessor">#line 214 "cf_gramatical.yxx"</font> +00929 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; <font class="comment">/*cf_CurrentVar.Type = $1.Type;*/</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (cf_CurrentVar, yyvsp[0].Val); ; +00930 <font class="keywordflow">break</font>;} +00931 <font class="keywordflow">case</font> 13: +00932 <font class="preprocessor">#line 215 "cf_gramatical.yxx"</font> +00933 <font class="preprocessor"></font>{ ; +00934 <font class="keywordflow">break</font>;} +00935 <font class="keywordflow">case</font> 14: +00936 <font class="preprocessor">#line 218 "cf_gramatical.yxx"</font> +00937 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00938 <font class="keywordflow">break</font>;} +00939 <font class="keywordflow">case</font> 15: +00940 <font class="preprocessor">#line 219 "cf_gramatical.yxx"</font> +00941 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a>(yyvsp[-2].Val, yyvsp[0].Val, <a class="code" href="cf__gramatical_8cpp.html#a82a71">OP_PLUS</a>); ; +00942 <font class="keywordflow">break</font>;} +00943 <font class="keywordflow">case</font> 16: +00944 <font class="preprocessor">#line 220 "cf_gramatical.yxx"</font> +00945 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a>(yyvsp[-2].Val, yyvsp[0].Val, <a class="code" href="cf__gramatical_8cpp.html#a82a72">OP_MINUS</a>); ; +00946 <font class="keywordflow">break</font>;} +00947 <font class="keywordflow">case</font> 17: +00948 <font class="preprocessor">#line 223 "cf_gramatical.yxx"</font> +00949 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00950 <font class="keywordflow">break</font>;} +00951 <font class="keywordflow">case</font> 18: +00952 <font class="preprocessor">#line 224 "cf_gramatical.yxx"</font> +00953 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a>(yyvsp[-2].Val, yyvsp[0].Val, <a class="code" href="cf__gramatical_8cpp.html#a82a73">OP_MULT</a>); ; +00954 <font class="keywordflow">break</font>;} +00955 <font class="keywordflow">case</font> 19: +00956 <font class="preprocessor">#line 225 "cf_gramatical.yxx"</font> +00957 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a> (yyvsp[-2].Val, yyvsp[0].Val, <a class="code" href="cf__gramatical_8cpp.html#a82a74">OP_DIVIDE</a>); ; +00958 <font class="keywordflow">break</font>;} +00959 <font class="keywordflow">case</font> 20: +00960 <font class="preprocessor">#line 228 "cf_gramatical.yxx"</font> +00961 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00962 <font class="keywordflow">break</font>;} +00963 <font class="keywordflow">case</font> 21: +00964 <font class="preprocessor">#line 229 "cf_gramatical.yxx"</font> +00965 <font class="preprocessor"></font>{ <a class="code" href="structcf__value.html">cf_value</a> <a class="code" href="driver__opengl__extension__def_8h.html#a368">v</a>; v.<a class="code" href="structcf__value.html#m0">Type</a>=<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>; <font class="comment">/* just to avoid a warning, I affect 'v' with a dummy value */</font> yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a>(yyvsp[0].Val,v,<a class="code" href="cf__gramatical_8cpp.html#a82a75">OP_NEG</a>); ; +00966 <font class="keywordflow">break</font>;} +00967 <font class="keywordflow">case</font> 22: +00968 <font class="preprocessor">#line 230 "cf_gramatical.yxx"</font> +00969 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[-1].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00970 <font class="keywordflow">break</font>;} +00971 <font class="keywordflow">case</font> 23: +00972 <font class="preprocessor">#line 231 "cf_gramatical.yxx"</font> +00973 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yylval.<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00974 <font class="keywordflow">break</font>;} +00975 <font class="keywordflow">case</font> 24: +00976 <font class="preprocessor">#line 232 "cf_gramatical.yxx"</font> +00977 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yylval.<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00978 <font class="keywordflow">break</font>;} +00979 <font class="keywordflow">case</font> 25: +00980 <font class="preprocessor">#line 233 "cf_gramatical.yxx"</font> +00981 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yylval.<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00982 <font class="keywordflow">break</font>;} +00983 <font class="keywordflow">case</font> 26: +00984 <font class="preprocessor">#line 234 "cf_gramatical.yxx"</font> +00985 <font class="preprocessor"></font>{ yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>; ; +00986 <font class="keywordflow">break</font>;} +00987 <font class="keywordflow">case</font> 27: +00988 <font class="preprocessor">#line 238 "cf_gramatical.yxx"</font> +00989 <font class="preprocessor"></font>{ +00990 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"yacc: cont\n"</font>); +00991 <font class="keywordtype">bool</font> ok=<font class="keyword">false</font>; +00992 <font class="keywordtype">int</font> i; +00993 <font class="keywordflow">for</font>(i = 0; i < (int)((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM))).size()); i++) +00994 { +00995 <font class="keywordflow">if</font> ((*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Name == yyvsp[0].<a class="code" href="unionYYSTYPE.html#m0">Val</a>.<a class="code" href="structcf__value.html#m3">String</a>) +00996 { +00997 ok = <font class="keyword">true</font>; +00998 <font class="keywordflow">break</font>; +00999 } +01000 } +01001 <font class="keywordflow">if</font> (ok) +01002 { +01003 <a class="code" href="structcf__value.html">cf_value</a> Var; +01004 Var.<a class="code" href="structcf__value.html#m0">Type</a> = (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].Type; +01005 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"vart %d\n"</font>, Var.<a class="code" href="structcf__value.html#m0">Type</a>); +01006 <font class="keywordflow">switch</font> (Var.<a class="code" href="structcf__value.html#m0">Type</a>) +01007 { +01008 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: Var.<a class="code" href="structcf__value.html#m1">Int</a> = (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].IntValues[0]; <font class="keywordflow">break</font>; +01009 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: Var.<a class="code" href="structcf__value.html#m2">Real</a> = (*((vector<NLMISC::CConfigFile::CVar>*)(YYPARSE_PARAM)))[i].RealValues[0]; <font class="keywordflow">break</font>; +01010 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: strcpy (Var.<a class="code" href="structcf__value.html#m3">String</a>, (*((vector<NLMISC::CConfigFile::CVar>*)(<a class="code" href="cf__gramatical_8cpp.html#a24">YYPARSE_PARAM</a>)))[i].StrValues[0].c_str()); <font class="keywordflow">break</font>; +01011 <font class="keywordflow">default</font>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"*** CAN T DO THAT!!!\n"</font>); <font class="keywordflow">break</font>; +01012 } +01013 yyval.<a class="code" href="unionYYSTYPE.html#m0">Val</a> = Var; +01014 } +01015 <font class="keywordflow">else</font> +01016 { +01017 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"var existe pas\n"</font>); +01018 } +01019 ; +01020 <font class="keywordflow">break</font>;} +01021 } +01022 <font class="comment">/* the action file gets copied in in place of this dollarsign */</font> +01023 <font class="preprocessor">#line 543 "cfbison.simple"</font> +01024 <font class="preprocessor"></font> +01025 yyvsp -= yylen; +01026 yyssp -= yylen; +01027 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01028 <font class="preprocessor"></font> yylsp -= yylen; +01029 <font class="preprocessor">#endif</font> +01030 <font class="preprocessor"></font> +01031 <font class="preprocessor">#if YYDEBUG != 0</font> +01032 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +01033 { +01034 <font class="keywordtype">short</font> *ssp1 = yyss - 1; +01035 fprintf (stderr, <font class="stringliteral">"state stack now"</font>); +01036 <font class="keywordflow">while</font> (ssp1 != yyssp) +01037 fprintf (stderr, <font class="stringliteral">" %d"</font>, *++ssp1); +01038 fprintf (stderr, <font class="stringliteral">"\n"</font>); +01039 } +01040 <font class="preprocessor">#endif</font> +01041 <font class="preprocessor"></font> +01042 *++yyvsp = yyval; +01043 +01044 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01045 <font class="preprocessor"></font> yylsp++; +01046 <font class="keywordflow">if</font> (yylen == 0) +01047 { +01048 yylsp->first_line = yylloc.first_line; +01049 yylsp->first_column = yylloc.first_column; +01050 yylsp->last_line = (yylsp-1)->last_line; +01051 yylsp->last_column = (yylsp-1)->last_column; +01052 yylsp->text = 0; +01053 } +01054 <font class="keywordflow">else</font> +01055 { +01056 yylsp->last_line = (yylsp+yylen-1)->last_line; +01057 yylsp->last_column = (yylsp+yylen-1)->last_column; +01058 } +01059 <font class="preprocessor">#endif</font> +01060 <font class="preprocessor"></font> +01061 <font class="comment">/* Now "shift" the result of the reduction.</font> +01062 <font class="comment"> Determine what state that goes to,</font> +01063 <font class="comment"> based on the state we popped back to</font> +01064 <font class="comment"> and the rule number reduced by. */</font> +01065 +01066 yyn = <a class="code" href="cf__gramatical_8cpp.html#a58">yyr1</a>[yyn]; +01067 +01068 yystate = <a class="code" href="cf__gramatical_8cpp.html#a63">yypgoto</a>[yyn - <a class="code" href="cf__gramatical_8cpp.html#a30">YYNTBASE</a>] + *yyssp; +01069 <font class="keywordflow">if</font> (yystate >= 0 && yystate <= <a class="code" href="cf__gramatical_8cpp.html#a32">YYLAST</a> && <a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[yystate] == *yyssp) +01070 yystate = <a class="code" href="cf__gramatical_8cpp.html#a64">yytable</a>[yystate]; +01071 <font class="keywordflow">else</font> +01072 yystate = <a class="code" href="cf__gramatical_8cpp.html#a61">yydefgoto</a>[yyn - <a class="code" href="cf__gramatical_8cpp.html#a30">YYNTBASE</a>]; +01073 +01074 <font class="keywordflow">goto</font> yynewstate; +01075 +01076 yyerrlab: <font class="comment">/* here on detecting error */</font> +01077 +01078 <font class="keywordflow">if</font> (! yyerrstatus) +01079 <font class="comment">/* If not already recovering from an error, report this error. */</font> +01080 { +01081 ++<a class="code" href="cf__gramatical_8cpp.html#a7">yynerrs</a>; +01082 +01083 <font class="preprocessor">#ifdef YYERROR_VERBOSE</font> +01084 <font class="preprocessor"></font> yyn = <a class="code" href="cf__gramatical_8cpp.html#a62">yypact</a>[yystate]; +01085 +01086 <font class="keywordflow">if</font> (yyn > <a class="code" href="cf__gramatical_8cpp.html#a29">YYFLAG</a> && yyn < <a class="code" href="cf__gramatical_8cpp.html#a32">YYLAST</a>) +01087 { +01088 <font class="keywordtype">int</font> size = 0; +01089 <font class="keywordtype">char</font> *msg; +01090 <font class="keywordtype">int</font> <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>, <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>; +01091 +01092 <a class="code" href="cf__gramatical_8cpp.html#a70">count</a> = 0; +01093 <font class="comment">/* Start X at -yyn if nec to avoid negative indexes in yycheck. */</font> +01094 <font class="keywordflow">for</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = (yyn < 0 ? -yyn : 0); +01095 <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> < (<font class="keyword">sizeof</font>(yytname) / <font class="keyword">sizeof</font>(<font class="keywordtype">char</font> *)); <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>++) +01096 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> + yyn] == <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>) +01097 size += strlen(yytname[<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>]) + 15, <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>++; +01098 msg = (<font class="keywordtype">char</font> *) malloc(size + 15); +01099 <font class="keywordflow">if</font> (msg != 0) +01100 { +01101 strcpy(msg, <font class="stringliteral">"parse error"</font>); +01102 +01103 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a70">count</a> < 5) +01104 { +01105 <a class="code" href="cf__gramatical_8cpp.html#a70">count</a> = 0; +01106 <font class="keywordflow">for</font> (<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> = (yyn < 0 ? -yyn : 0); +01107 <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> < (<font class="keyword">sizeof</font>(yytname) / <font class="keyword">sizeof</font>(<font class="keywordtype">char</font> *)); <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>++) +01108 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a> + yyn] == <a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>) +01109 { +01110 strcat(msg, <a class="code" href="cf__gramatical_8cpp.html#a70">count</a> == 0 ? <font class="stringliteral">", expecting `"</font> : <font class="stringliteral">" or `"</font>); +01111 strcat(msg, yytname[<a class="code" href="driver__opengl__extension__def_8h.html#a364">x</a>]); +01112 strcat(msg, <font class="stringliteral">"'"</font>); +01113 <a class="code" href="cf__gramatical_8cpp.html#a70">count</a>++; +01114 } +01115 } +01116 <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a>(msg); +01117 free(msg); +01118 } +01119 <font class="keywordflow">else</font> +01120 <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a> (<font class="stringliteral">"parse error; also virtual memory exceeded"</font>); +01121 } +01122 <font class="keywordflow">else</font> +01123 <font class="preprocessor">#endif </font><font class="comment">/* YYERROR_VERBOSE */</font> +01124 <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a>(<font class="stringliteral">"parse error"</font>); +01125 } +01126 +01127 <font class="keywordflow">goto</font> yyerrlab1; +01128 yyerrlab1: <font class="comment">/* here on error raised explicitly by an action */</font> +01129 +01130 <font class="keywordflow">if</font> (yyerrstatus == 3) +01131 { +01132 <font class="comment">/* if just tried and failed to reuse lookahead token after an error, discard it. */</font> +01133 +01134 <font class="comment">/* return failure if at end of input */</font> +01135 <font class="keywordflow">if</font> (<a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> == <a class="code" href="cf__gramatical_8cpp.html#a37">YYEOF</a>) +01136 <a class="code" href="cf__gramatical_8cpp.html#a39">YYABORT</a>; +01137 +01138 <font class="preprocessor">#if YYDEBUG != 0</font> +01139 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +01140 fprintf(stderr, <font class="stringliteral">"Discarding token %d (%s).\n"</font>, <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a>, yytname[yychar1]); +01141 <font class="preprocessor">#endif</font> +01142 <font class="preprocessor"></font> +01143 <a class="code" href="cf__gramatical_8cpp.html#a5">yychar</a> = <a class="code" href="cf__gramatical_8cpp.html#a36">YYEMPTY</a>; +01144 } +01145 +01146 <font class="comment">/* Else will try to reuse lookahead token</font> +01147 <font class="comment"> after shifting the error token. */</font> +01148 +01149 yyerrstatus = 3; <font class="comment">/* Each real token shifted decrements this */</font> +01150 +01151 <font class="keywordflow">goto</font> yyerrhandle; +01152 +01153 yyerrdefault: <font class="comment">/* current state does not do anything special for the error token. */</font> +01154 +01155 <font class="preprocessor">#if 0</font> +01156 <font class="preprocessor"></font> <font class="comment">/* This is wrong; only states that explicitly want error tokens</font> +01157 <font class="comment"> should shift them. */</font> +01158 yyn = <a class="code" href="cf__gramatical_8cpp.html#a60">yydefact</a>[yystate]; <font class="comment">/* If its default is to accept any token, ok. Otherwise pop it.*/</font> +01159 <font class="keywordflow">if</font> (yyn) <font class="keywordflow">goto</font> yydefault; +01160 <font class="preprocessor">#endif</font> +01161 <font class="preprocessor"></font> +01162 yyerrpop: <font class="comment">/* pop the current state because it cannot handle the error token */</font> +01163 +01164 <font class="keywordflow">if</font> (yyssp == yyss) <a class="code" href="cf__gramatical_8cpp.html#a39">YYABORT</a>; +01165 yyvsp--; +01166 yystate = *--yyssp; +01167 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01168 <font class="preprocessor"></font> yylsp--; +01169 <font class="preprocessor">#endif</font> +01170 <font class="preprocessor"></font> +01171 <font class="preprocessor">#if YYDEBUG != 0</font> +01172 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +01173 { +01174 <font class="keywordtype">short</font> *ssp1 = yyss - 1; +01175 fprintf (stderr, <font class="stringliteral">"Error: state stack now"</font>); +01176 <font class="keywordflow">while</font> (ssp1 != yyssp) +01177 fprintf (stderr, <font class="stringliteral">" %d"</font>, *++ssp1); +01178 fprintf (stderr, <font class="stringliteral">"\n"</font>); +01179 } +01180 <font class="preprocessor">#endif</font> +01181 <font class="preprocessor"></font> +01182 yyerrhandle: +01183 +01184 yyn = <a class="code" href="cf__gramatical_8cpp.html#a62">yypact</a>[yystate]; +01185 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a29">YYFLAG</a>) +01186 <font class="keywordflow">goto</font> yyerrdefault; +01187 +01188 yyn += <a class="code" href="cf__gramatical_8cpp.html#a44">YYTERROR</a>; +01189 <font class="keywordflow">if</font> (yyn < 0 || yyn > <a class="code" href="cf__gramatical_8cpp.html#a32">YYLAST</a> || <a class="code" href="cf__gramatical_8cpp.html#a65">yycheck</a>[yyn] != <a class="code" href="cf__gramatical_8cpp.html#a44">YYTERROR</a>) +01190 <font class="keywordflow">goto</font> yyerrdefault; +01191 +01192 yyn = <a class="code" href="cf__gramatical_8cpp.html#a64">yytable</a>[yyn]; +01193 <font class="keywordflow">if</font> (yyn < 0) +01194 { +01195 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a29">YYFLAG</a>) +01196 <font class="keywordflow">goto</font> yyerrpop; +01197 yyn = -yyn; +01198 <font class="keywordflow">goto</font> yyreduce; +01199 } +01200 <font class="keywordflow">else</font> <font class="keywordflow">if</font> (yyn == 0) +01201 <font class="keywordflow">goto</font> yyerrpop; +01202 +01203 <font class="keywordflow">if</font> (yyn == <a class="code" href="cf__gramatical_8cpp.html#a28">YYFINAL</a>) +01204 <a class="code" href="cf__gramatical_8cpp.html#a38">YYACCEPT</a>; +01205 +01206 <font class="preprocessor">#if YYDEBUG != 0</font> +01207 <font class="preprocessor"></font> <font class="keywordflow">if</font> (yydebug) +01208 fprintf(stderr, <font class="stringliteral">"Shifting error token, "</font>); +01209 <font class="preprocessor">#endif</font> +01210 <font class="preprocessor"></font> +01211 *++yyvsp = yylval; +01212 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01213 <font class="preprocessor"></font> *++yylsp = yylloc; +01214 <font class="preprocessor">#endif</font> +01215 <font class="preprocessor"></font> +01216 yystate = yyn; +01217 <font class="keywordflow">goto</font> yynewstate; +01218 +01219 yyacceptlab: +01220 <font class="comment">/* YYACCEPT comes here. */</font> +01221 <font class="keywordflow">if</font> (yyfree_stacks) +01222 { +01223 free (yyss); +01224 free (yyvs); +01225 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01226 <font class="preprocessor"></font> free (yyls); +01227 <font class="preprocessor">#endif</font> +01228 <font class="preprocessor"></font> } +01229 <font class="keywordflow">return</font> 0; +01230 +01231 yyabortlab: +01232 <font class="comment">/* YYABORT comes here. */</font> +01233 <font class="keywordflow">if</font> (yyfree_stacks) +01234 { +01235 free (yyss); +01236 free (yyvs); +01237 <font class="preprocessor">#ifdef YYLSP_NEEDED</font> +01238 <font class="preprocessor"></font> free (yyls); +01239 <font class="preprocessor">#endif</font> +01240 <font class="preprocessor"></font> } +01241 <font class="keywordflow">return</font> 1; +01242 } +01243 <font class="preprocessor">#line 270 "cf_gramatical.yxx"</font> +01244 <font class="preprocessor"></font> +01245 +01246 <font class="comment">/* compute the good operation with a, b and op */</font> +01247 <a class="code" href="structcf__value.html">cf_value</a> <a class="code" href="cf__gramatical_8cpp.html#a77">cf_op</a> (<a class="code" href="structcf__value.html">cf_value</a> a, <a class="code" href="structcf__value.html">cf_value</a> b, <a class="code" href="cf__gramatical_8cpp.html#a82">cf_operation</a> op) +01248 { +01249 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"[OP:%d; "</font>, op); +01250 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a>(a); +01251 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"; "</font>); +01252 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a>(b); +01253 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"; "</font>); +01254 +01255 <font class="keywordflow">switch</font> (op) +01256 { +01257 <font class="keywordflow">case</font> <a class="code" href="cf__gramatical_8cpp.html#a82a73">OP_MULT</a>: <font class="comment">// *********************</font> +01258 <font class="keywordflow">switch</font> (a.<a class="code" href="structcf__value.html#m0">Type</a>) +01259 { +01260 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01261 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01262 { +01263 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> *= b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01264 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> *= (int)b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01265 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: int*str\n"</font>); <font class="keywordflow">break</font>; +01266 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01267 } +01268 <font class="keywordflow">break</font>; +01269 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01270 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01271 { +01272 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> *= (double)b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01273 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> *= b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01274 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: real*str\n"</font>); <font class="keywordflow">break</font>; +01275 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01276 } +01277 <font class="keywordflow">break</font>; +01278 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01279 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01280 { +01281 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str*int\n"</font>); <font class="keywordflow">break</font>; +01282 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str*real\n"</font>); <font class="keywordflow">break</font>; +01283 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str*str\n"</font>); <font class="keywordflow">break</font>; +01284 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01285 } +01286 <font class="keywordflow">break</font>; +01287 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01288 } +01289 <font class="keywordflow">break</font>; +01290 <font class="keywordflow">case</font> <a class="code" href="cf__gramatical_8cpp.html#a82a74">OP_DIVIDE</a>: <font class="comment">// //////////////////////</font> +01291 <font class="keywordflow">switch</font> (a.<a class="code" href="structcf__value.html#m0">Type</a>) +01292 { +01293 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01294 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01295 { +01296 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> /= b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01297 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> /= (int)b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01298 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: int/str\n"</font>); <font class="keywordflow">break</font>; +01299 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01300 } +01301 <font class="keywordflow">break</font>; +01302 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01303 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01304 { +01305 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> /= (double)b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01306 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> /= b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01307 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: real/str\n"</font>); <font class="keywordflow">break</font>; +01308 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01309 } +01310 <font class="keywordflow">break</font>; +01311 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01312 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01313 { +01314 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str/int\n"</font>); <font class="keywordflow">break</font>; +01315 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str/real\n"</font>); <font class="keywordflow">break</font>; +01316 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str/str\n"</font>); <font class="keywordflow">break</font>; +01317 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01318 } +01319 <font class="keywordflow">break</font>; +01320 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01321 } +01322 <font class="keywordflow">break</font>; +01323 <font class="keywordflow">case</font> <a class="code" href="cf__gramatical_8cpp.html#a82a71">OP_PLUS</a>: <font class="comment">// ++++++++++++++++++++++++</font> +01324 <font class="keywordflow">switch</font> (a.<a class="code" href="structcf__value.html#m0">Type</a>) +01325 { +01326 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01327 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01328 { +01329 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> += b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01330 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> += (int)b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01331 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> += atoi(b.<a class="code" href="structcf__value.html#m3">String</a>); <font class="keywordflow">break</font>; +01332 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01333 } +01334 <font class="keywordflow">break</font>; +01335 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01336 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01337 { +01338 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> += (double)b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01339 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> += b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01340 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> += atof (b.<a class="code" href="structcf__value.html#m3">String</a>); <font class="keywordflow">break</font>; +01341 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01342 } +01343 <font class="keywordflow">break</font>; +01344 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01345 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01346 { +01347 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: { <font class="keywordtype">char</font> str2[60]; <a class="code" href="namespaceNLMISC.html#a211">NLMISC::smprintf</a>(str2, 60, <font class="stringliteral">"%d"</font>, b.<a class="code" href="structcf__value.html#m1">Int</a>); strcat(a.<a class="code" href="structcf__value.html#m3">String</a>, str2); <font class="keywordflow">break</font>; } +01348 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: { <font class="keywordtype">char</font> str2[60]; <a class="code" href="namespaceNLMISC.html#a211">NLMISC::smprintf</a>(str2, 60, <font class="stringliteral">"%f"</font>, b.<a class="code" href="structcf__value.html#m2">Real</a>); strcat(a.<a class="code" href="structcf__value.html#m3">String</a>, str2); <font class="keywordflow">break</font>; } +01349 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: strcat (a.<a class="code" href="structcf__value.html#m3">String</a>, b.<a class="code" href="structcf__value.html#m3">String</a>); <font class="keywordflow">break</font>; +01350 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01351 } +01352 <font class="keywordflow">break</font>; +01353 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01354 } +01355 <font class="keywordflow">break</font>; +01356 <font class="keywordflow">case</font> <a class="code" href="cf__gramatical_8cpp.html#a82a72">OP_MINUS</a>: <font class="comment">// -------------------------</font> +01357 <font class="keywordflow">switch</font> (a.<a class="code" href="structcf__value.html#m0">Type</a>) +01358 { +01359 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01360 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01361 { +01362 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> -= b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01363 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> -= (int)b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01364 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: int-str\n"</font>); <font class="keywordflow">break</font>; +01365 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01366 } +01367 <font class="keywordflow">break</font>; +01368 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01369 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01370 { +01371 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> -= (double)b.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01372 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> -= b.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01373 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: real-str\n"</font>); <font class="keywordflow">break</font>; +01374 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01375 } +01376 <font class="keywordflow">break</font>; +01377 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01378 <font class="keywordflow">switch</font> (b.<a class="code" href="structcf__value.html#m0">Type</a>) +01379 { +01380 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str-int\n"</font>); <font class="keywordflow">break</font>; +01381 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str-real\n"</font>); <font class="keywordflow">break</font>; +01382 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: str-str\n"</font>); <font class="keywordflow">break</font>; +01383 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01384 } +01385 <font class="keywordflow">break</font>; +01386 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01387 } +01388 <font class="keywordflow">break</font>; +01389 <font class="keywordflow">case</font> <a class="code" href="cf__gramatical_8cpp.html#a82a75">OP_NEG</a>: <font class="comment">// neg</font> +01390 <font class="keywordflow">switch</font> (a.<a class="code" href="structcf__value.html#m0">Type</a>) +01391 { +01392 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: a.<a class="code" href="structcf__value.html#m1">Int</a> = -a.<a class="code" href="structcf__value.html#m1">Int</a>; <font class="keywordflow">break</font>; +01393 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: a.<a class="code" href="structcf__value.html#m2">Real</a> = -a.<a class="code" href="structcf__value.html#m2">Real</a>; <font class="keywordflow">break</font>; +01394 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"ERROR: -str\n"</font>); <font class="keywordflow">break</font>; +01395 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01396 } +01397 <font class="keywordflow">break</font>; +01398 } +01399 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a>(a); +01400 <a class="code" href="cf__gramatical_8cpp.html#a26">DEBUG_PRINT</a>(<font class="stringliteral">"]\n"</font>); +01401 <font class="keywordflow">return</font> a; +01402 } +01403 +01404 <font class="comment">/* print a value, it's only for debug purpose */</font> +01405 <font class="keywordtype">void</font> <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a> (<a class="code" href="structcf__value.html">cf_value</a> Val) +01406 { +01407 <font class="keywordflow">switch</font> (Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01408 { +01409 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01410 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"'%d'"</font>, Val.<a class="code" href="structcf__value.html#m1">Int</a>); +01411 <font class="keywordflow">break</font>; +01412 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01413 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"`%f`"</font>, Val.<a class="code" href="structcf__value.html#m2">Real</a>); +01414 <font class="keywordflow">break</font>; +01415 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01416 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"\"%s\""</font>, Val.<a class="code" href="structcf__value.html#m3">String</a>); +01417 <font class="keywordflow">break</font>; +01418 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01419 } +01420 } +01421 +01422 <font class="comment">/* put a value into a var */</font> +01423 <font class="keywordtype">void</font> <a class="code" href="cf__gramatical_8cpp.html#a79">cf_setVar</a> (<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html">NLMISC::CConfigFile::CVar</a> &Var, <a class="code" href="structcf__value.html">cf_value</a> Val) +01424 { +01425 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"push type %d in var name '%s' type %d with value : "</font>, Val.<a class="code" href="structcf__value.html#m0">Type</a>, Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_1">Name</a>.c_str(), Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a>); +01426 <a class="code" href="cf__gramatical_8cpp.html#a78">cf_print</a>(Val); +01427 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"\n"</font>); +01428 <font class="keywordflow">if</font> (Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> == <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s0">NLMISC::CConfigFile::CVar::T_UNKNOWN</a> || Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> == Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01429 { +01430 <font class="keywordflow">if</font> (Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> == <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s0">NLMISC::CConfigFile::CVar::T_UNKNOWN</a>) +01431 { +01432 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"val type is unknown, set to the var type\n"</font>); +01433 } +01434 <font class="keywordflow">else</font> +01435 { +01436 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"val type is same var type, just add\n"</font>); +01437 } +01438 +01439 Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a> = Val.<a class="code" href="structcf__value.html#m0">Type</a>; +01440 <font class="keywordflow">switch</font> (Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01441 { +01442 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_4">IntValues</a>.push_back (Val.<a class="code" href="structcf__value.html#m1">Int</a>); <font class="keywordflow">break</font>; +01443 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_5">RealValues</a>.push_back (Val.<a class="code" href="structcf__value.html#m2">Real</a>); <font class="keywordflow">break</font>; +01444 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_6">StrValues</a>.push_back(Val.<a class="code" href="structcf__value.html#m3">String</a>); <font class="keywordflow">break</font>; +01445 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01446 } +01447 } +01448 <font class="keywordflow">else</font> +01449 { +01450 <font class="comment">// need to convert the type</font> +01451 <font class="keywordflow">switch</font> (Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_2">Type</a>) +01452 { +01453 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: +01454 <font class="keywordflow">switch</font> (Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01455 { +01456 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_4">IntValues</a>.push_back ((<font class="keywordtype">int</font>)Val.<a class="code" href="structcf__value.html#m2">Real</a>); <font class="keywordflow">break</font>; +01457 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_4">IntValues</a>.push_back (atoi(Val.<a class="code" href="structcf__value.html#m3">String</a>)); <font class="keywordflow">break</font>; +01458 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01459 } +01460 <font class="keywordflow">break</font>; +01461 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: +01462 <font class="keywordflow">switch</font> (Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01463 { +01464 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_5">RealValues</a>.push_back ((<font class="keywordtype">double</font>)Val.<a class="code" href="structcf__value.html#m1">Int</a>); <font class="keywordflow">break</font>; +01465 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_5">RealValues</a>.push_back (atof(Val.<a class="code" href="structcf__value.html#m3">String</a>)); <font class="keywordflow">break</font>; +01466 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01467 } +01468 <font class="keywordflow">break</font>; +01469 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s2">NLMISC::CConfigFile::CVar::T_STRING</a>: +01470 <font class="keywordflow">switch</font> (Val.<a class="code" href="structcf__value.html#m0">Type</a>) +01471 { +01472 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s1">NLMISC::CConfigFile::CVar::T_INT</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_6">StrValues</a>.push_back(toString(Val.<a class="code" href="structcf__value.html#m1">Int</a>)); <font class="keywordflow">break</font>; +01473 <font class="keywordflow">case</font> <a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_0s3">NLMISC::CConfigFile::CVar::T_REAL</a>: Var.<a class="code" href="structNLMISC_1_1CConfigFile_1_1CVar.html#z282_6">StrValues</a>.push_back(toString(Val.<a class="code" href="structcf__value.html#m2">Real</a>)); <font class="keywordflow">break</font>; +01474 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01475 } +01476 <font class="keywordflow">break</font>; +01477 <font class="keywordflow">default</font>: <font class="keywordflow">break</font>; +01478 } +01479 } +01480 } +01481 +01482 <font class="keywordtype">int</font> <a class="code" href="cf__gramatical_8cpp.html#a3">yyerror</a> (<font class="keyword">const</font> <font class="keywordtype">char</font> *<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>) +01483 { +01484 <a class="code" href="cf__gramatical_8cpp.html#a25">DEBUG_PRINTF</a>(<font class="stringliteral">"%s\n"</font>,<a class="code" href="driver__opengl__extension__def_8h.html#a383">s</a>); +01485 <font class="keywordflow">return</font> 1; +01486 } +01487 +01488 +</pre></div> + +<!-- footer --> +<BR><FONT Size=+5> </FONT> +</TD> +<TD WIDTH=15><IMG SRC=http://www.nevrax.org/inc/img/pixel.gif WIDTH=15 HEIGHT=15 BORDER=0 ALT=""></TD> +</TR> +</TABLE> +</BODY> +</HTML> |