postfix_expression: primary_expression | (primary_expression)(s) '[' expression ']' | (primary_expression)(s) '(' ')' | (primary_expression)(s) '(' argument_expression_list ')'c grammar @ perl http://cpansearch.perl.org/src/DCONWAY/Parse-RecDescent-1.93/demo/demo_Cgrammar.pl http://search.cpan.org/~dconway/Parse-RecDescent/MANIFEST c grammar @ lex yacc http://www.lysator.liu.se/c/ANSI-C-grammar-l.html http://www.lysator.liu.se/c/ANSI-C-grammar-y.html Free Programming Language Grammars for Compiler Construction http://www.thefreecountry.com/sourcecode/grammars.shtml PS: try 過 demo_Cgrammar.pl 後. 除了發現 grammar 有些地方要改之外其效能也不太理想. 大體上來說是拿 ANSI C 的 lex yacc 來改的, 但是碰到grammar check 時會有 deep recursive 的問題生. 看來還是得回到最原始的方式先用 lex yacc 轉成 dot/XML format 在餵到 tool 內
2010年12月27日 星期一
ANSI C grammar
http://search.cpan.org/~dconway/Parse-RecDescent-1.965001/lib/Parse/RecDescent.pm
http://www.adp-gmbh.ch/perl/rec_descent.html
Eliminating Left Recursion in Parse::RecDescent
http://www.perlmonks.org/?node_id=153155
http://prlmnks.org/html/553889.html
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言