[英]How do I create a token for a function in antlr4
我需要一些帮助,因为我知道如何创建一种在我的语言上定义 function 的方法:
function:
ID ‘as’ DATATYPE ‘(‘ arguments ‘)’ instruction* EndFun;
我的问题是,如果我想制作“无效”功能,如何防止用户输入“返回 ID”
function:
ID (‘as’ DATATYPE)? ‘(‘ arguments ‘)’ instruction* EndFun;
ps:指令令牌包括“返回ID”
解析后检查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.