flex-lexer

    5热度

    3回答

    我对分析器生成器使用了Flex和Bison,但在扫描器中遇到启动状态问题。 我使用独家规则来处理评论,不过此语法似乎并不匹配引用标记:行 %x COMMENT // { BEGIN(COMMENT); } <COMMENT>[^\n] ; <COMMENT>\n { BEGIN(INITIAL); } "==" { return EQUALEQUAL; } .

    2热度

    2回答

    看来flex不支持UTF-8输入。每当扫描器遇到非ASCII字符时,就会停止扫描,就好像它是EOF一样。 有没有办法强制flex吃我的UTF-8字符?我不希望它实际上匹配UTF-8字符,只是在使用'。'时吃掉它们。模式。 有什么建议吗? EDIT 最简单的解决办法是: '' ANY [\ x00- \ XFF] 和使用 'ANY',而不是在我的规则。

    3热度

    2回答

    我在项目中使用flex(词汇分析器,而不是Adobe Flex)。不过,我希望能够在Windows平台上编译,但Windows version的最新版本仅为2.5.4a,因此它不会编译我的文件以用于版本2.5.35。不,我不能降级到支持最高的Windows版本。 任何人都知道升级Windows版本的计划,或者有建议在Windows上编译?

    5热度

    5回答

    我有一组用C语言编写的函数定义,其中一些额外的关键字可以放在某些参数之前(例如与“unsigned”或“register”相同的方式),我需要分析这些行以及一些函数存根,并从它们生成实际的C代码。 这是正确的Flex/Yacc是最正确的方法吗? 它会比使用正则表达式编写Shell或Python脚本慢(如果额外关键字的数量变得更大并且它们的效果会相当不同,这可能会变成很大的痛苦),前提是我有零分析器

    49热度

    2回答

    我正在寻找一个选项gcc,它将使它从标准输入中读取源文件,主要是我可以做这样的事情来生成一个像flex这样的工具来生成目标文件,该工具生成C代码(flex's因为我真的不关心生成的C文件 flex -t lexer.l | gcc -o lexer.o -magic-option-here :-t选项生成的C写到标准输出)。 是否有这样的事情存在,还是我必须使用临时文件?

    0热度

    1回答

    是新来的LEX,我想采取一切具体到一个正则表达式 例如在下面的文字比赛: /* text text text text text */ text text /* text text text text text text text text */ 我想选择的两场比赛之间/ *和*/ 但lex匹配整个外围比赛,不会返回两个! 我用这个表达式: \/\*(.|\n)*\*\/

    2热度

    1回答

    什么是编写约定和指导你建议编写Bison(.y)和flex(.lex)文件? 请注意代码段的长度及其风格。 感谢, 阿萨夫 P.S., 有关于它here一个古老的线程,但我正在寻找一个更详细的解答(并有它如此!)。

    4热度

    3回答

    使用Flex和Bison,我有一个支持逻辑“和”,“或”和“非”操作的布尔查询语言的语法规范,以及使用“()”的嵌套子表达式。 ”。 一切都很好,直到我注意到,像这我想解析为“A和B或C和d”查询“(A & B)|(C & d)”实际上是被解释为“A & (B |(C & D))“。我几乎肯定这是一个关联性问题,但似乎无法在任何地方找到正确的解释或例子 - 或者我错过了一些重要的东西。 从bool

    0热度

    1回答

    在我的bison/flex程序中,调用了yyparse()之后,会打印一个前导标签,但我不知道为什么。你能看到有什么问题吗? 这将调用野牛代码,并在yyparse()返回后立即打印一个选项卡。 void parseArguments(int argc, char** argv) 130 { 131 int i; 132 133 int sum = 0; 134 // calcula

    4热度

    1回答

    我正在写一个Bison/Flex程序将LaTeX转换成MathML。目前,处理功能(即\的sqrt,\压裂等)是这样工作的,与令牌为每个函数 \\frac {return FUNC_FRAC;} ,并传递令牌FUNC_FRAC回野牛,发挥其部分的说明的子树: function: FUNC_FRAC LBRACE atom RBRACE LBRACE atom RBRACE {$$ = "<