[英]Is it possible to continue parsing with other rules after an exception is raised in semantics?
在語義操作中引發異常后是否可以回退到其他規則? 像以下(人為的)場景:
var = /[a-zA-Z]+/;
keyword = 'for' | 'in';
a = var:var | keyword:keyword;
def a(ast):
if (ast.var not in symbolTable):
raise Exception()
並且當引發異常時,解析繼續使用“關鍵字”規則。 我知道 @@keyword 功能,但我想在運行時聲明關鍵字(我的解析器用於具有用戶定義運算符的編程語言)。
如果語義代碼引發tatsu.exceptions.FailedSemantics
,則異常將被視為ParseException
,因此將恢復正常的解析控制流。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.