CF Grammar Initial

This commit is contained in:
IlushaShurupov 2023-08-10 10:44:38 +03:00 committed by Ilya Shurupov
parent 42ee676bc9
commit 8feeb3d1c1
7 changed files with 251 additions and 106 deletions

View 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);
};
}