首页 文章
  • 7 votes
     answers
     views

    Flex和Yacc - 找不到 - lfl?

    嗨,我正在学习Lex和yacc . 我创建了以下lex程序 . %{ #include <stdio.h> %} %% [0123456789]+ printf("NUMBER\n"); [a-zA-Z][a-zA-Z0-9]* printf("WORD\n"); %% 我正在尝试使用以下命令运行它: lex e...
  • -1 votes
     answers
     views

    如何解决lex文件中的过早EOF错误?

    %{ #include "y.tab.h" #include <stdlib.h> void yyerror(char *); %} %% [a-z] { yylval = *yytext - 'a'; return VARIABLE; } [0-9]+ { yylval = atoi(yytext); return INTEGER; } [-+(...
  • 1 votes
     answers
     views

    如何运行lex文件?

    这是我的lex文件 %% .|\n ECHO; %% 如何在Windows中运行此程序?怎么编译呢? 请帮我
  • 0 votes
     answers
     views

    在Lex中捕获换行符时出错

    我已经调试了几天,似乎无法解决这个问题 . 以下代码是C语言语法的Lex文件 . 我有两个问题我还没有发现 . 首先是换行检测 . 它似乎在输出中保留换行符char并且不增加行var(以跟踪行,列以获得错误反馈) . 我有换行符转义序列的所有组合,但似乎无法捕获它 . 第二个是检测单引号后跟换行,这应该产生非法的字符错误 . 我没看到什么?提前致谢! %{ int col = 1; int lin...
  • 0 votes
     answers
     views

    如何识别Lex文件中的字符串

    嗨,什么是适合识别lex中的字符串 . 我已经试过了 enter code here import java_cup.runtime.*; %% %cup %line NUM = [0-9] ID = [a-zA-Z] Pun= [:=;#@$^~] WhiteSpace = [ \t\r\n\f] SDQuo = [\"] %% ({SDQuo}+) ({ID}|{NUM})*...
  • 0 votes
     answers
     views

    lex程序出错?

    我正在制作这个非常简单的lex程序(只是一个介绍性程序) . 但是在编译lex.yy.c时,我收到的错误是: inToPostfix.l:26: error: ‘struct stackoperand’ has no member named ‘top’ inToPostfix.l:32: error: ‘struct stackoperator’ has no member named ‘top...
  • 10 votes
     answers
     views

    Lex / Flex - 扫描EOF角色

    其他人有我遇到的以下问题,但我找不到任何报告解决方案的人..让Flex发现EOF(文件结束) . 我需要Flex来查找EOF并返回一个令牌,表明它已找到它,这样它就可以告诉Yacc / Bison它已经到达输入源文件的末尾并且可以报告成功的解析 . 请注意this question与此不同,因为这与Lex / Flex有关 . 任何帮助都是极好的 . 谢谢 .
  • 0 votes
     answers
     views

    无法通过yacc和lex解析数字

    我已经完成了我的lex文件并开始学习yacc,但我对我的lex代码有一些疑问: %{ #include "y.tab.h" int num_lines = 1; int comment_mode=0; int stack =0; %} digit ([0-9]) integer ({digit}+) float_num ({digit}+\.{digit}+) %% {inte...
  • 0 votes
     answers
     views

    编译lex文件时出错

    %{ #include <stdio.h> #include "y.tab.h" extern int yylval; %} %% [a-zA-Z] { yylval= *yytext[0]; return ID; } [0-9] { yylval= *yytext[0]; return NUM;} . return yytext[0]; \n r...
  • 0 votes
     answers
     views

    如何使用lex / yacc构建解析器来定义c中的变量

    嗨,我是lex / yacc的新手,我正在练习实现一个解析器来定义一组变量,比如int x,y,z;双a,b; char c . 我需要为变量分配一个常量值,并管理字符常量以及打印所有变量及其类型和值 . 我有一些在线编码,我编辑但总是遇到错误 . 如果有人可以帮助我 . lex代码(calc.l) %{ #include "y.tab.h" %} %% "print...
  • 0 votes
     answers
     views

    文件lex过早结束

    当我尝试使用make关键字编译它时,它给出了一个错误: 第17行中lex.l文件中的文件过早结束 . %option noyywrap %{ #include "grammer.tab.h" %} name ([0-9]) whitespace [ \r\t\v\f] linefeed \n %% {name} {...

热门问题