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

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

?? main_8cpp-source.html

?? parser in C++~~~~~~~~~~~~
?? HTML
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1"><title>a1: main.cpp Source File</title><link href="doxygen.css" rel="stylesheet" type="text/css"></head><body><!-- Generated by Doxygen 1.3.9.1 --><div class="qindex"><a class="qindex" href="index.html">Main&nbsp;Page</a> | <a class="qindex" href="annotated.html">Class&nbsp;List</a> | <a class="qindex" href="files.html">File&nbsp;List</a> | <a class="qindex" href="functions.html">Class&nbsp;Members</a> | <a class="qindex" href="globals.html">File&nbsp;Members</a></div><h1>main.cpp</h1><a href="main_8cpp.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment">00001 00010 <span class="preprocessor">#include "<a class="code" href="parse_8hpp.html">parse.hpp</a>"</span>00011 <span class="preprocessor">#include "<a class="code" href="eval_8hpp.html">eval.hpp</a>"</span>00012 <span class="preprocessor">#include &lt;sstream&gt;</span>00013 00014 <span class="keyword">using</span> <span class="keyword">namespace </span>std;00015 <a name="l00020"></a><a class="code" href="main_8cpp.html#a0">00020</a> <span class="keywordtype">void</span> <a class="code" href="main_8cpp.html#a0">parse_eval_print</a>(string sexpr)00021 {00022   <a class="code" href="classCell.html">Cell</a>* root = <a class="code" href="parse_8hpp.html#a0">parse</a>(sexpr);00023   <a class="code" href="classCell.html">Cell</a>* result = <a class="code" href="eval_8hpp.html#a0">eval</a>(root);00024   <span class="keywordflow">if</span> ( result == nil ) {00025     cout &lt;&lt; <span class="stringliteral">"()"</span> &lt;&lt; endl;00026   } <span class="keywordflow">else</span> {00027     cout &lt;&lt; *result &lt;&lt; endl;00028   }00029   <span class="keyword">delete</span> result;00030 }00031 <a name="l00037"></a><a class="code" href="main_8cpp.html#a1">00037</a> <span class="keywordtype">void</span> <a class="code" href="main_8cpp.html#a1">readsinglesymbol</a>(ifstream&amp; fin, string&amp; str)00038 {00039   <span class="keywordtype">char</span> currentchar;00040   fin.get(currentchar);00041   <span class="keywordflow">if</span> (fin.eof()) {00042     <span class="keywordflow">return</span>;00043   }00044   <span class="keywordflow">if</span> (currentchar == <span class="charliteral">'\"'</span>) {00045     <span class="comment">// read a string literal</span>00046     <span class="keywordflow">do</span> {00047       str += currentchar;00048       fin.get(currentchar);00049     } <span class="keywordflow">while</span> (currentchar != <span class="charliteral">'\"'</span>);00050     str += currentchar;00051   } <span class="keywordflow">else</span> {00052     <span class="keywordflow">do</span> {00053       str += currentchar;00054       fin.get(currentchar);00055     } <span class="keywordflow">while</span> ((<span class="keyword">false</span> == <a class="code" href="parse_8hpp.html#a1">iswhitespace</a>(currentchar)) 00056              &amp;&amp; (<span class="charliteral">'('</span> != currentchar) 00057              &amp;&amp; (<span class="keyword">false</span> == fin.eof()));00058     fin.putback(currentchar);  00059   }00060 }00061 <a name="l00068"></a><a class="code" href="main_8cpp.html#a2">00068</a> <span class="keywordtype">void</span> <a class="code" href="main_8cpp.html#a3">readfile</a>(ifstream&amp; fin)00069 {00070   string sexp;00071   <span class="keywordtype">bool</span> isstartsexp = <span class="keyword">false</span>;00072   <span class="keywordtype">int</span> inumleftparenthesis = 0;00073 00074   <span class="comment">// check whether to read the end</span>00075   <span class="keywordflow">while</span> (!fin.eof()) {00076     <span class="comment">// read char by char</span>00077     <span class="keywordtype">char</span> currentchar;00078     fin.get(currentchar);00079     <span class="keywordflow">if</span> (fin.eof()) {00080       <span class="keywordflow">break</span>;00081     }00082 00083     <span class="comment">// skip some white space before new s-expression occurs</span>00084     <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)) {00085       <span class="keywordflow">continue</span>;00086     }00087     <span class="comment">// run across a new s-expression</span>00088     <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))) {00089       <span class="comment">// check whether single symbol</span>00090       <span class="keywordflow">if</span> (<span class="charliteral">'('</span> != currentchar)   {00091         <span class="comment">// read a single symbol</span>00092         fin.putback(currentchar);00093         <a class="code" href="main_8cpp.html#a1">readsinglesymbol</a>(fin, sexp);00094         <span class="comment">// call function</span>00095         <a class="code" href="main_8cpp.html#a0">parse_eval_print</a>(sexp);00096         sexp.clear();00097       } <span class="keywordflow">else</span> {00098         <span class="comment">// start new expression</span>00099         isstartsexp = <span class="keyword">true</span>;00100         <span class="comment">// read left parenthesis</span>00101         sexp += currentchar;00102         inumleftparenthesis = 1;00103       }00104     } <span class="keywordflow">else</span> {00105       <span class="comment">// in the process of reading the current s-expression</span>00106       <span class="keywordflow">if</span> (<span class="keyword">true</span> == isstartsexp) {00107         <span class="keywordflow">if</span> (<span class="keyword">true</span> == <a class="code" href="parse_8hpp.html#a1">iswhitespace</a>(currentchar)) {00108           <span class="comment">// append a blankspace</span>00109           <span class="comment">//sexp += ' ';</span>00110           sexp += currentchar;00111         } <span class="keywordflow">else</span> {00112           <span class="comment">// append current character</span>00113           sexp += currentchar;00114           <span class="comment">// count left parenthesis</span>00115           <span class="keywordflow">if</span> (<span class="charliteral">'('</span> == currentchar) {00116             inumleftparenthesis ++;00117           }00118           <span class="keywordflow">if</span> (<span class="charliteral">')'</span> == currentchar) {00119             inumleftparenthesis --;00120             <span class="comment">// check whether current s-expression ends</span>00121             <span class="keywordflow">if</span> (0 == inumleftparenthesis) {00122               <span class="comment">// current s-expression ends</span>00123               isstartsexp  =  <span class="keyword">false</span>;00124               <span class="comment">// call functions</span>00125               <a class="code" href="main_8cpp.html#a0">parse_eval_print</a>(sexp);00126               sexp.clear();00127             }00128           }00129         }00130       }00131     }00132   }00133 }00134 <a name="l00139"></a><a class="code" href="main_8cpp.html#a3">00139</a> <span class="keywordtype">void</span> <a class="code" href="main_8cpp.html#a3">readfile</a>(<span class="keywordtype">char</span>* fn)00140 {00141   ifstream fin(fn);00142   <a class="code" href="main_8cpp.html#a3">readfile</a>(fin);00143   fin.close();00144 }00145 <a name="l00150"></a><a class="code" href="main_8cpp.html#a4">00150</a> <span class="keywordtype">void</span> <a class="code" href="main_8cpp.html#a4">readconsole</a>()00151 {00152   string sexpr;00153   <span class="comment">// read the input</span>00154   <span class="keywordflow">do</span> {00155     cout &lt;&lt; <span class="stringliteral">"&gt; "</span>;00156     getline(cin, sexpr);00157     <span class="keywordflow">if</span> (cin.eof()) {00158       <span class="keywordflow">break</span>;00159     }00160     <span class="keywordflow">if</span> (<span class="stringliteral">"(exit)"</span> == sexpr) {00161       <span class="keywordflow">return</span>;00162     }00163     <a class="code" href="main_8cpp.html#a0">parse_eval_print</a>(sexpr);00164   } <span class="keywordflow">while</span> (<span class="keyword">true</span>);00165 }00166 <a name="l00170"></a><a class="code" href="main_8cpp.html#a5">00170</a> <span class="keywordtype">int</span> <a class="code" href="main_8cpp.html#a5">main</a>(<span class="keywordtype">int</span> argc, <span class="keywordtype">char</span>* argv[])00171 {00172   <span class="keywordflow">switch</span>(argc) {00173   <span class="keywordflow">case</span> 1:00174     <span class="comment">// read from the standard input</span>00175     <a class="code" href="main_8cpp.html#a4">readconsole</a>();00176     exit(0);00177     <span class="keywordflow">break</span>;00178   <span class="keywordflow">case</span> 2:00179     <span class="comment">// read from a file</span>00180     <a class="code" href="main_8cpp.html#a3">readfile</a>(argv[1]);00181     <span class="keywordflow">break</span>;00182   <span class="keywordflow">default</span>:00183     cout &lt;&lt; <span class="stringliteral">"too many arguments!"</span> &lt;&lt; endl;00184     exit(0);00185   }00186   <span class="keywordflow">return</span> 0;00187 }</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一区二区三区免费野_久草精品视频
日韩一区二区在线免费观看| 日本不卡免费在线视频| 国产精品中文字幕日韩精品 | 日韩制服丝袜av| 色拍拍在线精品视频8848| 亚洲精品免费看| 99综合影院在线| 中文字幕在线一区免费| 色播五月激情综合网| 亚洲麻豆国产自偷在线| 成人高清av在线| 亚洲色图视频免费播放| 91蝌蚪国产九色| 天天免费综合色| 日韩欧美的一区二区| 青草av.久久免费一区| 久久久蜜臀国产一区二区| 国产精品影视天天线| 亚洲欧美日韩成人高清在线一区| 色噜噜狠狠色综合中国| 亚洲一区二区在线视频| 精品99一区二区三区| 国产成人超碰人人澡人人澡| 国产精品久久网站| 91国偷自产一区二区三区观看| 一区二区三区精品久久久| 欧美成人精品福利| 国产成人丝袜美腿| 中文字幕日韩精品一区| 欧美日韩电影在线| 久久99这里只有精品| 一区二区三区中文字幕| 欧美日本乱大交xxxxx| 韩国精品主播一区二区在线观看 | 亚洲精品中文在线| 欧美日韩精品二区第二页| 欧美aⅴ一区二区三区视频| 精品国产成人系列| 99精品国产热久久91蜜凸| 免费成人av资源网| 中文字幕国产一区| 一本一道久久a久久精品| 麻豆国产精品官网| 国产精品免费视频观看| 欧美一区二区在线免费播放| 国产成人在线视频网址| 亚洲国产欧美在线| 欧美一级xxx| 色综合视频一区二区三区高清| 婷婷综合久久一区二区三区| 国产亚洲午夜高清国产拍精品| 欧美日韩国产a| 成人一区二区三区视频在线观看| 国产精品素人视频| 欧美精品一区二区三区四区| av日韩在线网站| 丁香亚洲综合激情啪啪综合| 亚洲成a人片在线观看中文| 精品久久久久av影院| 色婷婷国产精品| 国产精品综合网| 久久66热re国产| 亚洲一级二级三级在线免费观看| 国产精品污污网站在线观看| 日韩欧美另类在线| 91精品办公室少妇高潮对白| av日韩在线网站| 国产精品原创巨作av| 国产曰批免费观看久久久| 午夜视频一区在线观看| 最好看的中文字幕久久| 亚洲国产精品二十页| 欧美变态tickling挠脚心| 欧美一区二区在线观看| 欧美三区免费完整视频在线观看| 国产乱人伦偷精品视频免下载| 精品亚洲国产成人av制服丝袜| 亚洲午夜在线观看视频在线| 亚洲精品成人a在线观看| 国产欧美一区二区三区沐欲| 日韩欧美你懂的| 久久久精品国产免费观看同学| 欧美一级黄色录像| www国产成人免费观看视频 深夜成人网| 欧美午夜片在线看| 欧美在线观看18| 日本久久精品电影| 成人app网站| 色天使色偷偷av一区二区| 成人网男人的天堂| 日本大香伊一区二区三区| 91在线观看高清| 欧美色图在线观看| 欧美羞羞免费网站| 在线看不卡av| 91精品国产欧美一区二区成人 | 91精品黄色片免费大全| 精品视频免费在线| 岛国av在线一区| www.日韩精品| 93久久精品日日躁夜夜躁欧美| 色婷婷亚洲婷婷| 欧美在线观看视频一区二区| 日韩一区二区在线观看视频| 日韩一级大片在线观看| 精品美女在线播放| 亚洲视频一二三| 一区二区不卡在线视频 午夜欧美不卡在| 亚洲成人福利片| 蜜桃视频一区二区三区在线观看 | 亚洲天堂免费看| 亚洲最快最全在线视频| 丝袜脚交一区二区| 国产中文字幕一区| 国产成人精品三级麻豆| 欧美日韩午夜影院| 欧美一区二区久久| 亚洲日本护士毛茸茸| 亚洲成av人综合在线观看| 国内外精品视频| 不卡一区中文字幕| 99免费精品在线| 日韩视频一区二区在线观看| 久久精子c满五个校花| 亚洲一区二区三区视频在线播放 | 中文字幕亚洲精品在线观看 | 日韩电影在线免费观看| 国产成人精品三级| 日本高清免费不卡视频| 久久精品一区二区三区不卡| 亚洲欧美日本韩国| 日本欧美一区二区三区乱码| 91在线国内视频| 日韩欧美国产一区二区三区| 一区二区三区四区激情| 麻豆成人av在线| 欧美视频一区二区在线观看| 久久久久久久久久久电影| 国产精品亲子伦对白| 国内欧美视频一区二区| 91免费版在线看| 丁香桃色午夜亚洲一区二区三区| 在线精品观看国产| 日本一区二区三区电影| 亚洲亚洲人成综合网络| 日韩影院在线观看| 亚洲人快播电影网| 亚洲精品老司机| 午夜一区二区三区在线观看| 国产成人精品亚洲午夜麻豆| 欧美中文一区二区三区| 中文字幕一区二区视频| 久久精品噜噜噜成人88aⅴ| 色婷婷久久99综合精品jk白丝| 欧美一区二区三区啪啪| 一区二区三区中文在线| 国产成人福利片| 欧美日韩小视频| 亚洲视频在线一区观看| 国产精品中文有码| 久久久久亚洲综合| 强制捆绑调教一区二区| 91麻豆精品国产91久久久资源速度 | 久久久蜜桃精品| 国产一区二区在线看| 欧美日韩精品综合在线| 国产亚洲成av人在线观看导航| 国产真实乱偷精品视频免| 欧美精品第1页| 日本sm残虐另类| 欧美日韩激情一区二区| 午夜av电影一区| 欧美午夜精品免费| 亚洲一二三级电影| 在线观看成人免费视频| 欧美一级生活片| 国产一区二区三区蝌蚪| 制服.丝袜.亚洲.另类.中文| 美女看a上一区| 欧美一二三四在线| 国产精品91一区二区| 欧美体内she精高潮| 日韩成人免费电影| 69堂精品视频| 狠狠色2019综合网| 亚洲精品在线电影| 成人毛片视频在线观看| 中文字幕不卡的av| 欧洲一区在线电影| 一区二区三区欧美日| 欧美精品少妇一区二区三区 | 欧美一级艳片视频免费观看| 日韩精品一二区| 欧美伦理电影网| 日本免费新一区视频| 欧美一区二区三级| 国产成人午夜精品影院观看视频| 欧美激情一区二区三区在线| 91久久精品一区二区二区| 亚洲自拍偷拍图区|