c - 从词法分析的角度分析一个C表达式

标签 c token tokenize lexical-analysis

所以我正在编写一个词法分析器程序(在 PHP 中)作为家庭作业,我必须标记一个 C 程序。

我有以下来自 C 代码的代码,我必须分析: +e25.f12.e-- 然后将标记化为 OPERATOR => +, VARIABLE => e25 但跳过 .f12 .e-- 因为它表示错误。现在我不确定这是否是正确的行为,算法是否正常工作或者它也应该标记化(如果应该,你能展示 .f12.e-- 的标记化吗?) .

例如,以下代码应按如下方式标记:

代码:

xe,12.34e-25" ;;kjk 'a'"'"'/*  dfh sfg fsg 
   sdgf sdf






 sdfvvs  svd sdv
 *//*3rf 3rfg 3f



 e2f2efef*//*/*/*/

标记化:

var => xe
operator => ,
constant => 12.34e-25
string => " ;;kjk 'a'"
string => '"'
operator => *
operator => /

谢谢。

最佳答案

+e25.f12.e

标记为:

+ operator
e25 identifier
. operator
f12 identifier
. operator
e identifier

关于c - 从词法分析的角度分析一个C表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36656188/

相关文章:

c - 每当我输入数据时程序都会关闭

c - 当达到 char 值时,我的 struct c 编程崩溃了

c - 段错误和信号量无法正常工作

java - 从antlr token 生成代码

javascript - 根据用户详细信息在 Javascript 中创建随机 token

c++ - 使用 boost::tokenizer 标记包装的字符串

c - strcpy to struct 时出现段错误

javascript - 如何在 Linnworks 嵌入式应用程序中获取刷新的 token ?

Python Pandas NLTK 标记 Pandas 数据帧中的列 : expected string or bytes-like object

c - 为 Flex 定义了 C token 文件?