[英]How do I create a token for a function in antlr4
I need some help, because I know how to create a way to define a function on my language:我需要一些帮助,因为我知道如何创建一种在我的语言上定义 function 的方法:
function:
ID ‘as’ DATATYPE ‘(‘ arguments ‘)’ instruction* EndFun;
My problem is, if I want to make 'void' functions, how can I prevent from user to input a 'return ID'我的问题是,如果我想制作“无效”功能,如何防止用户输入“返回 ID”
function:
ID (‘as’ DATATYPE)? ‘(‘ arguments ‘)’ instruction* EndFun;
ps: instructions token includes 'return ID' ps:指令令牌包括“返回ID”
Either check after parsing if a void
function contains a return statement (which is what I'd do), or do something like this:解析后检查
void
function 是否包含返回语句(这是我要做的),或者执行以下操作:
function
: ID 'as' DATATYPE '(' arguments ')' instruction* EndFun
| 'void' '(' arguments ')' instruction_no_return* EndFun
;
instruction
: instruction_no_return
| 'return' ID
;
instruction_no_return
: instruction_a
| instruction_b
| instruction_c
;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.