lex 相关问题

Lex是一个生成词法分析器(“扫描仪”或“词法分析器”)的计算机程序。 Lex通常与yacc解析器生成器一起使用。有关Amazon Lex的问题,请使用标签amazon-lex。

Flex 似乎没有正确识别我的定义

我正在尝试使用此代码匹配评论({评论结束并以括号开头}) %{ %} com ^"\{"(.| )*"\}"$ %option noyywrap %% [^{com}] ; {com} printf("%s&q...

回答 0 投票 0

使用字符作为数字之间的运算符,否则将其视为令牌 ANTLR4

我在 ANTLR 中制作一种语言,其中数字序列是一个数字。然而,一系列数字、字母和下划线是标识符。所以,例如: 这些是数字:234、0243、0...

回答 0 投票 0

如何为BNF语法编写Lex和yacc代码[关闭]

我是一个初学者,开始学习lex和yacc,我有下面给出的BNF语法。谁能给我点建议 在给定BNF语法的情况下 如何写Lex和yacc呢 比如...

回答 1 投票 -1

毕胜:错误信息中包含的行号。

好吧,我想我的问题是不言自明的。我目前正在Bison中构建一个解析器,我想把错误报告做得更好一些。目前,我设置了 %define parse.error verbose (...)。

回答 2 投票 3

YACC定义的结构

我正在为一个个人项目编写一个标记语言的解析器:示例。* 这是一个注释 * production_title = "My Production" director = "Joe Smith" DOP ...

回答 1 投票 0

为什么我的一些标记不被识别?

我试图建立一个简单的 HTML 词典,我已经定义了我的标记,就像这样: tokens = [ 'text', 'num', 'id', 'url', 'newline', 'space', 'bigger', 'sp', 'del', ...

回答 1 投票 0

在Lex中设置yyout为文件输出无法正常工作 [关闭]。

我创建了一个程序,将行号附加到作为参数传给程序的文本文件中。yyin工作正常,但yyout不工作,即从指定文件中读取内容, ...

回答 1 投票 -1

如何使用%union并修复 "在动作中使用语义值但未声明类型 "的警告。

我在parser.hpp文件中定义了YYSTYPE,供 scanner.lex使用。/ parser.hpp #define YYSTYPE Atom typedef struct Atom { int i_value; TypeEnum e_type; string *str_value; Node *node; } atom_t; ...

回答 1 投票 0

我如何使用这个makefile生成我的抽象树?为什么我只在1行看到一个错误?

def.h #include #include #include #include typedef enum { NPROGRAM, NVARDECLLIST, NFUNCDECLLIST, NVARDECL, NIDLIST, ...

回答 1 投票 1

在macOS上的lex解析中出现的意外字符

我目前正在为SCSS子集开发一个简单的Lex+Yacc解析器,但在我的Linux机器上,词法分析器似乎工作得很完美,但在macOS Catalina机器上,它给出了 "意外的..."。

回答 1 投票 0

Lex:编写正则表达式时在'['标记之前的期望表达式

我是lex / yacc的新手,并且正在学习本教程:https://www.youtube.com/watch?v=54bo1qaHAfk,这是我的lex文件%{#include“ main.h” #include %}% %[a-zA-Z] [_ a-zA-Z0-9] * ...

回答 1 投票 0

最简单的lex / yacc规则集,用于提取类似函数调用的语句

我没有lex / yacc的实践经验,所以我的问题看似幼稚,但我无法使用在stackoverflow和Internet中找到的所有信息找出合理的解决方案。假设我需要...

回答 1 投票 0

Bison分析器始终显示“语法错误”

嗨,我正在尝试构建一个3地址代码生成器,其中包括:输入:x = a + 3 *(b / 7)输出:t1 = b / 7 t2 = 3 * t1 t3 = a + t2 x = t3无论我提供什么输入,输出都是“语法错误”。我是...

回答 1 投票 0

Bison分析器始终显示“语法错误”

我正在尝试构建一个三地址代码生成器,该生成器将产生:输入:x = a + 3 *(b / 7)输出:t1 = b / 7 t2 = 3 * t1 t3 = a + t2 x = t3否无论我提供的输入内容是“语法错误”。我是...

回答 1 投票 0

建筑物3地址代码生成器上的弹性野牛语法错误

[嗨,我正在尝试对3地址代码生成器进行分配,其中包括:输入:x = a + 3 *(b / 7)输出:t1 = b / 7 t2 = 3 * t1 t3 = a + t2 x = t3不管我提供什么输入,输出都是“语法...

回答 1 投票 0

仅接受解析器的第一条规则(与python一起使用ply)

[我正在尝试为一个项目构建Lexer和解析器,我已经使用过Lexer,现在我正在尝试使用Lexer解析器:reserved = {''if':'IF','else':'ELSE',' while':'WHILE',...

回答 1 投票 0

如何在括号内使用PLY处理STRING表达式之间的OR运算符

我想解释这样的句子:“ i +想要+打开+(打开|关闭)+ +灯光”,以获得这样的句子:“我想打开灯光”“我想关闭灯光“我尝试定义...

回答 1 投票 0

正确输入后无法继续解析

我有两个输入数字,以','分隔。该程序在第一次尝试时运行良好,但在第二次尝试中始终以错误结束。如何继续解析? lex文件摘要:#include“ y.tab.h” %% ...

回答 1 投票 0

将数据从flex传递到野牛语法

我的弹性/野牛语法有问题。不知道这是否是我建立递归的方式。当尝试访问通过yylval传递的数据时,我会...

回答 2 投票 0

yacc:冲突:1减少/减少

为了学习Lex / Yacc,我正在按照RFC 4180第3页上指定的语法编写CSV分析器。我遇到了“减少/减少冲突”,而且我不确定如何进行。似乎是...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.