grako相关内容
我正在尝试找出改善向Grako生成的解析器的用户显示的错误的最佳方法.似乎Grako生成的解析器在输入文件中遇到某些解析问题时显示的默认解析错误没有帮助.该错误似乎通常意味着当真正的错误与其他地方有所不同时,问题出在输入文件的一部分中. 我一直在研究Grako Semantics类,以进行一些检查,如果检查失败,这些检查会显示更好的错误消息,但似乎还可能需要指定大量边缘情况才能捕捉到解析规则
..
我如何使用Grako进行错误处理? EBNF(MyGrammar.ebnf): pattern = { tag | function }* ; tag = tag:( "%" name:id "%" ); function = function:("$" name:id "()" ); id = ?/([^\\%$,()=])+/? ; 我正在使用生
..
我正在还原最初基于Perl构建的一种迷你语言(请参见 github上的Chessa#),但是我在应用语义时遇到了很多问题. 这是语法: (* integers *) DEC = /([1-9][0-9]*|0+)/; int = /(0b[01]+|0o[0-7]+|0x[0-9a-fA-F]+)/ | DEC; (* floats *) pointfloat = /([0-9]*\.
..
以下是EBNF格式(主要-实际语法已记录在此处)语法,我正在尝试为以下语法生成解析器: expr = lambda_expr_list $; lambda_expr_list = [ lambda_expr_list "," ] lambda_expr; lambda_expr = conditional_expr [ "->" lambda_expr ]; conditional_e
..
我的同事PaulS问我以下问题: 我正在为一种现有的语言(SystemVerilog-IEEE标准)编写一个解析器,并且该规范中包含一个规则,该规则的结构与此类似: cover_point = [[data_type] identifier ':' ] 'coverpoint' identifier ';' ; data_type =
..