Expressões 2
- Estende a Linguagem de Expressões 1 com identificadores (variáveis) que possuem um valor (constante)
- Durante a compilação, surge a necessidade de um contexto:mapeamento entre identificadores e tipos
- Durante a interpretação, surge a necessidade de um contexto: mapeamento entre identificadores e valores
- Na avaliação de uma expressão, a ocorrência de um identificador é substituída pelo valor associado ao identificador
- Um programa é uma expressão
Fontes
Programa ::= Expressao
Expressao ::= Valor
| ExpUnaria
| ExpBinaria
| ExpDeclaracao
| Id
Valor ::= ValorConcreto
ValorConcreto ::= ValorInteiro
| ValorBooleano
| ValorString
ExpUnaria ::= ExpMenos “-“ Expressao
| ExpNot “not” Expressao
| ExpLength “length” Expressao
ExpBinaria ::= ExpSoma Expressao “+” Expressao
| ExpSub Expressao “-“ Expressao
| ExpAnd Expressao “and” Expressao
| ExpOr Expressao “or” Expressao
| ExpEquals Expressao “==” Expressao
| ExpConcat Expressao “++” Expressao
Classes Auxiliares
Ambiente
AmbienteCompilacao
AmbienteExecucao
Contexto
ContextoCompilacao
ContextoExecucao
VariavelJaDeclaradaException
VariavelNaoDeclaradaException
IdentificadorJaDeclaradoException
IdentificadorNaoDeclaradoException