$/lexaly/lexaly.cpp
***************** version 4 *****************
user: raywill date: 07-06-20 time: 1:21
checked in $/lexaly
comment:
1.0版本完成。實現既定功能。可很好地識別c語法子集
changes:
129 change: int main_grammar( )
to: int main_grammar(char *filename)
134 change: if(!(f=fopen("source2.txt","r")))
420 ins:
421 ins: if(argc == 3 )else if(argc == 2)
***************** version 3 *****************
user: raywill date: 07-06-19 time: 23:00
checked in $/lexaly
comment:
changes:
44 ins: extern void grammar_check();
45 ins:
46 ins:
67 change: /*
to: char input[10000] = ;
68 del: int wordtable[2]=
69 del: ;
71 del: */
72 del: char input[10000] = "for(i=0;i<10;i++);/n /
76 del: ";
77 del:
79 del: //"if&&(int mynumber=1467;;)";
80 del: char input2[1000] ="if(i=0)";
92 change: char *strstart;
to: char *strstart; //用於輔助識別num,id
89 ins: char* getlinestring(int line,char *in_buf);
90 ins: int nextline();
91 ins: int getline();
92 ins: int getcurrentpos();
93 ins:
94 ins:
95 ins: int nextline()
96 ins: int getline()
97 ins: int getcurrentpos()
99 change: extern void grammar_check();
to: char* getlinestring(int line,char *in_buf)
100 ins:
108 ins:
109 ins: int len = 0;
110 ins: while ( *t != '/n' )
115 ins: in_buf[len] = 0;
116 ins: return in_buf;
117 ins:
118 ins: }
119 ins:
120 ins: void error(char *cur)
121 ins:
126 ins:
127 ins:
128 ins: //語法分析
129 ins: int main_grammar( )
130 ins:
138 ins: int k=0;
139 ins: char c;
140 ins: while((c=fgetc(f))!=eof)
141 ins:
145 ins: input[k] = 0;
146 ins:
147 ins: //列印出程式
148 ins: printf("%s/n",start_of_instr);
149 ins:
150 ins: //開始語法檢查
151 ins: grammar_check();
153 ins: printf("success!/n");
154 ins: return 0;
155 ins: }
102 change: int main(int argc, char* argv)
to: // 詞法分析
158 ins: int main_spell()
126 del: grammar_check();
128 del: /*
146 change: */
to:
149 del: int nextline()
150 del:
153 del:
154 del: int getline()
155 del:
159 del: int getcurrentpos()
160 del:
163 del:
167 change:
to: #if 0
180 change:
to: #endif
185 del:
186 del:
300 change: instr++;
to: if( instr[1] == '/' )else
347 ins: break;
367 change: void error(char *cur)
to: int main(int argc, char* argv)
369 change: printf("error found at %d /n",cur-start_of_instr);
to: // main_spell();
370 change: exit(0);
to: main_grammar();
371 change:
to: return 0;
372 change: } to: }
***************** version 2 *****************
user: raywill date: 07-06-19 time: 21:43
checked in $/lexaly
comment:
加入了while語句,空語句的判斷
changes:
3 change:
to:
36 del: for(i=0;i<10;i++);
40 del: $$$$$$$$$
41 del: '$'就是那些詭異字元
95 change: int current_line = 0;
to: int current_line = 1;
***************** version 1 *****************
user: raywill date: 07-06-19 time: 21:16
created lexaly.cpp
comment:
詞法語法基本完成。後期完善工作中
CCProxy是個好東西
我在之前的部落格裡提到了用teamviewer ccproxy做內網穿透,當時只是簡單提了一下,因為發現這種方式網速比較慢。今天又用到了它,雖然慢點,但是總比沒的用好,哈哈哈。不得不感嘆ccproxy是個好東西,小巧靈活,好多次用學校的ip下 都靠它的,設定也比較簡單。上網本質上和 一樣,只要內網機...
槍油是個好東西
冷風扇失效。而且噪音比較大。本想更換乙個原裝的,問了維修點 原裝的要300元。還 是自己動手豐衣足食吧,將風扇拆下來,清理到灰塵後,將散熱片和風扇拆開,撕開風 扇後的標籤,滴上2滴槍油,重新裝好。測試 自己寫了乙個程式,死迴圈內做mac操作。目的占用cpu資源,讓風扇盡快開啟。沒有一會風扇開啟,起先...
Markdown是個好東西
建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...