lex

    1熱度

    2回答

    我的解析器識別語法並使用yylineno指示正確的錯誤行。我想打印導致錯誤的符號。 int yyerror(string s) { extern int yylineno; // defined and maintained in lex.yy.c extern char *yytext; // defined and maintained in lex.yy.c

    0熱度

    1回答

    我已經鑄成法文件,如下所示它: %% [\t\n] "if" {printf("IF_TOKEN\n");} "else" {printf("ELSE_TOKEN\n");} "while" {printf("WHILE_TOKEN\n");} "FOR" {printf("FOR_TOKEN\n");} "BREAK" {printf("BREAK_TOKEN\n");} "flo

    1熱度

    1回答

    我是flex的新手。我剛剛寫了一個示例代碼,使用flex程序檢測多行註釋。現在我想改進代碼。我想在代碼中檢測未完成和不正確的註釋。例如:以/ *開始的註釋沒有結尾* /是一個未完成的註釋和不成形的註釋我的意思是這個註釋沒有正確地形成,例如,EOF出現在註釋等內部。我必須在我的代碼中添加什麼檢查這些東西?我的示例代碼如下: %x COMMENT_MULTI_LINE %{ char* comme

    0熱度

    1回答

    我使用的lex/yacc的編寫彙編 我有例如某些操作碼 ORA [Oo][Rr][Aa] AND [Aa][Nn][Dd] EOR [Ee][Oo][Rr] 和規則 {ORA} { yylval.iValue = ora; return OPCODE; } {AND} { yylval.iValue = and; retu

    0熱度

    1回答

    所以我的目標是能夠確定輸入是否可以接受。以下是可以接受的輸入: 「U」, 「d」, 「L」, 「R」 的任意組合中, 「n」 **Example of valid inputs:** udlrn uuuuuuuuuuuu dunrldd dddddllll dldnrrrrrrrrrrr **Example of invalid inputs:** abc abcudlr xu

    0熱度

    1回答

    我建立在ML-萊克斯一個tokeniser定義的,其中的一部分是 datatype lexresult = STRING | STRINGOP | EOF val error = fn x => TextIO.output(TextIO.stdOut,x^"\n") val eof = fn() => EOF %% %structure myLang

    0熱度

    1回答

    我正在學習韋克斯利韋默編程語言課程 lexer。 的音符在這裏 https://www.udacity.com/wiki/cs262/unit-2#quiz-rule-order {視頻,如果你願意看,最後40秒。} https://www.udacity.com/course/viewer#!/c-cs262/l-48713810/e-48652568/m-48676965 測驗: 當兩個標記定

    -4熱度

    2回答

    我已經學習了關於已經列出了50個Java關鍵字的java。有Lex的作業,目標是識別這個詞是關鍵字,ID,符號,運營商。但是還有一個小問題是下面的代碼,是print在System.out.print()的一個ID或者關鍵字? public class HelloWorld { public static int add(int a, int b) { return a + b;

    0熱度

    1回答

    使用詞法分析器需要能夠識別命名變量和關鍵字之間的區別。 闡述,在我.L文件我有一些定義像 "QUIT" {return QUIT;} "AND" {return AND;} "XOR" {return XOR;} 而且我有一個名字的定義(變量) [a-zA-Z][a-zA-Z0-9]* {memcpy(yylval.name, yytext, strlen(yytext) + 1); re

    1熱度

    1回答

    我剛剛學習flex,並且寫了一個flex程序來檢測給定的單詞是否爲動詞。我將從文本文件中獲取輸入。我想要改進代碼。我想檢測代碼中是否有任何形式不良或未完成的字符串。未完成意味着它開始使用開始符號(「」或/ *),但沒有任何結尾和形成的意思,例如(「I我的代碼如下: %% [\t]+ is | am | are | was | were {printf("%s: is a v