Página principal   Lista de namespaces   Hierarquia de classes   Lista de componentes   Lista de ficheiros   Componentes   Declarações  

Referencia à classe Calculo::Simbolo

Representa um símbolo da gramática usada nas fórmulas. Mais...

#include <simbolo.H>

Mostrar lista completa dos membros

Tipos Públicos

enum  Tipo {
  teste_de_condicao, primeiro = teste_de_condicao, separador_de_condicao, ou,
  e, negacao, igual, diferente,
  menor, menor_ou_igual, maior, maior_ou_igual,
  adicao, subtraccao, produto, divisao,
  potencia, parenteses_esquerdo, parenteses_direito, virgula,
  identificador, numero, constante, fim,
  ultimo = fim
}
 Representa os diversos tipos de símbolos existentes na gramática. Mais...


Membros públicos

 Simbolo (std::istream &entrada)
 Constrói um símbolo de forma gulosa (quantos mais caracteres melhor, lendo caracteres do canal |entrada|.

 operator Tipo () const
 Conversor implícito para o tipo enumerado Tipo, permite simplificar muito as expressões envolvendo instâncias desta classe. Mais...

std::string const& valorTextual () const
 Devolve o valor textual correspondente ao símbolo. Mais...

double valorNumerico () const
 Devolve o valor numérico correspondente ao símbolo. Mais...

std::string const& nomeCurto () const
 Devolve o nome curto do símbolo (e.g., se o símbolo for |igual|, o nome curto é "=".

std::string const& nomeLongo () const
 Devolve o nome longo do símbolo (e.g., se o símbolo for |menor_ou_igual|, o nome longo é "menor ou igual".

std::string nomeCompleto () const
 Devolve o nome completo do símbolo (e.g., se o símbolo for |menor_ou_igual|, o nome longo é "'<=' (menor ou igual)".

std::string descricao () const
 Devolve a descrição completa do símbolo (e.g., se o símbolo for |constante|, com o nome "pi", a descrição é "'const' (constante) [valor = pi]".


Descrição detalhada

Representa um símbolo da gramática usada nas fórmulas.

Veja também:
Calculo::Formula
Invariante:
true.

Definido na linha 15 do ficheiro simbolo.H.


Documentação da enumerações

enum Calculo::Simbolo::Tipo
 

Representa os diversos tipos de símbolos existentes na gramática.

Valores da enumeração:
teste_de_condicao   símbolo '?'.
primeiro  
separador_de_condicao   Símbolo ':'.
ou   Símbolo '|'.
e   Símbolo '&'.
negacao   Símbolo '!'.
igual   Símbolo '=='.
diferente   Símbolo '!='.
menor   Símbolo '<'.
menor_ou_igual   Símbolo '<='.
maior   Símbolo '>'.
maior_ou_igual   Símbolo '>='.
adicao   Símbolo '+'.
subtraccao   Símbolo '-'.
produto   Símbolo '*'.
divisao   Símbolo '/'.
potencia   Símbolo '^'.
parenteses_esquerdo   Símbolo '('.
parenteses_direito   Símbolo ')'.
virgula   Símbolo ','.
identificador   Um identificador (nome).
numero   Um número em notação científica.
constante   Uma constante representando um número.
fim   Símbolo especial, marca o fim da análise.
ultimo  

Definido na linha 18 do ficheiro simbolo.H.


Documentação do Construtor & Destrutor

Calculo::Simbolo::Simbolo ( std::istream & entrada ) [explicit]
 

Constrói um símbolo de forma gulosa (quantos mais caracteres melhor, lendo caracteres do canal |entrada|.


Documentação dos métodos

std::string Calculo::Simbolo::descricao ( ) const
 

Devolve a descrição completa do símbolo (e.g., se o símbolo for |constante|, com o nome "pi", a descrição é "'const' (constante) [valor = pi]".

std::string Calculo::Simbolo::nomeCompleto ( ) const [inline]
 

Devolve o nome completo do símbolo (e.g., se o símbolo for |menor_ou_igual|, o nome longo é "'<=' (menor ou igual)".

Definido na linha 42 do ficheiro simbolo_impl.H.

std::string const & Calculo::Simbolo::nomeCurto ( ) const [inline]
 

Devolve o nome curto do símbolo (e.g., se o símbolo for |igual|, o nome curto é "=".

Definido na linha 28 do ficheiro simbolo_impl.H.

Referenciado por nomeCompleto().

std::string const & Calculo::Simbolo::nomeLongo ( ) const [inline]
 

Devolve o nome longo do símbolo (e.g., se o símbolo for |menor_ou_igual|, o nome longo é "menor ou igual".

Definido na linha 35 do ficheiro simbolo_impl.H.

Referenciado por nomeCompleto().

Calculo::Simbolo::operator Tipo ( ) const
 

Conversor implícito para o tipo enumerado Tipo, permite simplificar muito as expressões envolvendo instâncias desta classe.

É um pouco como se esta classe funcionasse como uma versão sofisticada de um simples tipo enumerado. Se o canal nao tiver nada disponível, o símbolo construído corresponde ao valor enumerado |fim|, usado para assinalar o fim de um processo de análise.

Veja também:
Tipo

double Calculo::Simbolo::valorNumerico ( ) const [inline]
 

Devolve o valor numérico correspondente ao símbolo.

Só faz sentido invocar esta operação se o símbolo for do tipo |numero|.

Precondição:
*this == numero.

Definido na linha 20 do ficheiro simbolo_impl.H.

std::string const & Calculo::Simbolo::valorTextual ( ) const [inline]
 

Devolve o valor textual correspondente ao símbolo.

Só faz sentido invocar esta operação se o símbolo for dos tipos |constante| ou |identificador|.

Precondição:
*this == constante or *this == constante.

Definido na linha 12 do ficheiro simbolo_impl.H.


A documentação para esta classe foi gerada a partir dos seguintes ficheiros:
Gerado em Mon Apr 15 15:57:08 2002 para Calculo por doxygen1.2.6 escrito por Dimitri van Heesch, © 1997-2001