Итак, я кодирую программу лексического анализатора (в PHP
) в качестве домашней работы, и мне нужно tokenize программу C
.Проанализируйте выражение 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 =>/
Спасибо.
Я вижу, я думал то же самое, но не был уверен, что '.', какой тип оператора' '.' в C'? – southpaw93
Это оператор-член структуры. Перед запуском этого проекта у вас должен быть полный список операторов и специальных символов. – EJP
Я вижу, спасибо! @ EJP Да, я искал везде, не могу найти его. – southpaw93