LR(1) Parser Initial

This commit is contained in:
IlushaShurupov 2023-08-12 11:37:41 +03:00
parent 616441e049
commit 01b6f9099c
8 changed files with 161 additions and 46 deletions

26
Parser/private/CLR.cpp Normal file
View file

@ -0,0 +1,26 @@
#include "CLR.hpp"
#include "NewPlacement.hpp"
using namespace tp;
void CLR::setGrammar(const tp::CfGrammar& grammar) {
if (grammar.isLooped()) {
mState = ParserState::FAILED;
mBuildError.description = "Cant build lalr parser from looped context free grammar";
return;
}
mState = ParserState::FAILED;
}
void CLR::setTerminal(const String& name, TerminalStream::TerminalID id) {
}
void CLR::build() {
}
void CLR::parse(TerminalStream* source, List<ASTNode>& out, ASTNode** root) {
*root = nullptr;
}