{
ret = MacroDefinition();
}
- //else if( isMacro( lookaheadToken(1) ) )
- //{
- // ret = MacroExpansion();
- //}
else
{
ret = AssignExpr();
AST* DLParser::AssignExpr(void)
{
AST* ret = NULL;
- ret = LogicalExpr();
- if(lookaheadType(1) == ASSIGN)
- {
- match(ASSIGN);
- ret = new AST(ASSIGN, 2, ret, LogicalExpr());
- }
+ //if( isMacro( lookaheadToken(1) ) )
+ //{
+ // ret = MacroExpansion();
+ //}
+ //else
+ //{
+ ret = LogicalExpr();
+ if(lookaheadType(1) == ASSIGN)
+ {
+ match(ASSIGN);
+ ret = new AST(ASSIGN, 2, ret, LogicalExpr());
+ }
+ //}
return ret;
}
--- /dev/null
+#ifndef PATTERN_H
+#define PATTERN_H
+
+#include <list>
+#include "ast.h"
+
+typedef enum {
+ MAP_TYP,
+ VECT_TYP,
+ LiST_TYP,
+ BLK_TYP,
+ ID_TYP,
+ NUM_TYP,
+ CHAR_TYP,
+ STR_TYP,
+ SYM_TYP,
+ EXPR_TYP
+} PatternType_T;
+
+class Pattern {
+ private:
+ std::list<PatternType_T> pattern;
+ const AST* expr_ast;
+ public:
+ Pattern(const std::list<PatternType_T>& patt, const AST* ast);
+ ~Pattern();
+};
+
+#endif