锘??xml version="1.0" encoding="utf-8" standalone="yes"?>黄色一区二区在线,黑人一区二区三区四区五区,久久久国产成人精品 http://www.shnenglu.com/SysProgrammer/archive/2009/12/24/104001.htmlReno Reno Thu, 24 Dec 2009 15:51:00 GMT http://www.shnenglu.com/SysProgrammer/archive/2009/12/24/104001.html http://www.shnenglu.com/SysProgrammer/comments/104001.html http://www.shnenglu.com/SysProgrammer/archive/2009/12/24/104001.html#Feedback 0 http://www.shnenglu.com/SysProgrammer/comments/commentRss/104001.html http://www.shnenglu.com/SysProgrammer/services/trackbacks/104001.html // Unnamed simple script language products define as the flowing: program ::= declaration_list declaration_list ::= var_declaration | fun_declaration var_declaration ::= DECLARE type_specifier_list ID; END type_specifier_list ::= type_specifier type_specifier_list | EMPTY type_specifier ::= VAR fun_declaration ::= BEGIN statement_list END statement_list ::= statement statement_list | EMPTY statement ::= expression_stmt | compund_list | selection_stmt | iteration_stmt expression_stmt ::= expression; | ; compund_list ::= { statement_list } selection_stmt :: IF ( expression ) statement | IF ( expression ) statement ELSE statement ireation_stmt ::= WHILE ( expression ) statement expression ::= var = expression | simple_expression var ::= ID simple_expression ::= additive_expression relop additive_expression | additive_expression relop ::= <= | < | > | >= | == | != additive_expression ::= additive_expression addop term | term addop ::= + | - term ::= term mulop factor | factor mulop ::= * | / factor ::= ( expression ) | var | NUM
]]>PathInterpreter.h http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103847.htmlReno Reno Wed, 23 Dec 2009 14:03:00 GMT http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103847.html http://www.shnenglu.com/SysProgrammer/comments/103847.html http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103847.html#Feedback 0 http://www.shnenglu.com/SysProgrammer/comments/commentRss/103847.html http://www.shnenglu.com/SysProgrammer/services/trackbacks/103847.html
1 #ifndef PATH_INTERPRETER 2 #define PATH_INTERPRETER 3 4 #define WIN32_LEAN_AND_MEAN 5 #include < windows.h > 6 #include < string .h > 7 #include < stdlib.h > 8 #include < ctype.h > 9 #include < string > 10 #include < list > 11 12 using std:: string ; 13 using std::list; 14 15 #define MAX_WORD_LEN 8 // 8 Bytes 16 17 class ContexScan; 18 19 // CPathScriptLoader 20 class CPathScriptLoader 21 { 22 public : 23 string Context; 24 25 void LoadScript( const char * szFile ); 26 }; 27 28 // 29 // Contex Lex 30 // 31 // 32 // ContexScan 33 class ContexScan 34 { 35 public : 36 enum ScanState { WORD, NOPRINT, }; 37 38 public : 39 ContexScan(); 40 ~ ContexScan(); 41 42 void SetExpression( const char * szExpr ); 43 44 bool SkipWord( const char * szWord ); 45 char * GetNextWord(); 46 char * CurrentWord() { return m_szCurrWord; } 47 bool NextWord(); 48 void RebackWordByCount( int n ); // 閫鍑犱釜? 49 void RebackNearestWordByName( const char * szWord ); // 閫鍒板摢涓? 50 51 private : 52 char * m_szExpr; 53 char * m_pLastChar; 54 char * m_pCurrChar; 55 char m_szCurrWord[MAX_WORD_LEN]; 56 ScanState m_eState; 57 }; 58 59 // 60 // Syntax Tree Nodes 61 // 62 // AbstractNode 63 class AbstractNode 64 { 65 public : 66 AbstractNode( ContexScan & contex ); 67 virtual ~ AbstractNode(); 68 69 virtual void Parse() = 0 ; 70 71 protected : 72 ContexScan & m_RefContexScan; 73 list < AbstractNode *> m_Nodes; 74 }; 75 76 // ProgramNode 77 class ProgramNode : public AbstractNode 78 { 79 public : 80 ProgramNode( ContexScan & contex ); 81 virtual ~ ProgramNode(); 82 83 virtual void Parse(); 84 }; 85 86 // CommandListNode 87 class CommandListNode : public AbstractNode 88 { 89 public : 90 CommandListNode( ContexScan & contex ); 91 virtual ~ CommandListNode(); 92 93 virtual void Parse(); 94 }; 95 96 // CommandNode 97 class CommandNode : public AbstractNode 98 { 99 public : 100 CommandNode( ContexScan & contex ); 101 virtual ~ CommandNode(); 102 103 virtual void Parse(); 104 }; 105 106 // RepeatNode 107 class RepeatNode : public AbstractNode 108 { 109 public : 110 RepeatNode( ContexScan & contex ); 111 virtual ~ RepeatNode(); 112 113 virtual void Parse(); 114 }; 115 116 // BlockNode 117 class BlockNode : public AbstractNode 118 { 119 public : 120 BlockNode( ContexScan & contex ); 121 virtual ~ BlockNode(); 122 123 virtual void Parse(); 124 }; 125 126 // PrimitiveNode 127 class PrimitiveNode : public AbstractNode 128 { 129 public : 130 PrimitiveNode( ContexScan & contex ); 131 virtual ~ PrimitiveNode(); 132 133 virtual void Parse(); 134 }; 135 136 // CPathInterpret 137 // The Interpreter Facade interface 138 class CPathInterpret 139 { 140 public : 141 enum InterpretMode { NDEBUG, DEBUG, }; 142 143 public : 144 static InterpretMode m_Mode; 145 146 public : 147 void LoadScript( const char * szFile ); 148 void Interpret( InterpretMode mode = NDEBUG ); 149 150 private : 151 CPathScriptLoader m_ScriptLoader; 152 ContexScan m_ContexScaner; 153 154 }; 155 156 #endif // PATH_INTERPRETER 157
]]>ConsoleMain.cpp http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103848.htmlReno Reno Wed, 23 Dec 2009 14:03:00 GMT http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103848.html http://www.shnenglu.com/SysProgrammer/comments/103848.html http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103848.html#Feedback 0 http://www.shnenglu.com/SysProgrammer/comments/commentRss/103848.html http://www.shnenglu.com/SysProgrammer/services/trackbacks/103848.html
1 #include < stdio.h > 2 #include < string .h > 3 #include " PathInterpreter.h " 4 5 int main( int argc, char * argv[] ) 6 { 7 if ( argc < 2 ) 8 { 9 printf( " Usage: ExecuableFileName ScriptFileName [-DEBUG|-debug] \n " ); 10 return 0 ; 11 } 12 13 if ( argc > 3 ) 14 { 15 printf( " Warning: More parameters have expected, after the third has ignored!\n " ); 16 return 0 ; 17 } 18 19 CPathInterpret Instance; 20 Instance.LoadScript( argv[ 1 ] ); 21 if ( argc == 3 ) 22 { 23 if ( strcmp( argv[ 2 ], " -DEBUG " ) == 0 || strcmp( argv[ 2 ], " -debug " ) == 0 ) 24 Instance.Interpret( CPathInterpret::DEBUG ); 25 else 26 printf( " Warning: Unknown about the third parameter!\n " ); 27 } 28 else 29 Instance.Interpret(); 30 31 return 0 ; 32 } 33 34
]]> PathInterpreter.cpp http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103842.htmlReno Reno Wed, 23 Dec 2009 13:57:00 GMT http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103842.html http://www.shnenglu.com/SysProgrammer/comments/103842.html http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/103842.html#Feedback 0 http://www.shnenglu.com/SysProgrammer/comments/commentRss/103842.html http://www.shnenglu.com/SysProgrammer/services/trackbacks/103842.html 闃呰鍏ㄦ枃 ]]> 榪愬姩璺嚎鎺у埗鑴氭湰璇█ http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/Reno.htmlReno Reno Wed, 23 Dec 2009 08:58:00 GMT http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/Reno.html http://www.shnenglu.com/SysProgrammer/comments/103817.html http://www.shnenglu.com/SysProgrammer/archive/2009/12/23/Reno.html#Feedback 2 http://www.shnenglu.com/SysProgrammer/comments/commentRss/103817.html http://www.shnenglu.com/SysProgrammer/services/trackbacks/103817.html 鏈榪戝湪鍋氫豢闆風數鐨勬父鎴忥紝鍏朵腑鏁屼漢椋炶埞鐨勮繍鍔ㄨ礬綰垮拰鐗瑰緛闇瑕佽兘鐏墊椿鐨勮緗紝騫朵笖灝介噺灝戝姩鍏朵粬閮ㄥ垎鐨勪唬鐮侊紝浜庢槸鎴戠殑鎯蟲硶鏄妸姣忕綾誨瀷鐨勯鑸規寚瀹氱殑榪愬姩璺嚎瀛樺叆鑴氭湰涓紝鐒跺悗鐢卞紩鎿庢牴鎹剼鏈墽琛? 鍥犳鍙互鎶婇鑸圭殑璺嚎鐪嬫垚鏄敱涓緋誨垪鐨勫叧閿偣緇勬垚錛屾瘡涓偣鏈夋瘮濡?涓睘鎬э紝X閫熷害錛孻閫熷害鍜屼繚鎸佽閫熷害鐨勬寔緇椂闂淬傝岃礬綰跨殑榪愬姩杞ㄨ抗鍙互鐢辯畝鍗曠殑鑴氭湰璇█鏉ュ畾涔夛紝姣斿涔熻闇瑕佸湪鏌愬嚑涓偣涔嬮棿閲嶅縐誨姩涓瀹氱殑嬈℃暟銆?/p>
浠ヤ笅鏄竴涓猄cript Demo: GO BEGIN 1.0 0.0 500 END BEGIN -1.0 0.0 500 END REPEAT 4 BEGIN 0.0 1.0 500 END BEGIN 1.0 0.0 500 END BEGIN 0.0 -1.0 500 END BEGIN -1.0 0.0 500 END END END 琛ㄧず鍏堝乏鍙崇Щ鍔ㄤ竴嬈★紝鐒跺悗鍚戜笅錛屽悜鍙籌紝鍚戜笂錛屽悜宸﹀憟鐭╁艦縐誨姩4嬈★紝閫氳繃璁劇疆閫熷害鍒嗛噺鍙互瀹炵幇浠諱綍璺嚎鐨勭Щ鍔ㄤ互鍙婂叾浠栫壒寰併?br>璇ヨ剼鏈璦瑙i噴鍣ㄩ噰鐢ㄤ簡2涓璁℃ā寮忥紝Facade鍜孖nterpret妯″紡錛屽叾涓殑瑙i噴鍣ㄤ嬌鐢ㄤ簡鍑犱箮鍜屼換浣曡璁℃ā寮忎功涓婁粙緇嶇殑涓鏍風殑緇撴瀯錛屽緢緇忓吀鍛悀 闄勪笂璇█鐨勬枃娉曞畾涔? program ::= GO command_list command_list ::= command* END command ::= begin_end_block | repeat begin_end_block ::= BEGIN primitive END // Leaf Node on the Syntax tree repeat ::= REPEAT INT command_list primitive ::= SpeedX,SpeedY,Time // Recursive exit // TestScript.txt GO BEGIN 1.0,0.0,500 END BEGIN -1.0,0.0,500 END REPEAT 4 BEGIN 0.0,1.0,500 END BEGIN 0.0,-1.0,500 END END END // Execute result:
]]> 青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
亚洲毛片在线看 |
亚洲精品日韩激情在线电影 |
这里是久久伊人 |
国产精品久久久久毛片软件
|
伊人精品在线 |
麻豆精品视频在线 |
欧美大片免费 |
亚洲一区二区三区成人在线视频精品 |
日韩午夜电影 |
国产精品欧美日韩 |
久久综合五月 |
欧美精品三级 |
性做久久久久久 |
久久免费精品视频 |
在线亚洲美日韩 |
午夜亚洲福利 |
最新国产成人在线观看
|
亚洲欧美日韩精品久久久 |
午夜精品久久久久久久99樱桃 |
精品福利电影 |
一级日韩一区在线观看 |
国产亚洲福利一区 |
亚洲第一中文字幕 |
国产精品久久久久久久浪潮网站
|
久久天天躁夜夜躁狠狠躁2022 |
男女精品视频 |
久久精品一区二区国产 |
欧美精品亚洲精品 |
久久夜色精品国产亚洲aⅴ |
欧美激情中文字幕在线 |
久久九九免费 |
欧美色道久久88综合亚洲精品 |
蜜桃av噜噜一区 |
国产精品男女猛烈高潮激情 |
亚洲高清色综合 |
国产自产2019最新不卡 |
在线一区二区三区四区 |
亚洲日本理论电影 |
欧美一级欧美一级在线播放 |
亚洲午夜在线视频 |
欧美好骚综合网 |
久久久免费av |
国产乱码精品1区2区3区 |
亚洲国产综合在线 |
亚洲第一成人在线 |
久久爱www. |
欧美中在线观看 |
国产精品久久久久久久久婷婷 |
亚洲高清影视 |
亚洲成在线观看 |
久久精品国产v日韩v亚洲 |
亚洲欧美日韩在线一区 |
欧美色图一区二区三区 |
亚洲人人精品 |
99精品热6080yy久久 |
欧美激情第二页 |
亚洲国产精品va在线观看黑人 |
在线看片第一页欧美 |
久久精品国产一区二区三 |
久久国产夜色精品鲁鲁99 |
国产精品制服诱惑 |
亚洲视频在线播放 |
亚洲欧洲99久久 |
国产精品丝袜91 |
午夜久久久久 |
久久久999精品免费 |
国产亚洲日本欧美韩国 |
欧美一区二区大片 |
久久午夜国产精品 |
亚洲高清毛片 |
欧美福利一区二区三区 |
亚洲精品视频在线看 |
亚洲一区二区动漫 |
国产老女人精品毛片久久 |
翔田千里一区二区 |
免费亚洲一区二区 |
亚洲久久一区 |
欧美午夜无遮挡 |
亚洲欧美第一页 |
久久视频在线免费观看 |
亚洲激情网站免费观看 |
欧美精品v日韩精品v国产精品 |
亚洲免费观看视频 |
欧美在线视频一区二区三区 |
国产一区二区观看 |
欧美插天视频在线播放 |
亚洲六月丁香色婷婷综合久久 |
亚洲一区二区三区中文字幕 |
国产欧美一区二区三区在线老狼
|
欧美连裤袜在线视频 |
亚洲一区二区黄 |
久久综合伊人77777尤物 |
亚洲精品视频免费 |
国产乱人伦精品一区二区 |
久久久精品性 |
亚洲色图制服丝袜 |
美女视频一区免费观看 |
亚洲一区成人 |
亚洲电影在线看 |
国产精品视频免费 |
牛牛国产精品 |
欧美亚洲网站 |
日韩视频一区二区三区 |
久久久久久久综合 |
国产精品99久久不卡二区 |
狠狠色综合网站久久久久久久 |
欧美啪啪一区 |
久久久人成影片一区二区三区观看 |
亚洲精品极品 |
欧美成人精品一区二区 |
性做久久久久久久久 |
亚洲免费电影在线 |
精品88久久久久88久久久 |
国产精品久久久久久av福利软件
|
欧美在线日韩在线 |
洋洋av久久久久久久一区 |
久久免费精品视频 |
午夜精品在线视频 |
在线综合视频 |
亚洲精品偷拍 |
亚洲国产三级在线 |
一区二区三区在线免费观看 |
国产精品无码永久免费888 |
欧美成人在线网站 |
久久婷婷久久 |
久久成人av少妇免费 |
午夜精品网站 |
亚洲一区二区三区在线视频 |
亚洲伦理中文字幕 |
亚洲三级免费 |
91久久精品国产91久久 |
欧美国产极速在线 |
蜜桃av一区二区在线观看 |
久久精品综合网 |
欧美一区91 |
欧美专区亚洲专区 |
欧美专区18 |
久久久www |
久久婷婷成人综合色 |
久久露脸国产精品 |
久久综合福利 |
欧美a级一区 |
欧美多人爱爱视频网站 |
欧美激情成人在线 |
亚洲第一久久影院 |
亚洲国产日韩精品 |
亚洲美女精品久久 |
一区二区久久久久 |
亚洲网站视频 |
亚洲欧美日韩一区在线观看 |
性高湖久久久久久久久 |
久久精品国产亚洲a |
久久午夜精品 |
欧美黄在线观看 |
国产精品久久久久aaaa九色 |
国产欧美日韩精品在线 |
黄色成人在线网站 |
亚洲日本激情 |
亚洲欧美色婷婷 |
久久视频在线看 |
亚洲国产欧美一区二区三区同亚洲 |
亚洲全部视频 |
午夜精品久久久久久 |
久久免费99精品久久久久久 |
欧美成人a∨高清免费观看 |
欧美区视频在线观看 |
国产精品久久久久久久9999 |
国产亚洲欧洲一区高清在线观看 |
在线播放亚洲 |
亚洲婷婷综合久久一本伊一区 |
欧美一区2区三区4区公司二百 |
久久亚洲综合 |
99精品热视频只有精品10 |
亚洲欧美日韩一区二区 |
乱人伦精品视频在线观看 |
欧美日韩亚洲一区二区三区在线
|
国产精品国色综合久久 |
伊人婷婷欧美激情 |
亚洲一区尤物 |
欧美成人xxx |
亚洲综合大片69999 |
另类国产ts人妖高潮视频 |
欧美视频网址 |
在线观看欧美亚洲 |
亚洲一区成人 |
亚洲国产精品电影在线观看 |
亚洲午夜精品一区二区 |
免费成人黄色片 |
国产一区二区三区视频在线观看 |
日韩视频免费观看高清完整版 |
久久黄色网页 |
在线视频你懂得一区二区三区 |
美女日韩在线中文字幕 |
国产一区二区日韩 |
亚洲免费在线观看视频 |
亚洲人成在线免费观看 |
久久综合久色欧美综合狠狠 |
国产麻豆视频精品 |
亚洲亚洲精品三区日韩精品在线视频 |
美女黄毛**国产精品啪啪 |