riando um analisador para uma linguagem simples de pseudocódig

Eu queria fazer um analisador simples, para um "pseudo código" como linguagem (mantido rígido), em Java. Um pseudo-código de exemplo seria -

//This is a comment
$x1 = readint
$x2 = readint

$dx = $x2 - $x1
#f = $dx / 2

if ($dx > 0)
{
  loop while(#f > 1)
  {
     print(#f)
     #f = #f / 2
  }
}

Observe que o código acima é rígido, não pode haver mais de uma instrução em uma linha, números inteiros começam com $, flutuadores começam com # etc.

Para analisar esse código, primeiro posso usarStringTokenizer e, em seguida, expressão regular, para corresponder variáveis inteiras, variáveis flutuantes ou palavras-chav

Essa abordagem é boa? Para instruções em loop, como posso armazenar expressões, para que eu não precise tokenizar em cada iteraçã

Eu poderia pensar em converter expressões (como #f = #f / 2) para notação de polimento e depois armazenar na pilha. E em cada iteração, enquanto popping operandos, eu poderia substituir o valor de cada variável. Mas isso é eficiente o suficiente?

Agradecemos antecipadamente por qualquer sugestão

questionAnswers(6)

yourAnswerToTheQuestion