簡體   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