问题标签 [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.
flex-lexer - 编译 flex(词法分析器)时出错
我正在尝试在我的 Windows 计算机上安装 flex(词法分析器,而不是 Adobe 程序)。我已经安装了 MSYS。我解压 flex, ./configure 它,但是当我尝试制作它时,我得到了这个错误:
直到最近,我只使用 .exe 安装过东西,所以我对此感到很困惑。安装 bison 和 m4 都很顺利,我想知道为什么不是这样。有任何想法吗?
c - Lex(词法分析器)中正则表达式的大问题
我有一些这样的内容:
而且我需要抓住title的双引号之间的所有内容。我的第一次尝试是这样的:
^(" "|\t)+"title"" "*=" "*"\"".+"\","
它抓住了第一个例子,但没有抓住其他两个。另一个有多行,这就是问题所在。我想在\n
某处更改为允许多行的东西,如下所示:
^(" "|\t)+"title"" "*=" "*"\""(.|\n)+"\","
但这无济于事,相反,它捕获了一切。
比我虽然,“我想要的是在双引号之间,如果我抓住所有东西,直到我找到另一个"
后跟的东西,
怎么办?这样我就可以知道我是否在标题的末尾,无论行数如何,比如这:
^(" "|\t)+"title"" "*=" "*"\""[^"\""]+","
但这还有另一个问题......上面的例子没有它,但是双引号("
)可以在标题声明之间。例如:
是的,它总是以反斜杠 ( \
) 开头。
有什么建议可以解决这个正则表达式吗?
c# - 是否可以在不编译的情况下调用 C# 词法/句法分析器?
考虑到 SO 的这个问题,其中调用了整个 C# 内存编译器。当只需要词法和句法分析时:将文本解析为词位流,检查它们并退出。
在当前版本的System.CodeDom.Compiler中是否有可能,如果没有 - 会吗?
thread-safety - 使用 Flex 编写可重入词法分析器
我是弯曲的新手。我正在尝试使用 flex 编写一个简单的可重入词法分析器/扫描器。词法分析器定义如下。我遇到编译错误,如下所示(yyg 问题):
可重入的.l:
编译错误:
c++ - 我如何在 Flex/bison 中实现 If 语句
我没有收到错误,请您帮帮我,这是 .l 和 .y 文件。谢谢。
yacc 文件
我还有一个问题,是否有可能像在汇编程序中那样使用 flex/bison 实现 JMP 指令以转到像我的示例这样的标签,谢谢您的帮助。
c++ - 你如何实现语法高亮?
我正在进行一些学习,我想为 C++ 中的文件编写自己的语法突出显示。
谁能给我一些关于如何去做的想法?
在我看来,当打开文件时:
它需要被解析并决定它是什么类型的源文件。信任扩展可能不是万无一失的
一种了解哪些关键字/命令适用于哪种语言的方法
一种决定每个关键字/命令获得什么颜色的方法
我想在 OS X 上使用 C++ 或 Objective-C 执行此操作。
任何人都可以提供有关我如何开始使用此功能的指示吗?
c++ - Flex/bison,错误:未声明
你好,我有一个问题,后面的程序返回一个错误,错误::未声明(第一次在函数中使用),为什么会出现这个错误所有标记都被声明了,但是这个错误来了,任何人都可以帮助我,这里是 lex 和yac 文件。谢谢
法:
雅加达:
lexical-analysis - PCCTS 轨道输入列号
如何让 PCCTS 跟踪令牌列的数量?
c++ - Flex/bison 中的 JMP 指令
大家好,有人可以帮助我摆脱困境,我正在寻找一个像汇编程序一样实现JMP(跳转)教练的教练。我发现它可能是 Flex/Bison 的 goto 功能,但我真的不知道该怎么做。有任何想法。我非常感谢你的帮助。谢谢。
这是一个示例。与 JMP 讲师一起,他去了标签 L1。
antlr - 我如何使用这个输入法?
我目前有一种使用 ANTLR 用 Java 实现的简单有效的语言。我想要做的是以与 PHP 类似的方式将其嵌入纯文本中。
例如:
我预计生成的令牌流将类似于:
我怎样才能做到这一点,或者有更好的方法吗?
<%
对块外的内容没有限制。根据 Michael Mrozek 的回答,我假设类似的东西<% print('%>'); %>
是可能的,但在这种情况之外,<%
总是表示代码块的开始。
示例实现
我根据 Michael Mrozek 的回答中给出的想法开发了一个解决方案,使用 ANTLR 的门控语义谓词模拟 Flex 的开始条件: