yacc

    0热度

    1回答

    我使用flex和bison准备好扫描仪和分析器。 分析器在行动直接建立一棵树,这样做,我创建了一个名为STreeNode和我结构正在使用 #define YYSTYPE_IS_DECLARED typedef STreeNode* YYSTYPE; 的结构是: typedef struct tagSTreeNode { EOperationType type; int

    -1热度

    1回答

    我工作的一个lex和yacc程序,在我的色器件MAC OS .. 当我试图做到以下几点: gcc sample.tab.c lex.yy.c -ly -ll 它显示了我很多在最后的错误和.. 致命错误:错误太多发射,现在停止[-ferror限=] 一些错误的APPEA rs: ./sample.tab.h:44:6: error: expected identifier if = 2

    -2热度

    1回答

    我正在为8051编译器设计。我想声明一个说30位置的内存,每个位置都是8位。我如何在C中声明?

    0热度

    1回答

    我正在使用Lex和YACC解析XML文件。我的语法就像。 START_TAG attributes AN_CLOSE childelements data END_TAG AN_CLOSE { if(strcmp(getSubStr($1,1,strlen($1)-1),getSubStr($6,2,strlen($6)-1))==0) { //Here co

    0热度

    1回答

    我有这样的语法 value : INTEGER | REAL | LEFTBRACKET value RIGHTBRACKET | op expression | expression binaryop expression ; 和我得到这个转变减少错误 47 expression: value . 53 value: LEFTBR

    0热度

    1回答

    跳转指令要实现 DJNZ R1,LABEL 这意味着递减R1和跳转到标号如果递减的结果不为零。 我有一个生成令牌DJNZ,REG和LABEL的lex文件。 在YACC文件我有: Jump_instr: DJNZ REG ',' LABEL {regmem[regIdx] = regmem[regIdx] -1; if (regmem[re

    0热度

    1回答

    我在我的大学有一个项目,用C语言制作一个迷你shell。 解析命令行我使用的工具:lex和yacc。 与YACC编译时,我得到这些警告,但我不明白为什么。 文件parser.yacc: %{ #include <stdio.h> void yyerror(char *s); extern int yylex(); %} %token NEWLINE PIPE AND OR AMPERSA

    0热度

    1回答

    我在我的大学有一个项目用C语言制作迷你外壳。为了解析命令行,我使用了这些工具:lex和yacc。但我想解析这条线。当检测到标记时,在我的结构命令中添加参数,并在找到换行符时退出yyparse以执行命令。打印提示后relauch解析... 我的lex文件: Chiffre [0-9] Lettre [a-zA-Z] Alphanum ({Chiffre}{Lettre})+ %{ #in

    0热度

    1回答

    我有这个问题,我的YACC文件似乎无法访问我的头文件中定义的类型。 如果我用%code requires{ }替换我的头文件它确实认出它但那不是我真正想要的。 我st.h头文件: struct node { int item; int identifier; struct node *left; struct node *middle; struc

    0热度

    1回答

    当我用yacc编译我的程序时,它给了我错误。 我不能理解,如果我使用间接递归或其他。 我不熟悉yacc。 我的代码的规则部分是: stmtfor : exprfor OPENB CLOSEB { printf("\nValid For statement!\n"); } | exprfor OPENB stmtfor CLOSEB { printf("\nValid For sta