简单语法的Jison语法错误
我正在尝试实现一个非常简单的解析器,但是我有问题。我有以下语法: %lex %options flex case-insensitive CaracterEscape [\'\"\\bfnrtv] Escape \\…
有胡须模板语言的任何pygments lexer吗?
我想在论文中列出胡子模板的源代码,并且我正在使用铸造的软件包来突出显示我的乳胶源中的代码。铸造的软件包只需使用pygments。但是目前没有任何胡须…
角色通过弦循环时被跳过
我正在制作一种爱好编程语言,而我的Lexer在阅读整数时存在问题。 这是当前字符在数字字符串列表中的代码: integers = "1234567890" elif currentCha…
没有特定字符序列的antlr字符串令牌
我正在尝试定义与不包含某些字符序列的字符串令牌相匹配的Lexer语法。例如,我想捕获的字符串的“ ” "" "asda A rewr A" "asda A" "asdas B ad" 示例…
bash解析多板命令如何?
我正在尝试创建一个过于简化的bash版本,我尝试将程序拆分为“ Lexer + Expander,Parser,executor”。 在Lexer中,我存储了我的数据(命令,标志,…
尾部上下文匹配eof flex-lexer
我想匹配这两个令牌: 1。 num :中的一系列字符[0-9 _] ,带有可选的。。。 2。 ID :中的一系列字符[A-ZA-Z0-9 _] 带有最高的一个 [A-ZA-Z] 字符。 …
为什么此代码不从源返回另一个打印值
keywords = ['PRINT'] class Lexer: def __init__(self, source): self.source = source self.sourceLen = len(source) self.cur = 0 pass def getCha…
弹性和野牛$变量给出意外的价值
在我的Lexer文件中,我将令牌“ name”设置为“ yylval.str = yytext”。然后,在我的野牛文件中,我尝试读取该str值以将名称作为字符串获取。但是,…
如何在Flex Lexer中声明和重用角色类?
通常,当您想重复使用正则表达式时,可以在声明部分中的FLEX中声明。默认情况下,它们将被括号所包围。例如: num_seq [0-9]+ %% {num_seq} return IN…
根据当前行号有条件跳过ANTLR Lexer规则
我的antlr lexer语法中有这对规则,它符合相同的模式,但具有相互排斥的谓词: MAGIC: '#' ~[\r\n]* {getLine() == 1}? ; HASH_COMMENT: '#' ~[\r\n]*…
如何一起使用 Jflex 和 Bison?
我真的很难同时使用 Jflex 和 Bison。例如,以下是一些示例代码: https: //github.com/valecor95/bison-flex-jflex-examples/tree/master/Java/1_Ba…
ANTLR4:如何匹配行首的多余空格?
我尝试匹配行首的额外空格,但没有成功。如何修改词法分析器规则以匹配? TestParser.g4: parser grammar TestParser; options { tokenVocab=TestLexe…