亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? parse_8cpp-source.html

?? parser in C++~~~~~~~~~~~~
?? HTML
?? 第 1 頁 / 共 2 頁
字號:
00197   }00198   <span class="keywordflow">return</span> <span class="keyword">true</span>;00199 }00200 <a name="l00205"></a><a class="code" href="parse_8cpp.html#a7">00205</a> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="parse_8cpp.html#a7">makecell</a>(string str)00206 {00207   <a class="code" href="classCell.html">Cell</a>* root;00208   <span class="keywordflow">if</span> (((str[0] &gt;= <span class="charliteral">'0'</span>) &amp;&amp; (str[0] &lt;= <span class="charliteral">'9'</span>)) || (str[0] == <span class="charliteral">'.'</span>) 00209       || (((<span class="charliteral">'+'</span>==str[0]) || (<span class="charliteral">'-'</span>==str[0]))&amp;&amp;(str.length()&gt;1))) {00210     <span class="keywordflow">if</span> (<span class="keyword">false</span> == <a class="code" href="parse_8cpp.html#a2">is_legalnumeric</a>(str)) {00211       cout &lt;&lt; <span class="stringliteral">"error: illegal numeric literal"</span> &lt;&lt; endl;00212       exit(1);00213     }00214     <span class="comment">// this is a numeric literal</span>00215     <span class="keywordflow">if</span> (string::npos == str.find(<span class="charliteral">'.'</span>)) {00216       <span class="comment">// int number</span>00217       <span class="keywordtype">char</span>* fchar = const_cast&lt;char*&gt;(str.c_str());00218       <span class="keywordtype">int</span> value = atoi(fchar);00219       root = <a class="code" href="cons_8hpp.html#a1">make_int</a>(value);00220     } <span class="keywordflow">else</span> {00221       <span class="comment">// this is a double</span>00222       <span class="keywordtype">char</span>* fchar = const_cast&lt;char*&gt;(str.c_str());00223       <span class="keywordtype">double</span> value = atof(fchar);   00224       root = <a class="code" href="cons_8hpp.html#a2">make_double</a>(value);00225     }00226   } 00227   00228   <span class="comment">// we don't deal with literal strings right now, so they are commented out</span>00229   <span class="comment">// else if (str[0] == '\"') {</span>00230 <span class="comment">//     // this is a string literal</span>00231 <span class="comment">//     string strval = str.substr(1, str.size() - 2);</span>00232 <span class="comment">//     root = make_string(const_cast&lt;char*&gt;(strval.data()));</span>00233 <span class="comment">//   } </span>00234   <span class="keywordflow">else</span> {00235     <span class="comment">// this is a symbol</span>00236     <span class="keywordflow">if</span> (<span class="keyword">false</span> == <a class="code" href="parse_8cpp.html#a3">is_legaloperator</a>(str)) {00237       cout &lt;&lt; <span class="stringliteral">"error: illegal operator"</span> &lt;&lt; endl;00238       exit(1);00239     }00240     root = <a class="code" href="cons_8hpp.html#a3">make_symbol</a>(const_cast&lt;char*&gt;(str.data()));00241   }00242   <span class="keywordflow">return</span> root;00243 }00244 00245 <a class="code" href="classCell.html">Cell</a>* <a class="code" href="parse_8cpp.html#a8">separate_parse</a>(string&amp; sexpr); 00246 <a name="l00247"></a><a class="code" href="parse_8hpp.html#a0">00247</a> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="parse_8hpp.html#a0">parse</a>(string sexpr)00248 {00249   <span class="comment">// is_legal(sexpr);</span>00250   <span class="comment">// delete the whitesapce at the begining and end</span>00251   <span class="comment">// such that the first and last character are not white space</span>00252   <a class="code" href="parse_8cpp.html#a5">clearwhitespace</a>(sexpr);00253 <span class="comment">//   if (sexpr.length() == 0) {</span>00254 <span class="comment">//     return NULL;</span>00255 <span class="comment">//   }</span>00256   <span class="keywordflow">if</span> (sexpr.length() == 0) {00257     <span class="keywordflow">return</span> NULL;00258   }00259   <span class="keywordflow">if</span> ( !<a class="code" href="parse_8cpp.html#a6">is_legalexpr</a>(sexpr)) {00260     <span class="keywordflow">return</span> NULL;00261   }00262   <span class="comment">// check whether is single symbol</span>00263   <span class="comment">// i.e. leaf cell</span>00264   <span class="comment">// if (string::npos == sexpr.find('(')) {</span>00265   <span class="keywordflow">if</span> (<span class="charliteral">'('</span> != sexpr[0]) {00266     <span class="comment">// this is leaf cell</span>00267     <span class="comment">// bulid this leaf cell</span>00268     <a class="code" href="classCell.html">Cell</a>* root = <a class="code" href="parse_8cpp.html#a7">makecell</a>( sexpr );00269     <span class="keywordflow">return</span> root;00270   }00271 00272   <span class="comment">// the first and last character are '(' and ')', respectively</span>00273   <span class="comment">// delete the two characters</span>00274   <span class="keywordtype">int</span> length = sexpr.size();00275   sexpr = sexpr.substr(1, length-2);00276   <a class="code" href="parse_8cpp.html#a5">clearwhitespace</a>(sexpr);00277   length = sexpr.size();00278 <span class="comment">//   if ( inparsecar ) {</span>00279 <span class="comment">//     if (sexpr == "") {</span>00280 <span class="comment">//       Cell* ec = new Cell("()");</span>00281 <span class="comment">//       return ec;</span>00282 <span class="comment">//     }</span>00283 <span class="comment">//   }</span>00284   <span class="comment">// separate the s-expression into two left and right subsexps</span>00285   <a class="code" href="classCell.html">Cell</a>* root = <a class="code" href="parse_8cpp.html#a8">separate_parse</a>(sexpr);00286 00287   <span class="keywordflow">return</span> root;00288 }00289 <a name="l00295"></a><a class="code" href="parse_8cpp.html#a8">00295</a> <a class="code" href="classCell.html">Cell</a>* <a class="code" href="parse_8cpp.html#a8">separate_parse</a>(string&amp; instr)00296 {00297   string sexp;00298   <span class="keywordtype">bool</span> isstartsexp = <span class="keyword">false</span>;00299   <span class="keywordtype">int</span> inumleftparenthesis = 0;00300 00301   <span class="comment">// check whether to read the end</span>00302   <a class="code" href="parse_8cpp.html#a5">clearwhitespace</a>(instr);00303   <span class="keywordtype">int</span> length = instr.size();00304     <span class="comment">// check whether it is a "()" sexpr</span>00305 00306   <span class="keywordflow">while</span> (instr.size() &gt; 0) {00307     <span class="comment">// read char by char</span>00308     <span class="keywordtype">char</span> currentchar = instr[0];00309     <span class="comment">// skip some white space before new s-expression occurs</span>00310     <span class="keywordflow">if</span> ((<span class="keyword">true</span> == <a class="code" href="parse_8hpp.html#a1">iswhitespace</a>(currentchar))&amp;&amp;(<span class="keyword">false</span> == isstartsexp)) {00311       <span class="keywordflow">continue</span>;00312     }00313     <span class="comment">// run accross a new s-expression</span>00314     <span class="keywordflow">if</span> ((<span class="keyword">false</span> == isstartsexp)&amp;&amp;(<span class="keyword">false</span> == <a class="code" href="parse_8hpp.html#a1">iswhitespace</a>(currentchar))) {00315       <span class="comment">// check whether single symbol</span>00316       <span class="keywordflow">if</span> (<span class="charliteral">'('</span> != currentchar) {00317         <span class="comment">// read single a single symbol</span>00318         <a class="code" href="main_8cpp.html#a1">readsinglesymbol</a>(instr, sexp);00319         <a class="code" href="parse_8cpp.html#a5">clearwhitespace</a>(instr);  00320         inparsecar = <span class="keyword">true</span>;00321         <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a13">car</a> = <a class="code" href="parse_8hpp.html#a0">parse</a>(sexp);00322         inparsecar = <span class="keyword">false</span>;00323         <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a14">cdr</a> = <a class="code" href="parse_8hpp.html#a0">parse</a>(<span class="stringliteral">"("</span> + instr + <span class="stringliteral">")"</span>);00324         <a class="code" href="classCell.html">Cell</a>* root = <a class="code" href="cons_8hpp.html#a4">cons</a>(<a class="code" href="cons_8hpp.html#a13">car</a>, <a class="code" href="cons_8hpp.html#a14">cdr</a>);00325         sexp.clear();00326         <span class="keywordflow">return</span> root;00327       } <span class="keywordflow">else</span> {00328         <span class="comment">// start new expression</span>00329         isstartsexp = <span class="keyword">true</span>;00330         <span class="comment">// read left parenthesiss</span>00331         sexp += currentchar;00332         instr = instr.substr(1, instr.size() -1);00333         inumleftparenthesis = 1;00334       }00335     } <span class="keywordflow">else</span> {00336       <span class="comment">// in the process of reading the current s-expression</span>00337       <span class="keywordflow">if</span> (<span class="keyword">true</span> == isstartsexp) {00338         <span class="keywordflow">if</span> (<span class="keyword">true</span> == <a class="code" href="parse_8hpp.html#a1">iswhitespace</a>(currentchar)) {00339           <span class="comment">// append a blankspace</span>00340           sexp += <span class="charliteral">' '</span>;00341           instr = instr.substr(1, instr.size() -1);00342         } <span class="keywordflow">else</span> {00343           <span class="comment">// append current character</span>00344           sexp += currentchar;00345           instr = instr.substr(1, instr.size() -1);00346           <span class="comment">// count left parenthesiss</span>00347           <span class="keywordflow">if</span> (<span class="charliteral">'('</span> == currentchar) {00348             inumleftparenthesis ++;00349           }00350           <span class="keywordflow">if</span> (<span class="charliteral">')'</span> == currentchar) {00351             inumleftparenthesis --;00352 00353             <span class="comment">// check whether current s-expression ends</span>00354             <span class="keywordflow">if</span> (0 == inumleftparenthesis) {00355               <span class="comment">// current s-expression ends</span>00356               isstartsexp = <span class="keyword">false</span>;00357               <a class="code" href="parse_8cpp.html#a5">clearwhitespace</a>(instr);00358               inparsecar = <span class="keyword">true</span>;00359               <a class="code" href="classCell.html">Cell</a>* <a class="code" href="cons_8hpp.html#a13">car</a> = <a class="code" href="parse_8hpp.html#a0">parse</a>(sexp);        00360               inparsecar = <span class="keyword">false</span>;00361               <span class="keywordtype">int</span> length = instr.length();00362               <a class="code" href="classCell.html">Cell</a>* cdr;00363               <a class="code" href="classCell.html">Cell</a>* root;00364               <span class="keywordflow">if</span> (length &lt;= 0) {00365                 <a class="code" href="cons_8hpp.html#a14">cdr</a> = NULL;00366               } <span class="keywordflow">else</span> {00367                 <a class="code" href="cons_8hpp.html#a14">cdr</a> = <a class="code" href="parse_8hpp.html#a0">parse</a>(<span class="stringliteral">"("</span> + instr + <span class="stringliteral">")"</span>);       00368               }00369               root = <a class="code" href="cons_8hpp.html#a4">cons</a>(<a class="code" href="cons_8hpp.html#a13">car</a>, <a class="code" href="cons_8hpp.html#a14">cdr</a>);00370               sexp.clear();00371               <span class="keywordflow">return</span> root;     00372             }00373           }00374         }00375       }00376     }00377   }00378 00379   <span class="keywordflow">return</span> NULL;00380 }</pre></div><hr size="1"><address style="align: right;"><small>Generated on Thu Mar 8 15:44:44 2007 for a1 by&nbsp;<a href="http://www.doxygen.org/index.html"><img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.3.9.1 </small></address></body></html>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久99精品一区二区三区| 91在线观看一区二区| 不卡区在线中文字幕| 9191精品国产综合久久久久久| 国产午夜一区二区三区| 日韩专区在线视频| 99久久亚洲一区二区三区青草| 日韩美女一区二区三区四区| 亚洲一区在线播放| 91麻豆国产福利在线观看| 精品国产3级a| 日韩激情中文字幕| 欧美唯美清纯偷拍| 亚洲视频免费看| 岛国精品在线观看| 国产婷婷色一区二区三区四区| 美国十次了思思久久精品导航| 欧美人成免费网站| 视频一区二区三区在线| 欧美日韩国产小视频在线观看| 一区二区三区在线观看国产 | 欧美国产欧美综合| 午夜精品福利一区二区三区av| 一本色道久久综合亚洲91| 国产精品网曝门| 国产二区国产一区在线观看| 欧美成人午夜电影| 国产一区二区毛片| 国产色婷婷亚洲99精品小说| 精品一区二区三区欧美| 日韩精品一区二| 极品少妇一区二区| 久久久亚洲精品一区二区三区| 六月婷婷色综合| 26uuu亚洲| 国产成人av电影在线观看| 久久久噜噜噜久久人人看| 国产高清久久久| 亚洲欧美综合色| 在线看一区二区| 午夜久久久久久久久久一区二区| 欧美日本乱大交xxxxx| 日韩和欧美一区二区三区| 欧美一区二区三区喷汁尤物| 国产尤物一区二区在线| 国产亚洲欧美色| 一本大道av一区二区在线播放 | 91福利在线免费观看| 亚洲一区二区在线视频| 欧美二区三区91| 国产一区欧美一区| 1024成人网色www| 欧美日韩电影在线播放| 久久国内精品自在自线400部| 国产欧美一区二区精品性| thepron国产精品| 天堂午夜影视日韩欧美一区二区| 欧美成va人片在线观看| 成人app网站| 日韩av在线播放中文字幕| 久久久久久亚洲综合| 91热门视频在线观看| 欧美aⅴ一区二区三区视频| 国产日产亚洲精品系列| 欧美人与禽zozo性伦| 成人精品免费看| 一二三区精品视频| 久久久久国产精品人| 色噜噜狠狠色综合欧洲selulu| 蜜桃av一区二区| 亚洲色图另类专区| 精品欧美黑人一区二区三区| 日本精品一级二级| 极品美女销魂一区二区三区| 一区二区三区在线视频免费观看| 日韩免费观看高清完整版 | 亚洲色图在线视频| 日韩免费福利电影在线观看| 91久久国产最好的精华液| 国产主播一区二区| 午夜精品在线看| 国产精品久久久久久户外露出| 欧美一级高清大全免费观看| 白白色 亚洲乱淫| 久久99精品国产麻豆婷婷| 一区二区三区在线免费观看| 亚洲国产高清aⅴ视频| 在线成人免费视频| 成人少妇影院yyyy| 黄色小说综合网站| 日韩av一区二区三区四区| 一区二区高清免费观看影视大全| 国产欧美一区二区三区在线看蜜臀 | 亚洲视频网在线直播| 久久精品夜夜夜夜久久| 日韩一级高清毛片| 欧美日韩不卡一区二区| 91国产丝袜在线播放| 99久久精品情趣| 国产a视频精品免费观看| 日本欧美大码aⅴ在线播放| 亚洲一区二区三区四区的| 亚洲欧美另类在线| 亚洲视频网在线直播| 国产日韩精品视频一区| 久久亚洲私人国产精品va媚药| 678五月天丁香亚洲综合网| 欧美性猛片aaaaaaa做受| 在线观看亚洲精品视频| 99精品欧美一区二区三区小说| 国产精品一区二区免费不卡| 国产成人综合精品三级| 国产一区不卡精品| 国产在线精品一区二区三区不卡| 极品少妇xxxx偷拍精品少妇| 国产在线日韩欧美| 国产一区二区三区四区五区美女| 国产综合色在线视频区| 国产在线日韩欧美| 成人黄色综合网站| av一区二区不卡| 91精彩视频在线观看| 欧美在线影院一区二区| 欧美精品日韩精品| 精品国产一区二区三区久久久蜜月 | 色综合天天性综合| 91久久精品一区二区二区| 欧美日韩精品一区二区三区四区| 欧美美女一区二区在线观看| 精品日韩欧美一区二区| 亚洲国产成人在线| 亚洲激情欧美激情| 日本中文字幕一区| 国产乱码精品一区二区三区忘忧草| 成人免费av网站| 欧美日韩一区二区三区不卡| 欧美一区二区高清| 国产欧美一区在线| 亚洲成人精品在线观看| 精品亚洲国内自在自线福利| 99免费精品视频| 日韩一区二区在线播放| 中文字幕不卡三区| 亚洲国产视频在线| 国产福利精品导航| 精品视频在线免费看| 精品88久久久久88久久久| 国产精品福利在线播放| 日韩中文字幕麻豆| 波多野结衣视频一区| 在线电影一区二区三区| 国产精品嫩草影院av蜜臀| 亚欧色一区w666天堂| 高清视频一区二区| 欧美一卡二卡在线观看| 国产片一区二区| 日本网站在线观看一区二区三区| 成人一区二区视频| 日韩网站在线看片你懂的| 亚洲色图另类专区| 国产二区国产一区在线观看| 欧美日韩一区二区三区在线 | 日韩欧美国产一区二区三区 | 久久 天天综合| 色嗨嗨av一区二区三区| 久久影视一区二区| 天天综合日日夜夜精品| 99久久久久久| 国产日韩欧美一区二区三区综合| 日韩专区欧美专区| 在线观看欧美黄色| 亚洲婷婷综合色高清在线| 国产一区二区在线看| 欧美一区二区三区视频免费播放 | 极品尤物av久久免费看| 欧美日韩五月天| 一区二区三区四区激情| 高潮精品一区videoshd| 日韩精品综合一本久道在线视频| 亚洲一区在线视频| 色噜噜夜夜夜综合网| 亚洲三级在线观看| 国产98色在线|日韩| 欧美电视剧在线观看完整版| 亚洲国产精品一区二区www在线| 不卡欧美aaaaa| 国产日韩三级在线| 国产黄人亚洲片| 久久综合久久久久88| 日本一区中文字幕| 欧美日韩视频一区二区| 亚洲综合色成人| 日本二三区不卡| 亚洲人快播电影网| 日本丶国产丶欧美色综合| 最新高清无码专区| www.亚洲精品| 亚洲三级在线免费| 在线观看三级视频欧美| 一区二区三区四区精品在线视频 |