📄 functionid.g
字号:
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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -