Programa ::= Expressao

Expressao ::= Valor | ExpUnaria | ExpBinaria | ExpDeclaracao | Id

Valor ::= ValorConcreto

ValorConcreto ::= ValorInteiro | ValorBooleano | ValorString

ExpUnaria ::= "-" Expressao | "not" Expressao | "length" Expressao

ExpBinaria ::= Expressao "+" Expressao

| Expressao "-" Expressao
| Expressao "and" Expressao
| Expressao "or" Expressao
| Expressao "==" Expressao
| Expressao "++" Expressao

ExpDeclaracao ::= "let" DecVariavel "in" Expressao

DecVariavel ::= "var" Id "=" Expressao | DecVariavel "," DecVariavel

Tipo
Ambiente
AmbienteCompilacao
AmbienteExecucao

Contexto
ContextoCompilacao
ContextoExecucao
StackHandler
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
IdentificadorJaDeclaradoException
IdentificadorNaoDeclaradoException

Exemplos

Parser

Expressoes2.jj

Exp2Parser
JavaCharStream
Exp2ParserConstants
Exp2ParserTokenManager
ParseException
Token
TokenMgrError