【编译原理】C-minusDFA

1.C-minus的记号:

(1)关键字(保留字):else if int return void while

(2)专用符号:+ - * / < <= > >= == != = ; , ( ) [ ] { } /* */

(3)其他标记:ID,NUM:ID = letter letter*      NUM = digit digit*      letter = a|..|z|A|..|Z        digit = 0|..|9

(5)注释:/*注释*/

2.各记号对应的DFA(图是自绘的,可能有错误,欢迎纠错)

记号

DFA

+ - * { } [ ] { } ; ,

【编译原理】C-minusDFA

< <=

【编译原理】C-minusDFA

> >=

【编译原理】C-minusDFA

= ==

【编译原理】C-minusDFA

!=

【编译原理】C-minusDFA

ID

【编译原理】C-minusDFA

NUM

【编译原理】C-minusDFA

over

&

Comment

【编译原理】C-minusDFA

3.所有记号的DFA

【编译原理】C-minusDFA