lexical-analysis

    2热度

    1回答

    我需要使用Flex分析器将该令牌和该令牌解析的文本写入文件。基本上我想将每个解析的标记存储在输出文件中。 有人有一些想法?

    3热度

    3回答

    我正在写一个使用flex的程序,它从文本文件获取输入并将它们分成标识符,关键字,运算符等一些标记。我的文件名是test.l.我做了另一个哈希表程序,其中包含一个名为SymbolTable.h的文件。有没有办法在我的test.l文件中包含这个头文件,这样我可以在读取输入的同时进行一些操作(例如:将标识符插入到哈希表中)?我已经尝试包括,但是当我尝试使用gcc lex.yy.c -lfl编译,它会产生

    1热度

    1回答

    我刚刚学习flex,并且写了一个flex程序来检测给定的单词是否为动词。我将从文本文件中获取输入。我想要改进代码。我想检测代码中是否有任何形式不良或未完成的字符串。未完成意味着它开始使用开始符号(“”或/ *),但没有任何结尾和形成的意思,例如(“I我的代码如下: %% [\t]+ is | am | are | was | were {printf("%s: is a v

    1热度

    1回答

    我是flex的新手。我刚刚写了一个示例代码,使用flex程序检测多行注释。现在我想改进代码。我想在代码中检测未完成和不正确的注释。例如:以/ *开始的注释没有结尾* /是一个未完成的注释和不成形的注释我的意思是这个注释没有正确地形成,例如,EOF出现在注释等内部。我必须在我的代码中添加什么检查这些东西?我的示例代码如下: %x COMMENT_MULTI_LINE %{ char* comme

    0热度

    1回答

    我写一个解析器从JavaTokenParsers继承了,我有一个函数如下: import scala.util.parsing.combinator.lexical._ import scala.util.parsing._ import scala.util.parsing.combinator.RegexParsers; import scala.util.parsing.combina

    0热度

    1回答

    所以标题可能有点误导,但我想不出有什么更好的方式来表达它。 基本上,我正在用cygwin/lex编写一个词法扫描器。部分代码读取一个令牌/ *。它进入预定义的状态C_COMMENT,并在C_COMMENT“/ *”结束时结束。下面是实际的代码 "/*" {BEGIN(C_COMMENT); printf("%d: /*", linenum++);} <C_COMMENT>"*/" { BEGIN

    4热度

    2回答

    我正在使用词法分析器。我有一个HTML文件。我希望将文件中的每一个字母都转换为CAPITAL字母,并将其写入HTML标签。例如: <html> <body> StackOverFlow </body> </html> 这将转换为以下内容。 <html> <body> STACKOVERFLOW </body> </html>

    3热度

    1回答

    我有一个dice notation有以下扫描器 %option debug %option noyywrap %option yylineno %{ #include <limits.h> #include "parser.h" %} %% [0-9]+ { errno = 0; #ifdef DEBUG printf("Scanner: NUMBE

    0热度

    1回答

    我想与C源代码,但我有erorr在我的计划 #include<stdio.h> #include<ctype.h> #include<string.h> void keyw(char *p); int i=0,id=0,kw=0,num=0,op=0; char keys[32][10]={"auto","break","case","char","const","c

    2热度

    1回答

    在Rascal中处理复杂文字的最佳做法是什么?从JavaScript(我的DSL也有类似的情况下) 两个例子: 弦乐与\逃逸 - 必须转义成实际值。 正则表达式文字 - 需要自己的子AST。 implode拒绝的词汇映射到抽象的树木,他们显然handed differently从语法生产,尽管有完整的解析树可用。例如,下面的解析失败,IllegalArgument("Missing lexical