繁体   English   中英

如何在 antlr4 中为 function 创建令牌

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM