grammar

    2热度

    1回答

    我建立使用Flex和Bison非常琐碎的编译器,其是应该认识到在一个源文件中的简单的字符串和我使用标准错误流,以输出一个消息如果字符串被正确识别。 下面是我的代码和我意想不到的结果。 这是源文件(testsource.txt)以字符串我试图识别: \end{document} 这是Flex文件(UnicTextLang.l): %{ #include <stdio.h> #

    1热度

    1回答

    我想要一个用于CSV输入的ANTLR语法。 什么(~["])+和(~['"'])+之间的区别? 为什么~是非常重要的? 这里是我的语法: grammar Exercice4; csv : ligne+ ; ligne : exp (',' exp)* ('\n' | EOF) ; exp : ID | INT | STRING ;

    0热度

    1回答

    我有一个简单的语法像这样 "STRING_LITERAL"(, "STRING_LITERAL")? 在lexer.g4,我定义STRING_LITERAL这样 STRING_LITERAL: '"'[a-zA-Z0-9!#$&.+-^_{}:\\\" ]+'"'; 然而,似乎它将忽略2个单词之间的逗号(“,”),就像本输入测试一样:“abc”,“”cde \“” Anltr4会将这两个S

    1热度

    1回答

    我有字符串 String myData = "status:\" op en \" AND \"Managed Type\":\"El ectrical\" AND status:verified status:\"resolved\" OR Managed Type:\"Ci vil\""; 我需要不同的所有值和从字符串属性。 我曾尝试与模式的一个正则表达式,其满足要求,因为有些水平,但需要

    0热度

    2回答

    我输入的是一个递归结构如下(注意空白二号线): XXX @ {} YYY @ {ZZZ @ {} WWWW}   语法,因为我看到,会读它应该是这样的: start = item+ item = thing/space thing = '@{' item* '}' space = (!'@' .)+ 但我得到的是 第2行第1列:期望的“@ {”,“}”或任何字符,但除了输入的结尾。 我在

    2热度

    1回答

    我有一个令牌定义问题。 这是我的语法。 r: PROPNAME ':' PROPVALUE PROPNAME: [a-zA-Z]+ PROPVALUE: [a-zA-Z0-9]+ 如果我使用 名称:christof123它匹配 如果我使用 名:克里斯托夫不匹配 当PROPVALUE等待,因为'christof'与两个PROPVALUE PROPORALPROPNAME表达式匹配,所以争论'

    0热度

    1回答

    我一直在寻找其他regex的问题,但一直未能找到答案。我正在ANTLR4的一个语法中工作,并且有一个正常的表达式一直在逃避我。 我试图匹配任何字符,除了对于\其次是[btnrf"\]以外的任何其他字符。 我试过(~([\\][.]) | [\\][btnrf"\]),但~只能否定单个字符,据我所知。我得到的错误: error AC0050: extraneous input '[.]' expec

    3热度

    2回答

    我很好奇,如果我可以在没有任何东西的情况下将东西插入匹配树。没有相关的问题,我试图解决。 在这个例子中,我有一个令牌market,它检查它的匹配是散列中的一个键。我试图以某种方式将该散列的值插入匹配树中。我想我可以有一个总是匹配的标记,long_market_string,然后以某种方式查看树,看看market匹配了什么。 grammar OrderNumber::Grammar { t

    0热度

    1回答

    对于不LL(1)或LR(1)一个人如何可以尝试找出是否某些数量n存在使得语法可LL(n)或LR(n)语言? 通过查看LR(0)项目的规范集合来检查语法是否为LR(0)。然后,假设它不是LR(0),可以通过引入lookahead符号来检查它是否为LR(1)。我的简单推理告诉我,为了检查它是否为LR(2),您可能必须使前瞻包含接下来的两个符号而不是一个。对于LR(3),您必须考虑三个符号等。 即使这种

    6热度

    3回答

    这是两个语法。一个使用proto token,一个不使用。他们都完成了相同的工作。这些基本上是S05 under "Variable (non-)interpolation"中的示例。在这个简单的例子中,他们都能够做同样的事情。 哪种情况证明所有额外的打字? proto令牌在动作类中有不同的方法,可能在那里有一点好处。但是,你必须输入一些额外的东西来获得这种好处。 proto的某些功能是否使语法的