gpt4 book ai didi

c - lex 解析器解析用 pascal 编写的程序

转载 作者:行者123 更新时间:2023-11-30 19:46:24 25 4
gpt4 key购买 nike

我在使用 Lex 编写 Pascal 分析器时遇到问题,解析后应将有关正确/不正确代码结构的信息以及包含程序行数、使用的变量数、使用的数量的摘要打印到 stdout在 if、while、repeat 等中。

我不知道该怎么办。

最佳答案

考虑这个简短的例子:

  "{"           { return(LCURLY);       }
"}" { return(RCURLY); }
"," { return(COMMA); }
":" { return(COLON); }
\. { return(DOT); }
"+" { return(PLUS); }
"-" { return(MINUS); }
"*" { return(MULTIPLY); }
"/" { return(DIVIDE); }

每当某个正则表达式模式匹配时,右侧的操作就会发生。只需添加 printf() 即可报告检测到正确的标记。

"/"         { printf("Token %s \n", yytext);return(DIVIDE);     }

最后一行应该是:

 .          { printf("Error not recognized: %s\n", yytext);

最后一行当然意味着任何不正确的标记 -> 我没有编写正则表达式来匹配的任何标记。

关于c - lex 解析器解析用 pascal 编写的程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23968692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com