/* Starshatter: The Open Source Project Copyright (c) 2021-2022, Starshatter: The Open Source Project Contributors Copyright (c) 2011-2012, Starshatter OpenSource Distribution Contributors Copyright (c) 1997-2006, Destroyer Studios LLC. AUTHOR: John DiCamillo OVERVIEW ======== Declaration of the generic Parser class */ #ifndef Parser_h #define Parser_h #include "Text.h" #include "Term.h" // +-------------------------------------------------------------------+ class Reader; class Scanner; // +-------------------------------------------------------------------+ class Parser { public: Parser(Reader* r = 0); ~Parser(); Term* ParseTerm(); Term* ParseTermBase(); Term* ParseTermRest(Term* base); TermList* ParseTermList(int for_struct); TermArray* ParseArray(); TermStruct* ParseStruct(); private: Reader* reader; Scanner* lexer; }; #endif // Parser_h