CF Grammar Initial
This commit is contained in:
parent
42ee676bc9
commit
8feeb3d1c1
7 changed files with 251 additions and 106 deletions
29
Parser/public/CfGrammar.hpp
Normal file
29
Parser/public/CfGrammar.hpp
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#pragma once
|
||||
|
||||
#include "Strings.hpp"
|
||||
#include "List.hpp"
|
||||
|
||||
namespace tp {
|
||||
|
||||
struct CfGrammar {
|
||||
struct Rule {
|
||||
struct Arg {
|
||||
String id;
|
||||
bool isTerminal;
|
||||
};
|
||||
|
||||
String id;
|
||||
List<Arg> args;
|
||||
};
|
||||
|
||||
List<Rule> rules;
|
||||
String startTerminal;
|
||||
|
||||
public:
|
||||
static struct CfGrammarParserState* initializeCfGrammarParser();
|
||||
static void deinitializeCfGrammarParser(CfGrammarParserState*);
|
||||
|
||||
public:
|
||||
void parse(CfGrammarParserState* context, const int1* source);
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue