问题标签 [lexical-analysis]
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.
lexical-analysis - 为什么要使用词法分析器?
我正在使用 Flex 构建自己的语言,但我想知道一些事情:
- 为什么要使用词法分析器?
- 他们会帮我做点什么吗?
- 他们是强制性的吗?
c - 在 Lex 的输入文件中插入文本(使用 C)
我正试图帮助一位朋友完成大学作业,但我有点忘记了很多 C 和 Lex。
问题是,我们正在尝试解析 HTML 和对应的 CSS 文件并将其样式添加到标签中。
例如:
HTML
CSS
修改后的 HTML
所有的正则表达式都完成了,宏也完成了。
问题:输入的 HTML 和修改后的 HTML 必须是同一个文件。我们尝试将yyin和yyout重定向到同一个文件...然后使用 fputs(text, yyout); 其中 text 是带有所有样式信息(和 style="")的 char *。它不起作用。
所以……你们能帮帮他吗?
重要的是不要丢失文件中的位置概念(因此 style="" 转到正确的标签)。
谢谢
yacc - 如何在 yacc 中将 yylval 与字符串一起使用
我想传递一个令牌的实际字符串。如果我有一个名为 ID 的令牌,那么我希望我的 yacc 文件真正知道调用了什么 ID。我必须使用 yylval 将字符串从 flex 文件传递给 yacc 文件。我怎么做?
parsing - yylval 和工会
yacc 文件中 union 的目的是什么?它是否与 flex 文件中的 yylval 直接相关?如果你不使用yylval,那么你不需要使用union?
c - 如何在 yacc 程序中放入最后的摘要消息?
当我将输入从输入文件重定向到我的 yacc 程序时,在它完成解析文件后,我希望 yacc 解析器打印它所做的摘要。如果我通过键盘输入输入然后按Ctrl+ ,我希望它做同样的事情D。有没有办法做到这一点?
yacc - flex 创建的默认 main() 是什么样的?
我希望我的 flex/yacc 程序做和它已经做的一样的事情,但我想稍微修改一下。如果我要在我的 .l 文件中放置一个 main(),并让它做与我没有添加 main() 一样的事情,那么代码会是什么样子?
comments - 注释词法分析器规则
我是 ANTLR 的新手,我想出了这个词法分析器规则来解析评论,它会工作吗?
(我在文档中找不到任何关于语法的东西)
unicode - ANTLRWorks 错误编译语法:“语法错误:无效字符文字:无效”
我为语法写了一个存根(到目前为止只匹配注释),它给了我错误:
语法错误:无效的字符文字:<INVALID>
此外,我已经追踪到以下命令中的错误:
有人可以帮我解决这个问题吗?
antlr - 词法分析中的字符消耗
如果我有如下子规则:
它只会匹配偶数个字符吗?
antlr - 如何在此规则中添加括号?
我有一个左递归规则,如下所示:
我需要为其添加括号,但我不确定如何使左括号依赖于匹配的右括号,但仍然是可选的。有人可以告诉我怎么做吗?(或者我在词法分析方面做得太多了,我应该把部分或全部留给解析吗?)