functionid.g
来自「c--词法分析」· G 代码 · 共 34 行
G
34 行
tree grammar FunctionID;options{ tokenVocab = CMinus; ASTLabelType = CommonTree;}@header{ import java.util.HashMap; import java.util.Vector; import java.util.Map; import java.io.*;}program : ^(PROGRAM ^(VARIABLES .*) ^(FUNCTIONS funDecl*) .) EOF ; funDecl@init{ Vector params=new Vector();}@after{ CommonTree blockNode = (CommonTree)$funDecl.start.getChild(3); Main.symbols.declare_function($name.text,$type.text,params,blockNode);} : ^(FUNCTION type=TYPE name=ID ^(PARAMATERS (par=paramDecl {params.add($par.p);})*) .)// block) ;paramDecl returns[FunctionParam p] : ^(VARPAR TYPE ID) {$p=new FunctionParam($ID.text,$TYPE.text,"scalar");} | ^(ARRPAR TYPE ID) {$p=new FunctionParam($ID.text,$TYPE.text,"array");} ;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?