Я делаю свой собственный язык программирования на основе javascript (да, это безумие, но это только для обучения .. . может быть? ). Я читаю о синтаксических анализаторах, и первый этап - преобразование исходного кода в токены, например:
if(x > 5)
return true;
Tokenizer в:
T_IF "if"
T_LPAREN "("
T_IDENTIFIER "x"
T_GT ">"
T_NUMBER "5"
T_RPAREN ")"
T_IDENTIFIER "return"
T_TRUE "true"
T_TERMINATOR ";"
Я пока не знаю, верна ли моя логика для этого. На моем парсере он даже лучше ( или нет? ) и преобразовать в него (да, многомерный массив):
T_IF "if"
T_EXPRESSION ...
T_IDENTIFIER "x"
T_GT ">"
T_NUMBER "5"
T_CLOSURE ...
T_IDENTIFIER "return"
T_TRUE "true"
У меня есть некоторые сомнения:
Ну, вот и все. Пока!