问题标签 [lex]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
373 浏览

lex - lex程序错误?

我正在制作这个非常简单的 lex 程序(只是一个介绍性程序)。但是在编译 lex.yy.c 时,我得到这个错误:

因为我已经在指定的结构中定义了 top,所以我无法为这个错误提出任何理由。你能看出什么原因吗?

代码发布在http://pastebin.com/d5f059c1d

0 投票
1 回答
582 浏览

c - flex,定义字符

我想定义 char(即 'a AND 'a'),但在检查错误时遇到问题。这里我如何编写规则并检查:

代码

最后检查一下:

0 投票
3 回答
2767 浏览

python - Python编程语言的词法分析

有谁知道 Python 的 FLEX 或 LEX 规范文件在哪里?例如,这是 ANSI C 编程语言的 lex 规范:http ://www.quut.com/c/ANSI-C-grammar-l-1998.html

仅供参考,我正在尝试将代码突出显示写入 Cocoa 应用程序。正则表达式不会这样做,因为我还希望语法解析来折叠代码并识别块。

0 投票
5 回答
18470 浏览

yacc - 野牛文件结尾

如果我忘记在任何文件的末尾放置一个空行,我的程序就会出现语法错误。问题是我的语法需要换行符来结束当前行。由于不存在换行符,因此野牛会生成语法错误,因为它没有完成规则。

我该如何解决这个问题?我尝试<<EOF>>返回MY_EOF但当我这样做时 lex 崩溃了一个可怕的死亡。我猜它的默认 EOF 中有我没有调用的代码。我不知道它们可能是什么功能。使用 EOF 创建错误symbol EOF is used, but is not defined as a token and has no rules

0 投票
2 回答
1063 浏览

c - 如何在c中调用flex解析器

如何在 c 中调用 flex 解析器?

0 投票
1 回答
211 浏览

lex - 我可以在运行时定义弹性令牌吗?

我想使用 lex/yacc 读取分隔的文本文件。这对于解析器来说是非常微不足道的东西,但是不同的文本文件有不同的分隔符,所以我想让用户指定文本是否由制表符、空格、逗号、管道、unicode snowmen等分隔。

使用这些工具的正常方式是为 lex 和 yacc 编写规范,编译,然后使用静态代码进行解析。但是有没有办法让用户在运行时指定分隔符(从而重新定义标记)?

我目前正在使用 flex/bison,但我愿意接受小型便携式替代方案的建议。

0 投票
1 回答
16740 浏览

c - 在 lex 中如何使 yyin 指向具有 yacc 中主要功能的文件?

我将传递给 yacc 中 main 的参数存储在一个文件中。现在我希望 lex 从这个文件而不是终端读取它的输入。我知道我可以将 yyin 指向类似的文件,yyin = fopen("fn","r");但这仅在 main 位于 lex 中时才有效。当我在 yacc 的 main 中使用这个 yyin 声明时,它显示一个错误,所以请提出一些解决这个问题的建议。

0 投票
5 回答
375 浏览

regex - 了解正则表达式是否适合构建语言?

我正在阅读O'Reilly 的Flex & Bison,想知道事先学习正则表达式是否有助于开发编程语言?

0 投票
1 回答
733 浏览

c - 在 Lex 的输入文件中插入文本(使用 C)

我正试图帮助一位朋友完成大学作业,但我有点忘记了很多 C 和 Lex。

问题是,我们正在尝试解析 HTML 和对应的 CSS 文件并将其样式添加到标签中。

例如:

HTML

CSS

修改后的 HTML


所有的正则表达式都完成了,宏也完成了。

问题:输入的 HTML 和修改后的 HTML 必须是同一个文件。我们尝试将yyinyyout重定向到同一个文件...然后使用 fputs(text, yyout); 其中 text 是带有所有样式信息(和 style="")的 char *。它不起作用。

所以……你们能帮帮他吗?

重要的是不要丢失文件中的位置概念(因此 style="" 转到正确的标签)。

谢谢

0 投票
4 回答
4711 浏览

c - 在 Lex 中解析命令行参数

假设我希望我的 Lex 和 Yacc 程序解析命令行参数,例如:

我想让 lex 解析字符串“显示内存”。我该如何做到这一点?