15得票5回答
规则的空右侧符号的表示法

在编写一个("理论上的")语法时,如果规则的右侧为空,通常会使用符号 ε(或 1)来明确表示这个空值:A → ε | a A 在 Yacc 和其他类似的语法中,这样的文法看起来会像这样a: | 'a' a 或者更糟。a: { $$ = new_list(); } | a 'a' ...

15得票7回答
GCC源代码中的C语法

我正在寻找GCC源代码中的C语法,更具体地说是yacc/bison形式的语法。

14得票5回答
如何在Lex & Yacc(Solaris)中将YY_INPUT指向字符串而不是stdin

我想让我的 yylex() 解析一个字符串而不是文件或标准输入。如何在Solaris提供的Lex和Yacc中实现?

14得票2回答
使用单引号、双引号或三引号对Lex字符串进行定义

我的目标是像Python一样解析字符串。 问题:如何编写lex以支持以下内容: 1. "字符串..." 2. '字符串...' 3. """多行字符串\n\n结束""" 4. '''多行字符串\n\n结束''' 一些代码: states = ( ('string', '...

13得票5回答
Bison文件结尾

如果我忘记在任何一个文件的末尾放置空行,那么我的程序会出现语法错误。问题在于我的语法需要换行符来结束当前行。由于没有换行符,bison 生成语法错误,因为它没有完成规则。 如何解决这个问题?我尝试让<<EOF>>返回MY_EOF,但是当我这样做时,lex 就会崩溃。我...

13得票5回答
有没有适用于Flex和Bison的Sublime Text语法?

我正在寻找Sublime Text中可以使我的Flex和Bison文件(或lex/yacc)以易读的方式高亮显示的语法... Sublime Text自动选择Lisp用于Flex文件,但这并不是很好。有没有建议尝试其他语法?或者是否有一个有用的插件(到目前为止还没有找到任何东西)?

12得票4回答
JavaScript的Yacc/Jay语法文件?

可能是重复的问题: 我在哪里可以找到一个适用于ECMAscript / Actionscript / Javascript的yacc语法文件 我正在尝试查找JavaScript的语法文件,以便使用Yacc(最好是使用Jay,但由于Jay是Yacc克隆,所以我应该没问题,因为我需要在.NET...

12得票2回答
如何使用Flex和YACC实现#include结构?

在解析过程中,如果我遇到一个include标记,我想要指示YACC打开指定的输入文件并开始解析它。一旦解析完成,我想要指示YACC返回原文件并直接继续解析include表达式后面的内容。我将限制include深度级别为一。

12得票2回答
Python/YACC词法分析器:什么是Token优先级?

我正在尝试在我的语法中使用保留字: reserved = { 'if' : 'IF', 'then' : 'THEN', 'else' : 'ELSE', 'while' : 'WHILE', } tokens = [ 'DEPT_CODE', 'COURSE_...

12得票2回答
C11语法中_Atomic类型说明符和限定符之间存在歧义

我正尝试着基于N1570编写一个C11的lex/yacc语法。我大部分的语法都是直接从信息性的语法摘要中复制过来的,但是一些yacc冲突出现了。我已经成功解决了其中所有的问题,除了一个:在 '_Atomic' 用作类型限定符和类型说明符时似乎存在一些歧义。 在类型说明符形式中,_Atomic...