Сборка парсера (часть 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), а не интерпретироваться постоянно.После того как я токенизатор, что мне нужно делать именно? Я действительно потерян на этом проходе!Есть хороший урок, чтобы узнать, как я могу это сделать?

Ну, это так. До свидания!

Ответы на вопрос(3)

Ваш ответ на вопрос