grammar-kit

    0热度

    1回答

    有没有办法在语法工具箱中进行负向预测? 例如:我有两个标记定义A和B,并希望定义一个相匹配的,如果后面没有B. 我试图找到它在这个grammar的规则,但我不是能够阅读它。

    3热度

    1回答

    使用https://github.com/JetBrains/Grammar-Kit如何重写没有左递归的语法? grammar ::= exprs exprs::= (sum_expr (';')?)* private sum_expr::= sum_expr_infix | sum_expr_prefix sum_expr_infix ::= number sum_expr_prefix

    0热度

    1回答

    我想定义一个领域特定语言(DSL)是结构/级联这样 ROOT NAME "my dsl" TODO DESC "foo" END TODO DESC "bar" END END 对于我的理解,它需要下列规则: ROOT和TODO对象已开始他们的关键字并以END结束。 ROOT必须具有NAME属性。 TODO必须在根DESC

    4热度

    1回答

    在VHDL中,'字符可以用来封装字符标记ie '.'或者它可以作为属性分隔符(类似于CPP的:: token)ie string'("hello")。 解析包含字符ie string'('a','b','c')的属性名称时出现问题。在这种情况下,天真的词法分析器会错误地将第一个'('标记为字符,并且以下所有实际字符都会混淆。 有一个从2007年comp.lang.vhdl谷歌组线程,询问题为"Le

    0热度

    1回答

    我想匹配 \begin{alpha} content_between \end{alpha} 其中content_between非常复杂,在几个步骤定义,所以使用正则表达式一个我无法定义它。 最重要的一点是,开始标记和结束标记具有相同的alpha内容,如在HTML,所以我的想法是要做得像: tokens=[ BEGIN='regexp:\\begin\s*\{([a-zA-Z]+

    0热度

    1回答

    我配置了结构化语言的语法,现在想要编写自动完成行为。有没有一种方法可以基于这样定义的语法来生成? RootObject ::= ROOT (NameAttr | TitleAttr)* END private NameAttr ::= NAME string private TitleAttr ::= TITLE string 击中自动完成热键ROOT后应建议END,姓名和头衔 - 这是在

    1热度

    1回答

    如何更改Grammar-Kit生成的JFlex分析器Java文件生成路径? 我对Grammar-Kit's issue tracker提问,但还没有收到任何回复。 我厌倦了没有将词法分析器放到我生成的文件目录中(我可以轻松地将其与所有其他生成的文件一起删除,并将其从搜索中排除,以及IDE警告等) 。