Parser.h

Go to the documentation of this file.
00001 
00002 #ifndef _PARSER_H_
00003 #define _PARSER_H_
00004 
00005 #include <iostream>
00006 #include <list>
00007 
00008 class Alphabet;
00009 class FiniteAlphabet;
00010 
00011 using namespace std;
00012 
00013 enum AInputType { NONE, SET, FREE_PRES, REL_PRES }; 
00014 
00015  
00016 class Parser
00017 {
00018  public:
00019   Parser(istream& in, const Alphabet* a);
00020   ~Parser();
00021   void parse();
00022 
00023   char getWordTerminalSymbol( ) const;
00024  
00025   const list<int>& getWord()const;
00026  private:
00027   class WordFlexLexer* localFlexLexer;
00028   list<int> theWord;
00029   char theTS;
00030 };
00031 
00032 class AParser
00033 {
00034  public:
00035   AParser(istream& in);
00036   ~AParser();
00037   void parse();
00038   AInputType getType()const;
00039   FiniteAlphabet getAlphabet() const;
00040  private:
00041   class AlphabetFlexLexer* localFlexLexer;
00042   AInputType theType;
00043   FiniteAlphabet* theAlphabet;
00044 };
00045 
00046 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on Mon Sep 26 18:43:45 2011 for CRyptography And Groups (CRAG) by  doxygen 1.6.1