4
#include "../Model/Transformation.h"
5
#include "../Model/Rule.h"
6
#include "../Model/CustomRule.h"
7
#include "../Model/RuleSet.h"
8
#include "../Model/Action.h"
10
namespace StructureSynth {
14
/// The' Eisenstein Engine' is a simple recursive descent parser,
15
/// for parsing 'EisenScript'.
20
EisenParser(Tokenizer* tokenizer);
22
/// Destructor, The tokenizer is not deleted.
25
/// Parses the input, and returns the corresponding ruleset.
26
/// Throws a ParseError if any errors are encountered
27
Model::RuleSet* parseRuleset();
32
Model::RuleSet* ruleset();
33
Model::Action action();
34
Model::Action setAction();
35
Model::Transformation transformationList();
36
Model::Transformation transformation();
37
void ruleModifierList(Model::CustomRule* customRule);
39
bool accept(Symbol::SymbolType st);
40
bool expect(Symbol::SymbolType st);