ICG 2
Electric Boogaloo
LexicalAnalyzer.hpp
Go to the documentation of this file.
1 #ifndef LEXICAL_ANALYZER_HH
2 #define LEXICAL_ANALYZER_HH
3 
4 #include <string>
5 #include <sstream>
6 
7 namespace Token {
8  enum e {
9  Error ,
12  Void ,
14  Char ,
16  Int ,
17  Long ,
39  Period
40  };
41 };
42 
44 
45  public:
47  void load( const std::string& s );
50  Token::e matchToken(Token::e expectedToken );
51  std::string getText();
53 
54  private:
55  char nextChar;
56  std::stringstream inStream;
57  std::string lexemeText;
58 };
59 
60 #endif
Definition: LexicalAnalyzer.hpp:43
LexicalAnalyzer()
Definition: LexicalAnalyzer.cpp:34
Token::e getToken()
Definition: LexicalAnalyzer.cpp:63
Token::e nextToken()
Definition: LexicalAnalyzer.cpp:67
void load(const std::string &s)
Definition: LexicalAnalyzer.cpp:40
Token::e matchToken(Token::e expectedToken)
Definition: LexicalAnalyzer.cpp:48
Token::e token
Definition: LexicalAnalyzer.hpp:52
std::string getText()
Definition: LexicalAnalyzer.cpp:59
Definition: LexicalAnalyzer.hpp:7
e
Definition: LexicalAnalyzer.hpp:8
@ Const
Definition: LexicalAnalyzer.hpp:23
@ Char
Definition: LexicalAnalyzer.hpp:14
@ Ampersand
Definition: LexicalAnalyzer.hpp:37
@ LeftAngle
Definition: LexicalAnalyzer.hpp:32
@ Void
Definition: LexicalAnalyzer.hpp:12
@ EndOfFile
Definition: LexicalAnalyzer.hpp:10
@ Semicolon
Definition: LexicalAnalyzer.hpp:35
@ Unsigned
Definition: LexicalAnalyzer.hpp:20
@ Comma
Definition: LexicalAnalyzer.hpp:38
@ EqSign
Definition: LexicalAnalyzer.hpp:36
@ Error
Definition: LexicalAnalyzer.hpp:9
@ RightAngle
Definition: LexicalAnalyzer.hpp:33
@ Boolean
Definition: LexicalAnalyzer.hpp:13
@ Period
Definition: LexicalAnalyzer.hpp:39
@ Signed
Definition: LexicalAnalyzer.hpp:19
@ Identifier
Definition: LexicalAnalyzer.hpp:11
@ Float
Definition: LexicalAnalyzer.hpp:21
@ RightParen
Definition: LexicalAnalyzer.hpp:25
@ FloatLiteral
Definition: LexicalAnalyzer.hpp:30
@ LeftBracket
Definition: LexicalAnalyzer.hpp:26
@ WideChar
Definition: LexicalAnalyzer.hpp:18
@ RightBracket
Definition: LexicalAnalyzer.hpp:27
@ Long
Definition: LexicalAnalyzer.hpp:17
@ Colon
Definition: LexicalAnalyzer.hpp:34
@ Asterisk
Definition: LexicalAnalyzer.hpp:28
@ IntegerLiteral
Definition: LexicalAnalyzer.hpp:29
@ Short
Definition: LexicalAnalyzer.hpp:15
@ StringLiteral
Definition: LexicalAnalyzer.hpp:31
@ Int
Definition: LexicalAnalyzer.hpp:16
@ Double
Definition: LexicalAnalyzer.hpp:22
@ LeftParen
Definition: LexicalAnalyzer.hpp:24