Kalkulacka  1.0.0
Jednoduchýkalkulátor
Dokumentace třídy team22::Calc::Lex

Reprezentace lexému kalkulačky tedy čísla nebo operace. ...

#include <Lex.h>

Diagram tříd pro team22::Calc::Lex:
Collaboration graph

Třídy

union  Value
 reprezentace hodnoty lexému ...
 

Veřejné typy

enum  Types { OPERATOR, NUMBER }
 Typy lexémů ...
 
enum  Operator {
  ADD, SUB, DIV, MUL,
  EXP, ROOT, FACTORIAL, MOD,
  NEG, EVAL, CLEAR, BS
}
 Jednotlivé operace. ...
 

Veřejné metody

 Lex (Operator oper)
 Konstrukce lexému typu operátor. ...
 
 Lex (Math::Number number)
 Konstrukce lexému typu číslo. ...
 
const ValuegetValue () const
 vrací hodnotu lexému ...
 
Types getType () const
 vrací typ lexému ...
 
bool isNumber () const
 Testuje zda je lexém číslo. ...
 
bool isOperator () const
 Testuje zda je lexém operátor. ...
 
Math::Number getAsNumber () const
 
Operator getAsOperator () const
 
bool operator== (const Lex &rhs) const
 
bool operator!= (const Lex &rhs) const
 

Veřejné atributy

const char * OperatorNames [12]
 ADD,. ...
 

Chráněné atributy

Value value
 
Types type
 

Friends

std::ostream & operator<< (std::ostream &os, const Lex &lex)
 
std::stringstream & operator<< (std::stringstream &os, const Lex &lex)
 

Detailní popis

Reprezentace lexému kalkulačky tedy čísla nebo operace.

Definice je uvedena na řádku 18 v souboru Lex.h.

Dokumentace k členským výčtům

Jednotlivé operace.

Hodnoty výčtu
ADD 
SUB 
DIV 
MUL 
EXP 
ROOT 
FACTORIAL 
MOD 
NEG 
EVAL 
CLEAR 
BS 

Definice je uvedena na řádku 33 v souboru Lex.h.

Typy lexémů

Hodnoty výčtu
OPERATOR 
NUMBER 

Definice je uvedena na řádku 24 v souboru Lex.h.

Dokumentace konstruktoru a destruktoru

team22::Calc::Lex::Lex ( Operator  oper)

Konstrukce lexému typu operátor.

Parametry
oper

Definice je uvedena na řádku 30 v souboru Lex.cpp.

Odkazuje se na team22::Calc::Lex::Value::oper a value.

team22::Calc::Lex::Lex ( Math::Number  number)

Konstrukce lexému typu číslo.

Parametry
number

Definice je uvedena na řádku 36 v souboru Lex.cpp.

Odkazuje se na team22::Calc::Lex::Value::number a value.

Dokumentace k metodám

team22::Math::Number team22::Calc::Lex::getAsNumber ( ) const
Výjimky
LexExceptiontento lexém pokud není číslo
Návratová hodnota
number

Definice je uvedena na řádku 42 v souboru Lex.cpp.

Odkazuje se na isNumber(), team22::Calc::Lex::Value::number a value.

Používá se v team22::Calc::Equation::backSpace(), operator!=(), operator==() a team22::Calc::Interpret::sendIdentifiedLex().

team22::Calc::Lex::Operator team22::Calc::Lex::getAsOperator ( ) const
Výjimky
LexExceptiontento lexém pokud není Operator
Návratová hodnota
operator

Definice je uvedena na řádku 50 v souboru Lex.cpp.

Odkazuje se na isOperator(), team22::Calc::Lex::Value::oper a value.

Používá se v operator!=(), operator==(), team22::Calc::Interpret::sendIdentifiedLex() a team22::Calc::Equation::sendIdentifiedLex().

team22::Calc::Lex::Types team22::Calc::Lex::getType ( ) const

vrací typ lexému

Návratová hodnota
type

Definice je uvedena na řádku 15 v souboru Lex.cpp.

Odkazuje se na type.

const team22::Calc::Lex::Value & team22::Calc::Lex::getValue ( ) const

vrací hodnotu lexému

Definice je uvedena na řádku 10 v souboru Lex.cpp.

Odkazuje se na value.

bool team22::Calc::Lex::isNumber ( ) const

Testuje zda je lexém číslo.

Návratová hodnota
true pokud je číslo

Definice je uvedena na řádku 20 v souboru Lex.cpp.

Odkazuje se na type.

Používá se v team22::Calc::Equation::backSpace(), getAsNumber(), operator!=(), operator==() a team22::Calc::Interpret::sendIdentifiedLex().

bool team22::Calc::Lex::isOperator ( ) const

Testuje zda je lexém operátor.

Návratová hodnota
true pokud je operátor

Definice je uvedena na řádku 25 v souboru Lex.cpp.

Odkazuje se na type.

Používá se v getAsOperator(), operator==() a team22::Calc::Equation::sendIdentifiedLex().

bool team22::Calc::Lex::operator!= ( const Lex rhs) const

Definice je uvedena na řádku 69 v souboru Lex.cpp.

Odkazuje se na getAsNumber(), getAsOperator(), isNumber() a OperatorNames.

bool team22::Calc::Lex::operator== ( const Lex rhs) const

Definice je uvedena na řádku 59 v souboru Lex.cpp.

Odkazuje se na getAsNumber(), getAsOperator(), isNumber(), isOperator() a type.

Dokumentace k friends

std::ostream& operator<< ( std::ostream &  os,
const Lex lex 
)
friend
std::stringstream& operator<< ( std::stringstream &  os,
const Lex lex 
)
friend

Dokumentace k datovým členům

const char* team22::Calc::Lex::OperatorNames[12]
Initializer:
{
"+",
"-",
"/",
"*",
"^",
"√",
"!",
"%",
"*-1",
"=",
"CLEAR",
"BS",
}

ADD,.

SUB, DIV, MUL, EXP, ROOT, FACTORIAL, MOD, NEG, EVAL, CLEAR, BS

Definice je uvedena na řádku 49 v souboru Lex.h.

Používá se v operator!=().

Types team22::Calc::Lex::type
protected

Definice je uvedena na řádku 75 v souboru Lex.h.

Používá se v getType(), isNumber(), isOperator() a operator==().

Value team22::Calc::Lex::value
protected

Definice je uvedena na řádku 74 v souboru Lex.h.

Používá se v getAsNumber(), getAsOperator(), getValue() a Lex().


Dokumentace pro tuto třídu byla generována z následujících souborů: