diff options
Diffstat (limited to '')
-rw-r--r-- | src/builder.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/builder.h b/src/builder.h index a6f88f4..1d126dc 100644 --- a/src/builder.h +++ b/src/builder.h | |||
@@ -3,6 +3,8 @@ | |||
3 | 3 | ||
4 | #include <stdint.h> | 4 | #include <stdint.h> |
5 | #include <string> | 5 | #include <string> |
6 | #include <list> | ||
7 | #include <utility> | ||
6 | #include "build.tab.h" | 8 | #include "build.tab.h" |
7 | #include "exceptions.h" | 9 | #include "exceptions.h" |
8 | 10 | ||
@@ -19,6 +21,8 @@ YY_DECL; | |||
19 | 21 | ||
20 | subExceptionDecl( BuildException ); | 22 | subExceptionDecl( BuildException ); |
21 | 23 | ||
24 | typedef std::list<std::string> StringList; | ||
25 | |||
22 | class Builder | 26 | class Builder |
23 | { | 27 | { |
24 | public: | 28 | public: |
@@ -30,7 +34,6 @@ public: | |||
30 | 34 | ||
31 | void load( const std::string &sFile ); | 35 | void load( const std::string &sFile ); |
32 | 36 | ||
33 | |||
34 | private: | 37 | private: |
35 | std::string file; | 38 | std::string file; |
36 | void scanBegin(); | 39 | void scanBegin(); |
@@ -66,10 +69,30 @@ public: // List functions | |||
66 | void addListString( const char *str ); | 69 | void addListString( const char *str ); |
67 | void addListFunc(); | 70 | void addListFunc(); |
68 | 71 | ||
72 | typedef std::pair<std::string, Function *> BuildListItem; | ||
73 | typedef std::list<BuildListItem> BuildList; | ||
74 | |||
75 | StringList buildToStringList( BuildList &lSrc, StringList &lIn ); | ||
76 | |||
77 | private: | ||
78 | BuildList lTmp; | ||
79 | |||
69 | public: // Functions for dealing with rules | 80 | public: // Functions for dealing with rules |
81 | |||
82 | public: // Functions for dealing with actions | ||
70 | void addAction(); | 83 | void addAction(); |
71 | void addAction( const char *sName ); | 84 | void addAction( const char *sName ); |
72 | void addCommand( int nType ); | 85 | void addCommand( int nType ); |
86 | |||
87 | private: // Action variables | ||
88 | typedef std::pair<int, BuildList> ActionTmpCmd; | ||
89 | typedef std::list<ActionTmpCmd> ActionTmpCmdList; | ||
90 | typedef std::pair<std::string, ActionTmpCmdList> ActionTmp; | ||
91 | typedef std::list<ActionTmp> ActionTmpList; | ||
92 | ActionTmpList lActions; | ||
93 | |||
94 | public: // Debug | ||
95 | void debugDump(); | ||
73 | }; | 96 | }; |
74 | 97 | ||
75 | #endif | 98 | #endif |