//---------------------------------------------------------------------------

#ifndef inclH
#define inclH

// * * * INCLUDES * * *



#include    //Std includes

#include 
#include 

#include 

#include "Token.h"   //Projektspezifische Includes
#include "MyChar.h"
#include "check.h"



// * * * MAKROS * * *
#define DEZ (Str[i] == ',' || Str[i] == '.')
   //hier können andere Dezimalzeichen eingetragen werden!
#define ISOP (Str[i] == '+' ||Str[i] == '*' ||Str[i] == '-' ||Str[i] == '/' ||\
Str[i] == '!' ||Str[i] == '^' ||Str[i] == '(' ||Str[i] == ')')
#define ISOPOK (Str[i] == '+' ||Str[i] == '*' ||Str[i] == '-' ||Str[i] == '/' ||\
Str[i] == '!' ||Str[i] == '^')
	//hier können weitere Operatoren eingetragen werden!
   //OK ... Ohne Klammern
#define ZAL (Str[i] >= '0' && Str[i] <= '9')
#define TOK '#'



// * * * PROTOTYPEN * * *
class Token;
class MyChar;

double StrToDbl (std::string Str);
   //wandelt string in Zahl um
   //Es wird alles ignoriert, bis auf Zahlen und '.' ',' welche vorkommen müssen

double StrToInt (std::string Str);
   //wandelt string in int um
   //Es wird alles ignoriert, auch '.' und ',' welche keine Bedeutung haben

double operation (std::string Str);
   //berechnet einen String, in welchen nur 1 Operator vokommen darf

double hoch (int term1,int term2);
   //berechnet hochzahlen, welche aber nur vom Typ Integer sind
   //term1 ^ term2

double hoch (double term1,double term2);
   //berchnet hochzahlen
   //term1 ^ term2

std::string parser(std::string & Str, char Op1, char Op2);
   //sucht nach einen string, der den Operator Op1 || Op2 umgibt, dieser wird
   //berechnet und in einen Token umgewandelt

double klammerparser (std::string & Str);
   //alles zwischen 2 Klammern wird berechnet und in ein Token umgewandelt
   //kommt keine Klammer mehr vor, wird er operationparser mit gesamten string
   //aufgerufen
   //kommt nur mehr ein Token vor, kann das Endergebnis zurückgeliefert werden

double operationparser (std::string & Str);
   //es wird ständig der parser aufgerufen, Dieser wird immer mit verschiedenen
   //operatoren beliefert



#endif
Fr Jul 30 13:54:24 CEST 2021
patent_button.gif valid-html401.png elektra.jpg fsfe-logo.png valid-css.png vim.gif anybrowser.gif