onstruindo um analisador (Parte

Estou criando minha própria linguagem de programação baseada em javascript (sim, é loucura, mas é apenas para aprender ...talvez). Bem, estou lendo sobre analisadores e a primeira passagem é converter a fonte de código em tokens, como:

if(x > 5)
  return true;

Tokenizer para:

T_IF          "if"
T_LPAREN      "("
T_IDENTIFIER  "x"
T_GT          ">"
T_NUMBER      "5"
T_RPAREN      ")"
T_IDENTIFIER  "return"
T_TRUE        "true"
T_TERMINATOR  ";"

Não sei se minha lógica está correta por enquanto. No meu analisador, é ainda melhor ou não) e traduza para ele (sim, matriz multidimensional):

T_IF             "if"
  T_EXPRESSION     ...
    T_IDENTIFIER     "x"
    T_GT             ">"
    T_NUMBER         "5"
  T_CLOSURE        ...
    T_IDENTIFIER     "return"
    T_TRUE           "true"

Tenho algumas duvidas

É o meu caminho melhor ou pior que ooriginal way? Observe que meu código será lido e compilado (traduzido para outro idioma, como PHP), em vez de interpretado o tempo todApós o tokenizer, o que preciso fazer exatamente? Estou realmente perdido neste passe! Há algum bom tutorial para aprender como posso fazer isso?

Bem, é isso. Tchau