Сборка парсера (часть I)
Я делаю свой собственный язык программирования на основе JavaScript (да, это безумие, но это только для изучения ...может быть?). Ну, я читаю о парсерах, и первый шаг - преобразовать исходный код в токены, например:
if(x > 5)
return true;
Tokenizer to:
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"
У меня есть некоторые сомнения:
Мой путь лучше или хужеоригинальный способ? Обратите внимание, что мой код будет читаться и компилироваться (переводиться на другой язык, например PHP), а не интерпретироваться постоянно.После того как я токенизатор, что мне нужно делать именно? Я действительно потерян на этом проходе!Есть хороший урок, чтобы узнать, как я могу это сделать?Ну, это так. До свидания!