Skip to content

Sample parser generator of UVL using antlr (Not working) #135

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 13 commits into
base: vara-dev
Choose a base branch
from

Conversation

Begget
Copy link

@Begget Begget commented Mar 18, 2025

No description provided.

@Begget Begget requested a review from boehmseb March 18, 2025 06:32
Copy link

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remaining comments which cannot be posted as a review comment to avoid GitHub Rate Limit

clang-format

[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitOrConstraint(UVLcppParser::OrConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEquationConstraint(UVLcppParser::EquationConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLiteralConstraint(UVLcppParser::LiteralConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitParenthesisConstraint(UVLcppParser::ParenthesisConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNotConstraint(UVLcppParser::NotConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAndConstraint(UVLcppParser::AndConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEquivalenceConstraint(UVLcppParser::EquivalenceConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitImplicationConstraint(UVLcppParser::ImplicationConstraintContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEqualEquation(UVLcppParser::EqualEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLowerEquation(UVLcppParser::LowerEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitGreaterEquation(UVLcppParser::GreaterEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLowerEqualsEquation(UVLcppParser::LowerEqualsEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitGreaterEqualsEquation(UVLcppParser::GreaterEqualsEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNotEqualsEquation(UVLcppParser::NotEqualsEquationContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitBracketExpression(UVLcppParser::BracketExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAggregateFunctionExpression(UVLcppParser::AggregateFunctionExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFloatLiteralExpression(UVLcppParser::FloatLiteralExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitStringLiteralExpression(UVLcppParser::StringLiteralExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAddExpression(UVLcppParser::AddExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitIntegerLiteralExpression(UVLcppParser::IntegerLiteralExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLiteralExpression(UVLcppParser::LiteralExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitDivExpression(UVLcppParser::DivExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitSubExpression(UVLcppParser::SubExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMulExpression(UVLcppParser::MulExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitSumAggregateFunction(UVLcppParser::SumAggregateFunctionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAvgAggregateFunction(UVLcppParser::AvgAggregateFunctionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitStringAggregateFunctionExpression(UVLcppParser::StringAggregateFunctionExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNumericAggregateFunctionExpression(UVLcppParser::NumericAggregateFunctionExpressionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLengthAggregateFunction(UVLcppParser::LengthAggregateFunctionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFloorAggregateFunction(UVLcppParser::FloorAggregateFunctionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitCeilAggregateFunction(UVLcppParser::CeilAggregateFunctionContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitReference(UVLcppParser::ReferenceContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeatureType(UVLcppParser::FeatureTypeContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLanguageLevel(UVLcppParser::LanguageLevelContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMajorLevel(UVLcppParser::MajorLevelContext *ctx) override {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMinorLevel(UVLcppParser::MinorLevelContext *ctx) override {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

_interpreter = new atn::LexerATNSimulator(this, _atn, _decisionToDFA, _sharedContextCache);


[clang-format] reported by reviewdog 🐶

UVLcppLexer::~UVLcppLexer() {
delete _interpreter;
}


[clang-format] reported by reviewdog 🐶

std::string UVLcppLexer::getGrammarFileName() const {
return "UVLcpp.g4";
}


[clang-format] reported by reviewdog 🐶

const std::vector<std::string>& UVLcppLexer::getRuleNames() const {


[clang-format] reported by reviewdog 🐶

const std::vector<std::string>& UVLcppLexer::getChannelNames() const {


[clang-format] reported by reviewdog 🐶

const std::vector<std::string>& UVLcppLexer::getModeNames() const {


[clang-format] reported by reviewdog 🐶

const std::vector<std::string>& UVLcppLexer::getTokenNames() const {


[clang-format] reported by reviewdog 🐶

dfa::Vocabulary& UVLcppLexer::getVocabulary() const {
return _vocabulary;
}


[clang-format] reported by reviewdog 🐶

const atn::ATN& UVLcppLexer::getATN() const {
return _atn;
}


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::action(RuleContext *context, size_t ruleIndex, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 23: OPEN_PARENAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 24: CLOSE_PARENAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 25: OPEN_BRACKAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 26: CLOSE_BRACKAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 27: OPEN_BRACEAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 28: CLOSE_BRACEAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 29: OPEN_COMMENTAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;
case 30: CLOSE_COMMENTAction(dynamic_cast<antlr4::RuleContext *>(context), actionIndex); break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::OPEN_PARENAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 0: self.opened += 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::CLOSE_PARENAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 1: self.opened -= 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::OPEN_BRACKAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 2: self.opened += 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::CLOSE_BRACKAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 3: self.opened -= 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::OPEN_BRACEAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 4: self.opened += 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::CLOSE_BRACEAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 5: self.opened -= 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::OPEN_COMMENTAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 6: self.opened += 1; break;


[clang-format] reported by reviewdog 🐶

void UVLcppLexer::CLOSE_COMMENTAction(antlr4::RuleContext *context, size_t actionIndex) {


[clang-format] reported by reviewdog 🐶

case 7: self.opened -= 1; break;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7", "T__8",
"T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15", "T__16",
"T__17", "T__18", "T__19", "T__20", "T__21", "T__22", "OPEN_PAREN", "CLOSE_PAREN",
"OPEN_BRACK", "CLOSE_BRACK", "OPEN_BRACE", "CLOSE_BRACE", "OPEN_COMMENT",
"CLOSE_COMMENT", "INDENT", "DEDENT", "ORGROUP", "ALTERNATIVE", "OPTIONAL",
"MANDATORY", "CARDINALITY", "NOT", "AND", "OR", "EQUIVALENCE", "IMPLICATION",
"EQUAL", "LOWER", "LOWER_EQUALS", "GREATER", "GREATER_EQUALS", "NOT_EQUALS",
"DIV", "MUL", "ADD", "SUB", "FLOAT", "INTEGER", "BOOLEAN", "BOOLEAN_KEY",
"COMMA", "ID_NOT_STRICT", "ID_STRICT", "STRING", "SKIP_", "COMMENT", "SPACES"
};
std::vector<std::string> UVLcppLexer::_channelNames = {
"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
};
std::vector<std::string> UVLcppLexer::_modeNames = {
"DEFAULT_MODE"
};
std::vector<std::string> UVLcppLexer::_literalNames = {
"", "'include'", "'namespace'", "'imports'", "'as'", "'features'", "'cardinality'",
"'constraint'", "'constraints'", "'sum'", "'avg'", "'len'", "'floor'",
"'ceil'", "'.'", "'String'", "'Integer'", "'Real'", "'Arithmetic'", "'Type'",
"'group-cardinality'", "'feature-cardinality'", "'aggregate-function'",
"'string-constraints'", "'('", "')'", "'['", "']'", "'{'", "'}'", "'/*'",
"'*/'", "'<INDENT>'", "'<DEDENT>'", "'or'", "'alternative'", "'optional'",
"'mandatory'", "", "'!'", "'&'", "'|'", "'<=>'", "'=>'", "'=='", "'<'",
"'<='", "'>'", "'>='", "'!='", "'/'", "'*'", "'+'", "'-'", "", "", "",
"'Boolean'", "','"
};
std::vector<std::string> UVLcppLexer::_symbolicNames = {
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACK", "CLOSE_BRACK",
"OPEN_BRACE", "CLOSE_BRACE", "OPEN_COMMENT", "CLOSE_COMMENT", "INDENT",
"DEDENT", "ORGROUP", "ALTERNATIVE", "OPTIONAL", "MANDATORY", "CARDINALITY",
"NOT", "AND", "OR", "EQUIVALENCE", "IMPLICATION", "EQUAL", "LOWER", "LOWER_EQUALS",
"GREATER", "GREATER_EQUALS", "NOT_EQUALS", "DIV", "MUL", "ADD", "SUB",
"FLOAT", "INTEGER", "BOOLEAN", "BOOLEAN_KEY", "COMMA", "ID_NOT_STRICT",
"ID_STRICT", "STRING", "SKIP_"
};


[clang-format] reported by reviewdog 🐶

// This code could be in a static initializer lambda, but VS doesn't allow access to private class members from there.
for (size_t i = 0; i < _symbolicNames.size(); ++i) {
std::string name = _vocabulary.getLiteralName(i);
if (name.empty()) {
name = _vocabulary.getSymbolicName(i);
}
if (name.empty()) {
_tokenNames.push_back("<INVALID>");
} else {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
0x2, 0x40, 0x23e, 0x8, 0x1, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3,
0x4, 0x4, 0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4,
0x7, 0x9, 0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa,
0x9, 0xa, 0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9,
0xd, 0x4, 0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10,
0x4, 0x11, 0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13,
0x4, 0x14, 0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16,
0x4, 0x17, 0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19,
0x4, 0x1a, 0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c,
0x4, 0x1d, 0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f,
0x4, 0x20, 0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22,
0x4, 0x23, 0x9, 0x23, 0x4, 0x24, 0x9, 0x24, 0x4, 0x25, 0x9, 0x25,
0x4, 0x26, 0x9, 0x26, 0x4, 0x27, 0x9, 0x27, 0x4, 0x28, 0x9, 0x28,
0x4, 0x29, 0x9, 0x29, 0x4, 0x2a, 0x9, 0x2a, 0x4, 0x2b, 0x9, 0x2b,
0x4, 0x2c, 0x9, 0x2c, 0x4, 0x2d, 0x9, 0x2d, 0x4, 0x2e, 0x9, 0x2e,
0x4, 0x2f, 0x9, 0x2f, 0x4, 0x30, 0x9, 0x30, 0x4, 0x31, 0x9, 0x31,
0x4, 0x32, 0x9, 0x32, 0x4, 0x33, 0x9, 0x33, 0x4, 0x34, 0x9, 0x34,
0x4, 0x35, 0x9, 0x35, 0x4, 0x36, 0x9, 0x36, 0x4, 0x37, 0x9, 0x37,
0x4, 0x38, 0x9, 0x38, 0x4, 0x39, 0x9, 0x39, 0x4, 0x3a, 0x9, 0x3a,
0x4, 0x3b, 0x9, 0x3b, 0x4, 0x3c, 0x9, 0x3c, 0x4, 0x3d, 0x9, 0x3d,
0x4, 0x3e, 0x9, 0x3e, 0x4, 0x3f, 0x9, 0x3f, 0x4, 0x40, 0x9, 0x40,
0x4, 0x41, 0x9, 0x41, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3,
0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x2, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3,
0x3, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4, 0x3, 0x4,
0x3, 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x6, 0x3,
0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x6,
0x3, 0x6, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3,
0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x7,
0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3,
0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x9, 0x3, 0x9,
0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3,
0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0xa, 0x3, 0xa, 0x3, 0xa,
0x3, 0xa, 0x3, 0xb, 0x3, 0xb, 0x3, 0xb, 0x3, 0xb, 0x3, 0xc, 0x3,
0xc, 0x3, 0xc, 0x3, 0xc, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd,
0x3, 0xd, 0x3, 0xd, 0x3, 0xe, 0x3, 0xe, 0x3, 0xe, 0x3, 0xe, 0x3,
0xe, 0x3, 0xf, 0x3, 0xf, 0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 0x10,
0x3, 0x10, 0x3, 0x10, 0x3, 0x10, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11,
0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x12,
0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x12, 0x3, 0x13, 0x3, 0x13,
0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13,
0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14,
0x3, 0x14, 0x3, 0x14, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15,
0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15,
0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x15,
0x3, 0x15, 0x3, 0x15, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16,
0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16,
0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16,
0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x16, 0x3, 0x17, 0x3, 0x17,
0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a,
0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c,
0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1e,
0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x1f, 0x3, 0x20,
0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x21, 0x3, 0x21,
0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21, 0x3, 0x21,
0x3, 0x21, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22,
0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x3, 0x23, 0x3, 0x23,
0x3, 0x23, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24,
0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24, 0x3, 0x24,
0x3, 0x24, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25,
0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x3, 0x25, 0x3, 0x26, 0x3, 0x26,
0x3, 0x26, 0x3, 0x26, 0x3, 0x26, 0x3, 0x26, 0x3, 0x26, 0x3, 0x26,
0x3, 0x26, 0x3, 0x26, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x3, 0x27,
0x3, 0x27, 0x3, 0x27, 0x3, 0x27, 0x5, 0x27, 0x1ad, 0xa, 0x27, 0x5,
0x27, 0x1af, 0xa, 0x27, 0x3, 0x27, 0x3, 0x27, 0x3, 0x28, 0x3, 0x28,
0x3, 0x29, 0x3, 0x29, 0x3, 0x2a, 0x3, 0x2a, 0x3, 0x2b, 0x3, 0x2b,
0x3, 0x2b, 0x3, 0x2b, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2c, 0x3, 0x2d,
0x3, 0x2d, 0x3, 0x2d, 0x3, 0x2e, 0x3, 0x2e, 0x3, 0x2f, 0x3, 0x2f,
0x3, 0x2f, 0x3, 0x30, 0x3, 0x30, 0x3, 0x31, 0x3, 0x31, 0x3, 0x31,
0x3, 0x32, 0x3, 0x32, 0x3, 0x32, 0x3, 0x33, 0x3, 0x33, 0x3, 0x34,
0x3, 0x34, 0x3, 0x35, 0x3, 0x35, 0x3, 0x36, 0x3, 0x36, 0x3, 0x37,
0x5, 0x37, 0x1d9, 0xa, 0x37, 0x3, 0x37, 0x7, 0x37, 0x1dc, 0xa, 0x37,
0xc, 0x37, 0xe, 0x37, 0x1df, 0xb, 0x37, 0x3, 0x37, 0x3, 0x37, 0x6,
0x37, 0x1e3, 0xa, 0x37, 0xd, 0x37, 0xe, 0x37, 0x1e4, 0x3, 0x38, 0x3,
0x38, 0x5, 0x38, 0x1e9, 0xa, 0x38, 0x3, 0x38, 0x3, 0x38, 0x7, 0x38,
0x1ed, 0xa, 0x38, 0xc, 0x38, 0xe, 0x38, 0x1f0, 0xb, 0x38, 0x5, 0x38,
0x1f2, 0xa, 0x38, 0x3, 0x39, 0x3, 0x39, 0x3, 0x39, 0x3, 0x39, 0x3,
0x39, 0x3, 0x39, 0x3, 0x39, 0x3, 0x39, 0x3, 0x39, 0x5, 0x39, 0x1fd,
0xa, 0x39, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a,
0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3a, 0x3, 0x3b, 0x3, 0x3b, 0x3, 0x3c,
0x3, 0x3c, 0x6, 0x3c, 0x20b, 0xa, 0x3c, 0xd, 0x3c, 0xe, 0x3c, 0x20c,
0x3, 0x3c, 0x3, 0x3c, 0x3, 0x3d, 0x3, 0x3d, 0x7, 0x3d, 0x213, 0xa,
0x3d, 0xc, 0x3d, 0xe, 0x3d, 0x216, 0xb, 0x3d, 0x3, 0x3e, 0x3, 0x3e,
0x6, 0x3e, 0x21a, 0xa, 0x3e, 0xd, 0x3e, 0xe, 0x3e, 0x21b, 0x3, 0x3e,
0x3, 0x3e, 0x3, 0x3f, 0x3, 0x3f, 0x5, 0x3f, 0x222, 0xa, 0x3f, 0x3,
0x3f, 0x3, 0x3f, 0x3, 0x40, 0x3, 0x40, 0x3, 0x40, 0x3, 0x40, 0x7,
0x40, 0x22a, 0xa, 0x40, 0xc, 0x40, 0xe, 0x40, 0x22d, 0xb, 0x40, 0x3,
0x40, 0x3, 0x40, 0x7, 0x40, 0x231, 0xa, 0x40, 0xc, 0x40, 0xe, 0x40,
0x234, 0xb, 0x40, 0x3, 0x40, 0x3, 0x40, 0x5, 0x40, 0x238, 0xa, 0x40,
0x3, 0x41, 0x6, 0x41, 0x23b, 0xa, 0x41, 0xd, 0x41, 0xe, 0x41, 0x23c,
0x2, 0x2, 0x42, 0x3, 0x3, 0x5, 0x4, 0x7, 0x5, 0x9, 0x6, 0xb, 0x7,
0xd, 0x8, 0xf, 0x9, 0x11, 0xa, 0x13, 0xb, 0x15, 0xc, 0x17, 0xd, 0x19,
0xe, 0x1b, 0xf, 0x1d, 0x10, 0x1f, 0x11, 0x21, 0x12, 0x23, 0x13, 0x25,
0x14, 0x27, 0x15, 0x29, 0x16, 0x2b, 0x17, 0x2d, 0x18, 0x2f, 0x19,
0x31, 0x1a, 0x33, 0x1b, 0x35, 0x1c, 0x37, 0x1d, 0x39, 0x1e, 0x3b,
0x1f, 0x3d, 0x20, 0x3f, 0x21, 0x41, 0x22, 0x43, 0x23, 0x45, 0x24,
0x47, 0x25, 0x49, 0x26, 0x4b, 0x27, 0x4d, 0x28, 0x4f, 0x29, 0x51,
0x2a, 0x53, 0x2b, 0x55, 0x2c, 0x57, 0x2d, 0x59, 0x2e, 0x5b, 0x2f,
0x5d, 0x30, 0x5f, 0x31, 0x61, 0x32, 0x63, 0x33, 0x65, 0x34, 0x67,
0x35, 0x69, 0x36, 0x6b, 0x37, 0x6d, 0x38, 0x6f, 0x39, 0x71, 0x3a,
0x73, 0x3b, 0x75, 0x3c, 0x77, 0x3d, 0x79, 0x3e, 0x7b, 0x3f, 0x7d,
0x40, 0x7f, 0x2, 0x81, 0x2, 0x3, 0x2, 0xb, 0x3, 0x2, 0x32, 0x3b,
0x3, 0x2, 0x30, 0x30, 0x3, 0x2, 0x33, 0x3b, 0x6, 0x2, 0xc, 0xc, 0xf,
0xf, 0x24, 0x24, 0x30, 0x30, 0x4, 0x2, 0x43, 0x5c, 0x63, 0x7c, 0x11,
0x2, 0x25, 0x25, 0x27, 0x27, 0x29, 0x29, 0x32, 0x3b, 0x3d, 0x3d,
0x41, 0x41, 0x43, 0x5c, 0x5e, 0x5e, 0x61, 0x61, 0x63, 0x7c, 0xa9,
0xa9, 0xe1, 0xe1, 0xe6, 0xe6, 0xf8, 0xf8, 0xfe, 0xfe, 0x6, 0x2, 0xc,
0xc, 0xf, 0xf, 0x29, 0x29, 0x30, 0x30, 0x4, 0x2, 0xc, 0xc, 0xe, 0xf,
0x4, 0x2, 0xb, 0xb, 0x22, 0x22, 0x2, 0x24c, 0x2, 0x3, 0x3, 0x2, 0x2,
0x2, 0x2, 0x5, 0x3, 0x2, 0x2, 0x2, 0x2, 0x7, 0x3, 0x2, 0x2, 0x2,
0x2, 0x9, 0x3, 0x2, 0x2, 0x2, 0x2, 0xb, 0x3, 0x2, 0x2, 0x2, 0x2,
0xd, 0x3, 0x2, 0x2, 0x2, 0x2, 0xf, 0x3, 0x2, 0x2, 0x2, 0x2, 0x11,
0x3, 0x2, 0x2, 0x2, 0x2, 0x13, 0x3, 0x2, 0x2, 0x2, 0x2, 0x15, 0x3,
0x2, 0x2, 0x2, 0x2, 0x17, 0x3, 0x2, 0x2, 0x2, 0x2, 0x19, 0x3, 0x2,
0x2, 0x2, 0x2, 0x1b, 0x3, 0x2, 0x2, 0x2, 0x2, 0x1d, 0x3, 0x2, 0x2,
0x2, 0x2, 0x1f, 0x3, 0x2, 0x2, 0x2, 0x2, 0x21, 0x3, 0x2, 0x2, 0x2,
0x2, 0x23, 0x3, 0x2, 0x2, 0x2, 0x2, 0x25, 0x3, 0x2, 0x2, 0x2, 0x2,
0x27, 0x3, 0x2, 0x2, 0x2, 0x2, 0x29, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2b,
0x3, 0x2, 0x2, 0x2, 0x2, 0x2d, 0x3, 0x2, 0x2, 0x2, 0x2, 0x2f, 0x3,
0x2, 0x2, 0x2, 0x2, 0x31, 0x3, 0x2, 0x2, 0x2, 0x2, 0x33, 0x3, 0x2,
0x2, 0x2, 0x2, 0x35, 0x3, 0x2, 0x2, 0x2, 0x2, 0x37, 0x3, 0x2, 0x2,
0x2, 0x2, 0x39, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3b, 0x3, 0x2, 0x2, 0x2,
0x2, 0x3d, 0x3, 0x2, 0x2, 0x2, 0x2, 0x3f, 0x3, 0x2, 0x2, 0x2, 0x2,
0x41, 0x3, 0x2, 0x2, 0x2, 0x2, 0x43, 0x3, 0x2, 0x2, 0x2, 0x2, 0x45,
0x3, 0x2, 0x2, 0x2, 0x2, 0x47, 0x3, 0x2, 0x2, 0x2, 0x2, 0x49, 0x3,
0x2, 0x2, 0x2, 0x2, 0x4b, 0x3, 0x2, 0x2, 0x2, 0x2, 0x4d, 0x3, 0x2,
0x2, 0x2, 0x2, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x2, 0x51, 0x3, 0x2, 0x2,
0x2, 0x2, 0x53, 0x3, 0x2, 0x2, 0x2, 0x2, 0x55, 0x3, 0x2, 0x2, 0x2,
0x2, 0x57, 0x3, 0x2, 0x2, 0x2, 0x2, 0x59, 0x3, 0x2, 0x2, 0x2, 0x2,
0x5b, 0x3, 0x2, 0x2, 0x2, 0x2, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x2, 0x5f,
0x3, 0x2, 0x2, 0x2, 0x2, 0x61, 0x3, 0x2, 0x2, 0x2, 0x2, 0x63, 0x3,
0x2, 0x2, 0x2, 0x2, 0x65, 0x3, 0x2, 0x2, 0x2, 0x2, 0x67, 0x3, 0x2,
0x2, 0x2, 0x2, 0x69, 0x3, 0x2, 0x2, 0x2, 0x2, 0x6b, 0x3, 0x2, 0x2,
0x2, 0x2, 0x6d, 0x3, 0x2, 0x2, 0x2, 0x2, 0x6f, 0x3, 0x2, 0x2, 0x2,
0x2, 0x71, 0x3, 0x2, 0x2, 0x2, 0x2, 0x73, 0x3, 0x2, 0x2, 0x2, 0x2,
0x75, 0x3, 0x2, 0x2, 0x2, 0x2, 0x77, 0x3, 0x2, 0x2, 0x2, 0x2, 0x79,
0x3, 0x2, 0x2, 0x2, 0x2, 0x7b, 0x3, 0x2, 0x2, 0x2, 0x2, 0x7d, 0x3,
0x2, 0x2, 0x2, 0x3, 0x83, 0x3, 0x2, 0x2, 0x2, 0x5, 0x8b, 0x3, 0x2,
0x2, 0x2, 0x7, 0x95, 0x3, 0x2, 0x2, 0x2, 0x9, 0x9d, 0x3, 0x2, 0x2,
0x2, 0xb, 0xa0, 0x3, 0x2, 0x2, 0x2, 0xd, 0xa9, 0x3, 0x2, 0x2, 0x2,
0xf, 0xb5, 0x3, 0x2, 0x2, 0x2, 0x11, 0xc0, 0x3, 0x2, 0x2, 0x2, 0x13,
0xcc, 0x3, 0x2, 0x2, 0x2, 0x15, 0xd0, 0x3, 0x2, 0x2, 0x2, 0x17, 0xd4,
0x3, 0x2, 0x2, 0x2, 0x19, 0xd8, 0x3, 0x2, 0x2, 0x2, 0x1b, 0xde, 0x3,
0x2, 0x2, 0x2, 0x1d, 0xe3, 0x3, 0x2, 0x2, 0x2, 0x1f, 0xe5, 0x3, 0x2,
0x2, 0x2, 0x21, 0xec, 0x3, 0x2, 0x2, 0x2, 0x23, 0xf4, 0x3, 0x2, 0x2,
0x2, 0x25, 0xf9, 0x3, 0x2, 0x2, 0x2, 0x27, 0x104, 0x3, 0x2, 0x2,
0x2, 0x29, 0x109, 0x3, 0x2, 0x2, 0x2, 0x2b, 0x11b, 0x3, 0x2, 0x2,
0x2, 0x2d, 0x12f, 0x3, 0x2, 0x2, 0x2, 0x2f, 0x142, 0x3, 0x2, 0x2,
0x2, 0x31, 0x155, 0x3, 0x2, 0x2, 0x2, 0x33, 0x158, 0x3, 0x2, 0x2,
0x2, 0x35, 0x15b, 0x3, 0x2, 0x2, 0x2, 0x37, 0x15e, 0x3, 0x2, 0x2,
0x2, 0x39, 0x161, 0x3, 0x2, 0x2, 0x2, 0x3b, 0x164, 0x3, 0x2, 0x2,
0x2, 0x3d, 0x167, 0x3, 0x2, 0x2, 0x2, 0x3f, 0x16c, 0x3, 0x2, 0x2,
0x2, 0x41, 0x171, 0x3, 0x2, 0x2, 0x2, 0x43, 0x17a, 0x3, 0x2, 0x2,
0x2, 0x45, 0x183, 0x3, 0x2, 0x2, 0x2, 0x47, 0x186, 0x3, 0x2, 0x2,
0x2, 0x49, 0x192, 0x3, 0x2, 0x2, 0x2, 0x4b, 0x19b, 0x3, 0x2, 0x2,
0x2, 0x4d, 0x1a5, 0x3, 0x2, 0x2, 0x2, 0x4f, 0x1b2, 0x3, 0x2, 0x2,
0x2, 0x51, 0x1b4, 0x3, 0x2, 0x2, 0x2, 0x53, 0x1b6, 0x3, 0x2, 0x2,
0x2, 0x55, 0x1b8, 0x3, 0x2, 0x2, 0x2, 0x57, 0x1bc, 0x3, 0x2, 0x2,
0x2, 0x59, 0x1bf, 0x3, 0x2, 0x2, 0x2, 0x5b, 0x1c2, 0x3, 0x2, 0x2,
0x2, 0x5d, 0x1c4, 0x3, 0x2, 0x2, 0x2, 0x5f, 0x1c7, 0x3, 0x2, 0x2,
0x2, 0x61, 0x1c9, 0x3, 0x2, 0x2, 0x2, 0x63, 0x1cc, 0x3, 0x2, 0x2,
0x2, 0x65, 0x1cf, 0x3, 0x2, 0x2, 0x2, 0x67, 0x1d1, 0x3, 0x2, 0x2,
0x2, 0x69, 0x1d3, 0x3, 0x2, 0x2, 0x2, 0x6b, 0x1d5, 0x3, 0x2, 0x2,
0x2, 0x6d, 0x1d8, 0x3, 0x2, 0x2, 0x2, 0x6f, 0x1f1, 0x3, 0x2, 0x2,
0x2, 0x71, 0x1fc, 0x3, 0x2, 0x2, 0x2, 0x73, 0x1fe, 0x3, 0x2, 0x2,
0x2, 0x75, 0x206, 0x3, 0x2, 0x2, 0x2, 0x77, 0x208, 0x3, 0x2, 0x2,
0x2, 0x79, 0x210, 0x3, 0x2, 0x2, 0x2, 0x7b, 0x217, 0x3, 0x2, 0x2,
0x2, 0x7d, 0x221, 0x3, 0x2, 0x2, 0x2, 0x7f, 0x237, 0x3, 0x2, 0x2,
0x2, 0x81, 0x23a, 0x3, 0x2, 0x2, 0x2, 0x83, 0x84, 0x7, 0x6b, 0x2,
0x2, 0x84, 0x85, 0x7, 0x70, 0x2, 0x2, 0x85, 0x86, 0x7, 0x65, 0x2,
0x2, 0x86, 0x87, 0x7, 0x6e, 0x2, 0x2, 0x87, 0x88, 0x7, 0x77, 0x2,
0x2, 0x88, 0x89, 0x7, 0x66, 0x2, 0x2, 0x89, 0x8a, 0x7, 0x67, 0x2,
0x2, 0x8a, 0x4, 0x3, 0x2, 0x2, 0x2, 0x8b, 0x8c, 0x7, 0x70, 0x2, 0x2,
0x8c, 0x8d, 0x7, 0x63, 0x2, 0x2, 0x8d, 0x8e, 0x7, 0x6f, 0x2, 0x2,
0x8e, 0x8f, 0x7, 0x67, 0x2, 0x2, 0x8f, 0x90, 0x7, 0x75, 0x2, 0x2,
0x90, 0x91, 0x7, 0x72, 0x2, 0x2, 0x91, 0x92, 0x7, 0x63, 0x2, 0x2,
0x92, 0x93, 0x7, 0x65, 0x2, 0x2, 0x93, 0x94, 0x7, 0x67, 0x2, 0x2,
0x94, 0x6, 0x3, 0x2, 0x2, 0x2, 0x95, 0x96, 0x7, 0x6b, 0x2, 0x2, 0x96,
0x97, 0x7, 0x6f, 0x2, 0x2, 0x97, 0x98, 0x7, 0x72, 0x2, 0x2, 0x98,
0x99, 0x7, 0x71, 0x2, 0x2, 0x99, 0x9a, 0x7, 0x74, 0x2, 0x2, 0x9a,
0x9b, 0x7, 0x76, 0x2, 0x2, 0x9b, 0x9c, 0x7, 0x75, 0x2, 0x2, 0x9c,
0x8, 0x3, 0x2, 0x2, 0x2, 0x9d, 0x9e, 0x7, 0x63, 0x2, 0x2, 0x9e, 0x9f,
0x7, 0x75, 0x2, 0x2, 0x9f, 0xa, 0x3, 0x2, 0x2, 0x2, 0xa0, 0xa1, 0x7,
0x68, 0x2, 0x2, 0xa1, 0xa2, 0x7, 0x67, 0x2, 0x2, 0xa2, 0xa3, 0x7,
0x63, 0x2, 0x2, 0xa3, 0xa4, 0x7, 0x76, 0x2, 0x2, 0xa4, 0xa5, 0x7,
0x77, 0x2, 0x2, 0xa5, 0xa6, 0x7, 0x74, 0x2, 0x2, 0xa6, 0xa7, 0x7,
0x67, 0x2, 0x2, 0xa7, 0xa8, 0x7, 0x75, 0x2, 0x2, 0xa8, 0xc, 0x3,
0x2, 0x2, 0x2, 0xa9, 0xaa, 0x7, 0x65, 0x2, 0x2, 0xaa, 0xab, 0x7,
0x63, 0x2, 0x2, 0xab, 0xac, 0x7, 0x74, 0x2, 0x2, 0xac, 0xad, 0x7,
0x66, 0x2, 0x2, 0xad, 0xae, 0x7, 0x6b, 0x2, 0x2, 0xae, 0xaf, 0x7,
0x70, 0x2, 0x2, 0xaf, 0xb0, 0x7, 0x63, 0x2, 0x2, 0xb0, 0xb1, 0x7,
0x6e, 0x2, 0x2, 0xb1, 0xb2, 0x7, 0x6b, 0x2, 0x2, 0xb2, 0xb3, 0x7,
0x76, 0x2, 0x2, 0xb3, 0xb4, 0x7, 0x7b, 0x2, 0x2, 0xb4, 0xe, 0x3,
0x2, 0x2, 0x2, 0xb5, 0xb6, 0x7, 0x65, 0x2, 0x2, 0xb6, 0xb7, 0x7,
0x71, 0x2, 0x2, 0xb7, 0xb8, 0x7, 0x70, 0x2, 0x2, 0xb8, 0xb9, 0x7,
0x75, 0x2, 0x2, 0xb9, 0xba, 0x7, 0x76, 0x2, 0x2, 0xba, 0xbb, 0x7,
0x74, 0x2, 0x2, 0xbb, 0xbc, 0x7, 0x63, 0x2, 0x2, 0xbc, 0xbd, 0x7,
0x6b, 0x2, 0x2, 0xbd, 0xbe, 0x7, 0x70, 0x2, 0x2, 0xbe, 0xbf, 0x7,
0x76, 0x2, 0x2, 0xbf, 0x10, 0x3, 0x2, 0x2, 0x2, 0xc0, 0xc1, 0x7,
0x65, 0x2, 0x2, 0xc1, 0xc2, 0x7, 0x71, 0x2, 0x2, 0xc2, 0xc3, 0x7,
0x70, 0x2, 0x2, 0xc3, 0xc4, 0x7, 0x75, 0x2, 0x2, 0xc4, 0xc5, 0x7,
0x76, 0x2, 0x2, 0xc5, 0xc6, 0x7, 0x74, 0x2, 0x2, 0xc6, 0xc7, 0x7,
0x63, 0x2, 0x2, 0xc7, 0xc8, 0x7, 0x6b, 0x2, 0x2, 0xc8, 0xc9, 0x7,
0x70, 0x2, 0x2, 0xc9, 0xca, 0x7, 0x76, 0x2, 0x2, 0xca, 0xcb, 0x7,
0x75, 0x2, 0x2, 0xcb, 0x12, 0x3, 0x2, 0x2, 0x2, 0xcc, 0xcd, 0x7,
0x75, 0x2, 0x2, 0xcd, 0xce, 0x7, 0x77, 0x2, 0x2, 0xce, 0xcf, 0x7,
0x6f, 0x2, 0x2, 0xcf, 0x14, 0x3, 0x2, 0x2, 0x2, 0xd0, 0xd1, 0x7,
0x63, 0x2, 0x2, 0xd1, 0xd2, 0x7, 0x78, 0x2, 0x2, 0xd2, 0xd3, 0x7,
0x69, 0x2, 0x2, 0xd3, 0x16, 0x3, 0x2, 0x2, 0x2, 0xd4, 0xd5, 0x7,
0x6e, 0x2, 0x2, 0xd5, 0xd6, 0x7, 0x67, 0x2, 0x2, 0xd6, 0xd7, 0x7,
0x70, 0x2, 0x2, 0xd7, 0x18, 0x3, 0x2, 0x2, 0x2, 0xd8, 0xd9, 0x7,
0x68, 0x2, 0x2, 0xd9, 0xda, 0x7, 0x6e, 0x2, 0x2, 0xda, 0xdb, 0x7,
0x71, 0x2, 0x2, 0xdb, 0xdc, 0x7, 0x71, 0x2, 0x2, 0xdc, 0xdd, 0x7,
0x74, 0x2, 0x2, 0xdd, 0x1a, 0x3, 0x2, 0x2, 0x2, 0xde, 0xdf, 0x7,
0x65, 0x2, 0x2, 0xdf, 0xe0, 0x7, 0x67, 0x2, 0x2, 0xe0, 0xe1, 0x7,
0x6b, 0x2, 0x2, 0xe1, 0xe2, 0x7, 0x6e, 0x2, 0x2, 0xe2, 0x1c, 0x3,
0x2, 0x2, 0x2, 0xe3, 0xe4, 0x7, 0x30, 0x2, 0x2, 0xe4, 0x1e, 0x3,
0x2, 0x2, 0x2, 0xe5, 0xe6, 0x7, 0x55, 0x2, 0x2, 0xe6, 0xe7, 0x7,
0x76, 0x2, 0x2, 0xe7, 0xe8, 0x7, 0x74, 0x2, 0x2, 0xe8, 0xe9, 0x7,
0x6b, 0x2, 0x2, 0xe9, 0xea, 0x7, 0x70, 0x2, 0x2, 0xea, 0xeb, 0x7,
0x69, 0x2, 0x2, 0xeb, 0x20, 0x3, 0x2, 0x2, 0x2, 0xec, 0xed, 0x7,
0x4b, 0x2, 0x2, 0xed, 0xee, 0x7, 0x70, 0x2, 0x2, 0xee, 0xef, 0x7,
0x76, 0x2, 0x2, 0xef, 0xf0, 0x7, 0x67, 0x2, 0x2, 0xf0, 0xf1, 0x7,
0x69, 0x2, 0x2, 0xf1, 0xf2, 0x7, 0x67, 0x2, 0x2, 0xf2, 0xf3, 0x7,
0x74, 0x2, 0x2, 0xf3, 0x22, 0x3, 0x2, 0x2, 0x2, 0xf4, 0xf5, 0x7,
0x54, 0x2, 0x2, 0xf5, 0xf6, 0x7, 0x67, 0x2, 0x2, 0xf6, 0xf7, 0x7,
0x63, 0x2, 0x2, 0xf7, 0xf8, 0x7, 0x6e, 0x2, 0x2, 0xf8, 0x24, 0x3,
0x2, 0x2, 0x2, 0xf9, 0xfa, 0x7, 0x43, 0x2, 0x2, 0xfa, 0xfb, 0x7,
0x74, 0x2, 0x2, 0xfb, 0xfc, 0x7, 0x6b, 0x2, 0x2, 0xfc, 0xfd, 0x7,
0x76, 0x2, 0x2, 0xfd, 0xfe, 0x7, 0x6a, 0x2, 0x2, 0xfe, 0xff, 0x7,
0x6f, 0x2, 0x2, 0xff, 0x100, 0x7, 0x67, 0x2, 0x2, 0x100, 0x101, 0x7,
0x76, 0x2, 0x2, 0x101, 0x102, 0x7, 0x6b, 0x2, 0x2, 0x102, 0x103,
0x7, 0x65, 0x2, 0x2, 0x103, 0x26, 0x3, 0x2, 0x2, 0x2, 0x104, 0x105,
0x7, 0x56, 0x2, 0x2, 0x105, 0x106, 0x7, 0x7b, 0x2, 0x2, 0x106, 0x107,
0x7, 0x72, 0x2, 0x2, 0x107, 0x108, 0x7, 0x67, 0x2, 0x2, 0x108, 0x28,
0x3, 0x2, 0x2, 0x2, 0x109, 0x10a, 0x7, 0x69, 0x2, 0x2, 0x10a, 0x10b,
0x7, 0x74, 0x2, 0x2, 0x10b, 0x10c, 0x7, 0x71, 0x2, 0x2, 0x10c, 0x10d,
0x7, 0x77, 0x2, 0x2, 0x10d, 0x10e, 0x7, 0x72, 0x2, 0x2, 0x10e, 0x10f,
0x7, 0x2f, 0x2, 0x2, 0x10f, 0x110, 0x7, 0x65, 0x2, 0x2, 0x110, 0x111,
0x7, 0x63, 0x2, 0x2, 0x111, 0x112, 0x7, 0x74, 0x2, 0x2, 0x112, 0x113,
0x7, 0x66, 0x2, 0x2, 0x113, 0x114, 0x7, 0x6b, 0x2, 0x2, 0x114, 0x115,
0x7, 0x70, 0x2, 0x2, 0x115, 0x116, 0x7, 0x63, 0x2, 0x2, 0x116, 0x117,
0x7, 0x6e, 0x2, 0x2, 0x117, 0x118, 0x7, 0x6b, 0x2, 0x2, 0x118, 0x119,
0x7, 0x76, 0x2, 0x2, 0x119, 0x11a, 0x7, 0x7b, 0x2, 0x2, 0x11a, 0x2a,
0x3, 0x2, 0x2, 0x2, 0x11b, 0x11c, 0x7, 0x68, 0x2, 0x2, 0x11c, 0x11d,
0x7, 0x67, 0x2, 0x2, 0x11d, 0x11e, 0x7, 0x63, 0x2, 0x2, 0x11e, 0x11f,
0x7, 0x76, 0x2, 0x2, 0x11f, 0x120, 0x7, 0x77, 0x2, 0x2, 0x120, 0x121,
0x7, 0x74, 0x2, 0x2, 0x121, 0x122, 0x7, 0x67, 0x2, 0x2, 0x122, 0x123,
0x7, 0x2f, 0x2, 0x2, 0x123, 0x124, 0x7, 0x65, 0x2, 0x2, 0x124, 0x125,
0x7, 0x63, 0x2, 0x2, 0x125, 0x126, 0x7, 0x74, 0x2, 0x2, 0x126, 0x127,
0x7, 0x66, 0x2, 0x2, 0x127, 0x128, 0x7, 0x6b, 0x2, 0x2, 0x128, 0x129,
0x7, 0x70, 0x2, 0x2, 0x129, 0x12a, 0x7, 0x63, 0x2, 0x2, 0x12a, 0x12b,
0x7, 0x6e, 0x2, 0x2, 0x12b, 0x12c, 0x7, 0x6b, 0x2, 0x2, 0x12c, 0x12d,
0x7, 0x76, 0x2, 0x2, 0x12d, 0x12e, 0x7, 0x7b, 0x2, 0x2, 0x12e, 0x2c,
0x3, 0x2, 0x2, 0x2, 0x12f, 0x130, 0x7, 0x63, 0x2, 0x2, 0x130, 0x131,
0x7, 0x69, 0x2, 0x2, 0x131, 0x132, 0x7, 0x69, 0x2, 0x2, 0x132, 0x133,
0x7, 0x74, 0x2, 0x2, 0x133, 0x134, 0x7, 0x67, 0x2, 0x2, 0x134, 0x135,
0x7, 0x69, 0x2, 0x2, 0x135, 0x136, 0x7, 0x63, 0x2, 0x2, 0x136, 0x137,
0x7, 0x76, 0x2, 0x2, 0x137, 0x138, 0x7, 0x67, 0x2, 0x2, 0x138, 0x139,
0x7, 0x2f, 0x2, 0x2, 0x139, 0x13a, 0x7, 0x68, 0x2, 0x2, 0x13a, 0x13b,
0x7, 0x77, 0x2, 0x2, 0x13b, 0x13c, 0x7, 0x70, 0x2, 0x2, 0x13c, 0x13d,
0x7, 0x65, 0x2, 0x2, 0x13d, 0x13e, 0x7, 0x76, 0x2, 0x2, 0x13e, 0x13f,
0x7, 0x6b, 0x2, 0x2, 0x13f, 0x140, 0x7, 0x71, 0x2, 0x2, 0x140, 0x141,
0x7, 0x70, 0x2, 0x2, 0x141, 0x2e, 0x3, 0x2, 0x2, 0x2, 0x142, 0x143,
0x7, 0x75, 0x2, 0x2, 0x143, 0x144, 0x7, 0x76, 0x2, 0x2, 0x144, 0x145,
0x7, 0x74, 0x2, 0x2, 0x145, 0x146, 0x7, 0x6b, 0x2, 0x2, 0x146, 0x147,
0x7, 0x70, 0x2, 0x2, 0x147, 0x148, 0x7, 0x69, 0x2, 0x2, 0x148, 0x149,
0x7, 0x2f, 0x2, 0x2, 0x149, 0x14a, 0x7, 0x65, 0x2, 0x2, 0x14a, 0x14b,
0x7, 0x71, 0x2, 0x2, 0x14b, 0x14c, 0x7, 0x70, 0x2, 0x2, 0x14c, 0x14d,
0x7, 0x75, 0x2, 0x2, 0x14d, 0x14e, 0x7, 0x76, 0x2, 0x2, 0x14e, 0x14f,
0x7, 0x74, 0x2, 0x2, 0x14f, 0x150, 0x7, 0x63, 0x2, 0x2, 0x150, 0x151,
0x7, 0x6b, 0x2, 0x2, 0x151, 0x152, 0x7, 0x70, 0x2, 0x2, 0x152, 0x153,
0x7, 0x76, 0x2, 0x2, 0x153, 0x154, 0x7, 0x75, 0x2, 0x2, 0x154, 0x30,
0x3, 0x2, 0x2, 0x2, 0x155, 0x156, 0x7, 0x2a, 0x2, 0x2, 0x156, 0x157,
0x8, 0x19, 0x2, 0x2, 0x157, 0x32, 0x3, 0x2, 0x2, 0x2, 0x158, 0x159,
0x7, 0x2b, 0x2, 0x2, 0x159, 0x15a, 0x8, 0x1a, 0x3, 0x2, 0x15a, 0x34,
0x3, 0x2, 0x2, 0x2, 0x15b, 0x15c, 0x7, 0x5d, 0x2, 0x2, 0x15c, 0x15d,
0x8, 0x1b, 0x4, 0x2, 0x15d, 0x36, 0x3, 0x2, 0x2, 0x2, 0x15e, 0x15f,
0x7, 0x5f, 0x2, 0x2, 0x15f, 0x160, 0x8, 0x1c, 0x5, 0x2, 0x160, 0x38,
0x3, 0x2, 0x2, 0x2, 0x161, 0x162, 0x7, 0x7d, 0x2, 0x2, 0x162, 0x163,
0x8, 0x1d, 0x6, 0x2, 0x163, 0x3a, 0x3, 0x2, 0x2, 0x2, 0x164, 0x165,
0x7, 0x7f, 0x2, 0x2, 0x165, 0x166, 0x8, 0x1e, 0x7, 0x2, 0x166, 0x3c,
0x3, 0x2, 0x2, 0x2, 0x167, 0x168, 0x7, 0x31, 0x2, 0x2, 0x168, 0x169,
0x7, 0x2c, 0x2, 0x2, 0x169, 0x16a, 0x3, 0x2, 0x2, 0x2, 0x16a, 0x16b,
0x8, 0x1f, 0x8, 0x2, 0x16b, 0x3e, 0x3, 0x2, 0x2, 0x2, 0x16c, 0x16d,
0x7, 0x2c, 0x2, 0x2, 0x16d, 0x16e, 0x7, 0x31, 0x2, 0x2, 0x16e, 0x16f,
0x3, 0x2, 0x2, 0x2, 0x16f, 0x170, 0x8, 0x20, 0x9, 0x2, 0x170, 0x40,
0x3, 0x2, 0x2, 0x2, 0x171, 0x172, 0x7, 0x3e, 0x2, 0x2, 0x172, 0x173,
0x7, 0x4b, 0x2, 0x2, 0x173, 0x174, 0x7, 0x50, 0x2, 0x2, 0x174, 0x175,
0x7, 0x46, 0x2, 0x2, 0x175, 0x176, 0x7, 0x47, 0x2, 0x2, 0x176, 0x177,
0x7, 0x50, 0x2, 0x2, 0x177, 0x178, 0x7, 0x56, 0x2, 0x2, 0x178, 0x179,
0x7, 0x40, 0x2, 0x2, 0x179, 0x42, 0x3, 0x2, 0x2, 0x2, 0x17a, 0x17b,
0x7, 0x3e, 0x2, 0x2, 0x17b, 0x17c, 0x7, 0x46, 0x2, 0x2, 0x17c, 0x17d,
0x7, 0x47, 0x2, 0x2, 0x17d, 0x17e, 0x7, 0x46, 0x2, 0x2, 0x17e, 0x17f,
0x7, 0x47, 0x2, 0x2, 0x17f, 0x180, 0x7, 0x50, 0x2, 0x2, 0x180, 0x181,
0x7, 0x56, 0x2, 0x2, 0x181, 0x182, 0x7, 0x40, 0x2, 0x2, 0x182, 0x44,
0x3, 0x2, 0x2, 0x2, 0x183, 0x184, 0x7, 0x71, 0x2, 0x2, 0x184, 0x185,
0x7, 0x74, 0x2, 0x2, 0x185, 0x46, 0x3, 0x2, 0x2, 0x2, 0x186, 0x187,
0x7, 0x63, 0x2, 0x2, 0x187, 0x188, 0x7, 0x6e, 0x2, 0x2, 0x188, 0x189,
0x7, 0x76, 0x2, 0x2, 0x189, 0x18a, 0x7, 0x67, 0x2, 0x2, 0x18a, 0x18b,
0x7, 0x74, 0x2, 0x2, 0x18b, 0x18c, 0x7, 0x70, 0x2, 0x2, 0x18c, 0x18d,
0x7, 0x63, 0x2, 0x2, 0x18d, 0x18e, 0x7, 0x76, 0x2, 0x2, 0x18e, 0x18f,
0x7, 0x6b, 0x2, 0x2, 0x18f, 0x190, 0x7, 0x78, 0x2, 0x2, 0x190, 0x191,
0x7, 0x67, 0x2, 0x2, 0x191, 0x48, 0x3, 0x2, 0x2, 0x2, 0x192, 0x193,
0x7, 0x71, 0x2, 0x2, 0x193, 0x194, 0x7, 0x72, 0x2, 0x2, 0x194, 0x195,
0x7, 0x76, 0x2, 0x2, 0x195, 0x196, 0x7, 0x6b, 0x2, 0x2, 0x196, 0x197,
0x7, 0x71, 0x2, 0x2, 0x197, 0x198, 0x7, 0x70, 0x2, 0x2, 0x198, 0x199,
0x7, 0x63, 0x2, 0x2, 0x199, 0x19a, 0x7, 0x6e, 0x2, 0x2, 0x19a, 0x4a,
0x3, 0x2, 0x2, 0x2, 0x19b, 0x19c, 0x7, 0x6f, 0x2, 0x2, 0x19c, 0x19d,
0x7, 0x63, 0x2, 0x2, 0x19d, 0x19e, 0x7, 0x70, 0x2, 0x2, 0x19e, 0x19f,
0x7, 0x66, 0x2, 0x2, 0x19f, 0x1a0, 0x7, 0x63, 0x2, 0x2, 0x1a0, 0x1a1,
0x7, 0x76, 0x2, 0x2, 0x1a1, 0x1a2, 0x7, 0x71, 0x2, 0x2, 0x1a2, 0x1a3,
0x7, 0x74, 0x2, 0x2, 0x1a3, 0x1a4, 0x7, 0x7b, 0x2, 0x2, 0x1a4, 0x4c,
0x3, 0x2, 0x2, 0x2, 0x1a5, 0x1a6, 0x5, 0x35, 0x1b, 0x2, 0x1a6, 0x1ae,
0x5, 0x6f, 0x38, 0x2, 0x1a7, 0x1a8, 0x7, 0x30, 0x2, 0x2, 0x1a8, 0x1a9,
0x7, 0x30, 0x2, 0x2, 0x1a9, 0x1ac, 0x3, 0x2, 0x2, 0x2, 0x1aa, 0x1ad,
0x5, 0x6f, 0x38, 0x2, 0x1ab, 0x1ad, 0x7, 0x2c, 0x2, 0x2, 0x1ac, 0x1aa,
0x3, 0x2, 0x2, 0x2, 0x1ac, 0x1ab, 0x3, 0x2, 0x2, 0x2, 0x1ad, 0x1af,
0x3, 0x2, 0x2, 0x2, 0x1ae, 0x1a7, 0x3, 0x2, 0x2, 0x2, 0x1ae, 0x1af,
0x3, 0x2, 0x2, 0x2, 0x1af, 0x1b0, 0x3, 0x2, 0x2, 0x2, 0x1b0, 0x1b1,
0x5, 0x37, 0x1c, 0x2, 0x1b1, 0x4e, 0x3, 0x2, 0x2, 0x2, 0x1b2, 0x1b3,
0x7, 0x23, 0x2, 0x2, 0x1b3, 0x50, 0x3, 0x2, 0x2, 0x2, 0x1b4, 0x1b5,
0x7, 0x28, 0x2, 0x2, 0x1b5, 0x52, 0x3, 0x2, 0x2, 0x2, 0x1b6, 0x1b7,
0x7, 0x7e, 0x2, 0x2, 0x1b7, 0x54, 0x3, 0x2, 0x2, 0x2, 0x1b8, 0x1b9,
0x7, 0x3e, 0x2, 0x2, 0x1b9, 0x1ba, 0x7, 0x3f, 0x2, 0x2, 0x1ba, 0x1bb,
0x7, 0x40, 0x2, 0x2, 0x1bb, 0x56, 0x3, 0x2, 0x2, 0x2, 0x1bc, 0x1bd,
0x7, 0x3f, 0x2, 0x2, 0x1bd, 0x1be, 0x7, 0x40, 0x2, 0x2, 0x1be, 0x58,
0x3, 0x2, 0x2, 0x2, 0x1bf, 0x1c0, 0x7, 0x3f, 0x2, 0x2, 0x1c0, 0x1c1,
0x7, 0x3f, 0x2, 0x2, 0x1c1, 0x5a, 0x3, 0x2, 0x2, 0x2, 0x1c2, 0x1c3,
0x7, 0x3e, 0x2, 0x2, 0x1c3, 0x5c, 0x3, 0x2, 0x2, 0x2, 0x1c4, 0x1c5,
0x7, 0x3e, 0x2, 0x2, 0x1c5, 0x1c6, 0x7, 0x3f, 0x2, 0x2, 0x1c6, 0x5e,
0x3, 0x2, 0x2, 0x2, 0x1c7, 0x1c8, 0x7, 0x40, 0x2, 0x2, 0x1c8, 0x60,
0x3, 0x2, 0x2, 0x2, 0x1c9, 0x1ca, 0x7, 0x40, 0x2, 0x2, 0x1ca, 0x1cb,
0x7, 0x3f, 0x2, 0x2, 0x1cb, 0x62, 0x3, 0x2, 0x2, 0x2, 0x1cc, 0x1cd,
0x7, 0x23, 0x2, 0x2, 0x1cd, 0x1ce, 0x7, 0x3f, 0x2, 0x2, 0x1ce, 0x64,
0x3, 0x2, 0x2, 0x2, 0x1cf, 0x1d0, 0x7, 0x31, 0x2, 0x2, 0x1d0, 0x66,
0x3, 0x2, 0x2, 0x2, 0x1d1, 0x1d2, 0x7, 0x2c, 0x2, 0x2, 0x1d2, 0x68,
0x3, 0x2, 0x2, 0x2, 0x1d3, 0x1d4, 0x7, 0x2d, 0x2, 0x2, 0x1d4, 0x6a,
0x3, 0x2, 0x2, 0x2, 0x1d5, 0x1d6, 0x7, 0x2f, 0x2, 0x2, 0x1d6, 0x6c,
0x3, 0x2, 0x2, 0x2, 0x1d7, 0x1d9, 0x7, 0x2f, 0x2, 0x2, 0x1d8, 0x1d7,
0x3, 0x2, 0x2, 0x2, 0x1d8, 0x1d9, 0x3, 0x2, 0x2, 0x2, 0x1d9, 0x1dd,
0x3, 0x2, 0x2, 0x2, 0x1da, 0x1dc, 0x9, 0x2, 0x2, 0x2, 0x1db, 0x1da,
0x3, 0x2, 0x2, 0x2, 0x1dc, 0x1df, 0x3, 0x2, 0x2, 0x2, 0x1dd, 0x1db,
0x3, 0x2, 0x2, 0x2, 0x1dd, 0x1de, 0x3, 0x2, 0x2, 0x2, 0x1de, 0x1e0,
0x3, 0x2, 0x2, 0x2, 0x1df, 0x1dd, 0x3, 0x2, 0x2, 0x2, 0x1e0, 0x1e2,
0x9, 0x3, 0x2, 0x2, 0x1e1, 0x1e3, 0x9, 0x2, 0x2, 0x2, 0x1e2, 0x1e1,
0x3, 0x2, 0x2, 0x2, 0x1e3, 0x1e4, 0x3, 0x2, 0x2, 0x2, 0x1e4, 0x1e2,
0x3, 0x2, 0x2, 0x2, 0x1e4, 0x1e5, 0x3, 0x2, 0x2, 0x2, 0x1e5, 0x6e,
0x3, 0x2, 0x2, 0x2, 0x1e6, 0x1f2, 0x7, 0x32, 0x2, 0x2, 0x1e7, 0x1e9,
0x7, 0x2f, 0x2, 0x2, 0x1e8, 0x1e7, 0x3, 0x2, 0x2, 0x2, 0x1e8, 0x1e9,
0x3, 0x2, 0x2, 0x2, 0x1e9, 0x1ea, 0x3, 0x2, 0x2, 0x2, 0x1ea, 0x1ee,
0x9, 0x4, 0x2, 0x2, 0x1eb, 0x1ed, 0x9, 0x2, 0x2, 0x2, 0x1ec, 0x1eb,
0x3, 0x2, 0x2, 0x2, 0x1ed, 0x1f0, 0x3, 0x2, 0x2, 0x2, 0x1ee, 0x1ec,
0x3, 0x2, 0x2, 0x2, 0x1ee, 0x1ef, 0x3, 0x2, 0x2, 0x2, 0x1ef, 0x1f2,
0x3, 0x2, 0x2, 0x2, 0x1f0, 0x1ee, 0x3, 0x2, 0x2, 0x2, 0x1f1, 0x1e6,
0x3, 0x2, 0x2, 0x2, 0x1f1, 0x1e8, 0x3, 0x2, 0x2, 0x2, 0x1f2, 0x70,
0x3, 0x2, 0x2, 0x2, 0x1f3, 0x1f4, 0x7, 0x76, 0x2, 0x2, 0x1f4, 0x1f5,
0x7, 0x74, 0x2, 0x2, 0x1f5, 0x1f6, 0x7, 0x77, 0x2, 0x2, 0x1f6, 0x1fd,
0x7, 0x67, 0x2, 0x2, 0x1f7, 0x1f8, 0x7, 0x68, 0x2, 0x2, 0x1f8, 0x1f9,
0x7, 0x63, 0x2, 0x2, 0x1f9, 0x1fa, 0x7, 0x6e, 0x2, 0x2, 0x1fa, 0x1fb,
0x7, 0x75, 0x2, 0x2, 0x1fb, 0x1fd, 0x7, 0x67, 0x2, 0x2, 0x1fc, 0x1f3,
0x3, 0x2, 0x2, 0x2, 0x1fc, 0x1f7, 0x3, 0x2, 0x2, 0x2, 0x1fd, 0x72,
0x3, 0x2, 0x2, 0x2, 0x1fe, 0x1ff, 0x7, 0x44, 0x2, 0x2, 0x1ff, 0x200,
0x7, 0x71, 0x2, 0x2, 0x200, 0x201, 0x7, 0x71, 0x2, 0x2, 0x201, 0x202,
0x7, 0x6e, 0x2, 0x2, 0x202, 0x203, 0x7, 0x67, 0x2, 0x2, 0x203, 0x204,
0x7, 0x63, 0x2, 0x2, 0x204, 0x205, 0x7, 0x70, 0x2, 0x2, 0x205, 0x74,
0x3, 0x2, 0x2, 0x2, 0x206, 0x207, 0x7, 0x2e, 0x2, 0x2, 0x207, 0x76,
0x3, 0x2, 0x2, 0x2, 0x208, 0x20a, 0x7, 0x24, 0x2, 0x2, 0x209, 0x20b,
0xa, 0x5, 0x2, 0x2, 0x20a, 0x209, 0x3, 0x2, 0x2, 0x2, 0x20b, 0x20c,
0x3, 0x2, 0x2, 0x2, 0x20c, 0x20a, 0x3, 0x2, 0x2, 0x2, 0x20c, 0x20d,
0x3, 0x2, 0x2, 0x2, 0x20d, 0x20e, 0x3, 0x2, 0x2, 0x2, 0x20e, 0x20f,
0x7, 0x24, 0x2, 0x2, 0x20f, 0x78, 0x3, 0x2, 0x2, 0x2, 0x210, 0x214,
0x9, 0x6, 0x2, 0x2, 0x211, 0x213, 0x9, 0x7, 0x2, 0x2, 0x212, 0x211,
0x3, 0x2, 0x2, 0x2, 0x213, 0x216, 0x3, 0x2, 0x2, 0x2, 0x214, 0x212,
0x3, 0x2, 0x2, 0x2, 0x214, 0x215, 0x3, 0x2, 0x2, 0x2, 0x215, 0x7a,
0x3, 0x2, 0x2, 0x2, 0x216, 0x214, 0x3, 0x2, 0x2, 0x2, 0x217, 0x219,
0x7, 0x29, 0x2, 0x2, 0x218, 0x21a, 0xa, 0x8, 0x2, 0x2, 0x219, 0x218,
0x3, 0x2, 0x2, 0x2, 0x21a, 0x21b, 0x3, 0x2, 0x2, 0x2, 0x21b, 0x219,
0x3, 0x2, 0x2, 0x2, 0x21b, 0x21c, 0x3, 0x2, 0x2, 0x2, 0x21c, 0x21d,
0x3, 0x2, 0x2, 0x2, 0x21d, 0x21e, 0x7, 0x29, 0x2, 0x2, 0x21e, 0x7c,
0x3, 0x2, 0x2, 0x2, 0x21f, 0x222, 0x5, 0x81, 0x41, 0x2, 0x220, 0x222,
0x5, 0x7f, 0x40, 0x2, 0x221, 0x21f, 0x3, 0x2, 0x2, 0x2, 0x221, 0x220,
0x3, 0x2, 0x2, 0x2, 0x222, 0x223, 0x3, 0x2, 0x2, 0x2, 0x223, 0x224,
0x8, 0x3f, 0xa, 0x2, 0x224, 0x7e, 0x3, 0x2, 0x2, 0x2, 0x225, 0x226,
0x7, 0x31, 0x2, 0x2, 0x226, 0x227, 0x7, 0x31, 0x2, 0x2, 0x227, 0x22b,
0x3, 0x2, 0x2, 0x2, 0x228, 0x22a, 0xa, 0x9, 0x2, 0x2, 0x229, 0x228,
0x3, 0x2, 0x2, 0x2, 0x22a, 0x22d, 0x3, 0x2, 0x2, 0x2, 0x22b, 0x229,
0x3, 0x2, 0x2, 0x2, 0x22b, 0x22c, 0x3, 0x2, 0x2, 0x2, 0x22c, 0x238,
0x3, 0x2, 0x2, 0x2, 0x22d, 0x22b, 0x3, 0x2, 0x2, 0x2, 0x22e, 0x232,
0x5, 0x3d, 0x1f, 0x2, 0x22f, 0x231, 0xb, 0x2, 0x2, 0x2, 0x230, 0x22f,
0x3, 0x2, 0x2, 0x2, 0x231, 0x234, 0x3, 0x2, 0x2, 0x2, 0x232, 0x230,
0x3, 0x2, 0x2, 0x2, 0x232, 0x233, 0x3, 0x2, 0x2, 0x2, 0x233, 0x235,
0x3, 0x2, 0x2, 0x2, 0x234, 0x232, 0x3, 0x2, 0x2, 0x2, 0x235, 0x236,
0x5, 0x3f, 0x20, 0x2, 0x236, 0x238, 0x3, 0x2, 0x2, 0x2, 0x237, 0x225,
0x3, 0x2, 0x2, 0x2, 0x237, 0x22e, 0x3, 0x2, 0x2, 0x2, 0x238, 0x80,
0x3, 0x2, 0x2, 0x2, 0x239, 0x23b, 0x9, 0xa, 0x2, 0x2, 0x23a, 0x239,
0x3, 0x2, 0x2, 0x2, 0x23b, 0x23c, 0x3, 0x2, 0x2, 0x2, 0x23c, 0x23a,
0x3, 0x2, 0x2, 0x2, 0x23c, 0x23d, 0x3, 0x2, 0x2, 0x2, 0x23d, 0x82,
0x3, 0x2, 0x2, 0x2, 0x15, 0x2, 0x1ac, 0x1ae, 0x1d8, 0x1dd, 0x1e4,
0x1e8, 0x1ee, 0x1f1, 0x1fc, 0x20c, 0x212, 0x214, 0x21b, 0x221, 0x22b,
0x232, 0x237, 0x23c, 0xb, 0x3, 0x19, 0x2, 0x3, 0x1a, 0x3, 0x3, 0x1b,
0x4, 0x3, 0x1c, 0x5, 0x3, 0x1d, 0x6, 0x3, 0x1e, 0x7, 0x3, 0x1f, 0x8,
0x3, 0x20, 0x9, 0x8, 0x2, 0x2,


[clang-format] reported by reviewdog 🐶

serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));


[clang-format] reported by reviewdog 🐶

for (size_t i = 0; i < count; i++) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class UVLcppLexer : public antlr4::Lexer {


[clang-format] reported by reviewdog 🐶

T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7,
T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14,
T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20,
T__20 = 21, T__21 = 22, T__22 = 23, OPEN_PAREN = 24, CLOSE_PAREN = 25,
OPEN_BRACK = 26, CLOSE_BRACK = 27, OPEN_BRACE = 28, CLOSE_BRACE = 29,
OPEN_COMMENT = 30, CLOSE_COMMENT = 31, INDENT = 32, DEDENT = 33, ORGROUP = 34,
ALTERNATIVE = 35, OPTIONAL = 36, MANDATORY = 37, CARDINALITY = 38, NOT = 39,
AND = 40, OR = 41, EQUIVALENCE = 42, IMPLICATION = 43, EQUAL = 44, LOWER = 45,
LOWER_EQUALS = 46, GREATER = 47, GREATER_EQUALS = 48, NOT_EQUALS = 49,
DIV = 50, MUL = 51, ADD = 52, SUB = 53, FLOAT = 54, INTEGER = 55, BOOLEAN = 56,
BOOLEAN_KEY = 57, COMMA = 58, ID_NOT_STRICT = 59, ID_STRICT = 60, STRING = 61,


[clang-format] reported by reviewdog 🐶

virtual const std::vector<std::string>& getRuleNames() const override;


[clang-format] reported by reviewdog 🐶

virtual const std::vector<std::string>& getChannelNames() const override;
virtual const std::vector<std::string>& getModeNames() const override;
virtual const std::vector<std::string>& getTokenNames() const override; // deprecated, use vocabulary instead
virtual antlr4::dfa::Vocabulary& getVocabulary() const override;


[clang-format] reported by reviewdog 🐶

virtual const antlr4::atn::ATN& getATN() const override;


[clang-format] reported by reviewdog 🐶

virtual void action(antlr4::RuleContext *context, size_t ruleIndex, size_t actionIndex) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

_interpreter = new atn::ParserATNSimulator(this, _atn, _decisionToDFA, _sharedContextCache);


[clang-format] reported by reviewdog 🐶

UVLcppParser::~UVLcppParser() {
delete _interpreter;
}


[clang-format] reported by reviewdog 🐶

std::string UVLcppParser::getGrammarFileName() const {
return "UVLcpp.g4";
}


[clang-format] reported by reviewdog 🐶

const std::vector<std::string>& UVLcppParser::getRuleNames() const {


[clang-format] reported by reviewdog 🐶

dfa::Vocabulary& UVLcppParser::getVocabulary() const {
return _vocabulary;
}


[clang-format] reported by reviewdog 🐶

//----------------- FeatureModelContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureModelContext::FeatureModelContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureModelContext::EOF() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::NamespaceContext* UVLcppParser::FeatureModelContext::namespace() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureModelContext::NEWLINE(size_t i) {


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludesContext* UVLcppParser::FeatureModelContext::includes() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportsContext* UVLcppParser::FeatureModelContext::imports() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeaturesContext* UVLcppParser::FeatureModelContext::features() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintsContext* UVLcppParser::FeatureModelContext::constraints() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FeatureModelContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureModelContext* UVLcppParser::featureModel() {
FeatureModelContext *_localctx = _tracker.createInstance<FeatureModelContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 1, _ctx)) {


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 3, _ctx)) {


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 5, _ctx)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- IncludesContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludesContext::IncludesContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IncludesContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IncludesContext::INDENT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IncludesContext::DEDENT() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::IncludeLineContext *> UVLcppParser::IncludesContext::includeLine() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludeLineContext* UVLcppParser::IncludesContext::includeLine(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::IncludesContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludesContext* UVLcppParser::includes() {
IncludesContext *_localctx = _tracker.createInstance<IncludesContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

while ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__17)
| (1ULL << UVLcppParser::T__18)
| (1ULL << UVLcppParser::BOOLEAN_KEY))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- IncludeLineContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludeLineContext::IncludeLineContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::LanguageLevelContext* UVLcppParser::IncludeLineContext::languageLevel() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IncludeLineContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::IncludeLineContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::IncludeLineContext* UVLcppParser::includeLine() {
IncludeLineContext *_localctx = _tracker.createInstance<IncludeLineContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- NamespaceContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::NamespaceContext::NamespaceContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::NamespaceContext::reference() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::NamespaceContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::NamespaceContext* UVLcppParser::namespace() {
NamespaceContext *_localctx = _tracker.createInstance<NamespaceContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ImportsContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportsContext::ImportsContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ImportsContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ImportsContext::INDENT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ImportsContext::DEDENT() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ImportLineContext *> UVLcppParser::ImportsContext::importLine() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportLineContext* UVLcppParser::ImportsContext::importLine(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ImportsContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportsContext* UVLcppParser::imports() {
ImportsContext *_localctx = _tracker.createInstance<ImportsContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

|| _la == UVLcppParser::ID_STRICT) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ImportLineContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportLineContext::ImportLineContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ImportLineContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ReferenceContext *> UVLcppParser::ImportLineContext::reference() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::ImportLineContext::reference(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ImportLineContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImportLineContext* UVLcppParser::importLine() {
ImportLineContext *_localctx = _tracker.createInstance<ImportLineContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- FeaturesContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeaturesContext::FeaturesContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeaturesContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeaturesContext::INDENT() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureContext* UVLcppParser::FeaturesContext::feature() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeaturesContext::DEDENT() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FeaturesContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeaturesContext* UVLcppParser::features() {
FeaturesContext *_localctx = _tracker.createInstance<FeaturesContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- GroupContext ------------------------------------------------------------------
UVLcppParser::GroupContext::GroupContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

//----------------- AlternativeGroupContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AlternativeGroupContext::ALTERNATIVE() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::AlternativeGroupContext::groupSpec() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AlternativeGroupContext::AlternativeGroupContext(GroupContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AlternativeGroupContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- OptionalGroupContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::OptionalGroupContext::OPTIONAL() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::OptionalGroupContext::groupSpec() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::OptionalGroupContext::OptionalGroupContext(GroupContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::OptionalGroupContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- MandatoryGroupContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::MandatoryGroupContext::MANDATORY() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::MandatoryGroupContext::groupSpec() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::MandatoryGroupContext::MandatoryGroupContext(GroupContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::MandatoryGroupContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- CardinalityGroupContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::CardinalityGroupContext::CARDINALITY() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::CardinalityGroupContext::groupSpec() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::CardinalityGroupContext::CardinalityGroupContext(GroupContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::CardinalityGroupContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- OrGroupContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::OrGroupContext::ORGROUP() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::OrGroupContext::groupSpec() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::OrGroupContext::OrGroupContext(GroupContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::OrGroupContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupContext* UVLcppParser::group() {
GroupContext *_localctx = _tracker.createInstance<GroupContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::ORGROUP: {
_localctx = dynamic_cast<GroupContext *>(_tracker.createInstance<UVLcppParser::OrGroupContext>(_localctx));
enterOuterAlt(_localctx, 1);
setState(136);
match(UVLcppParser::ORGROUP);
setState(137);
groupSpec();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::ALTERNATIVE: {
_localctx = dynamic_cast<GroupContext *>(_tracker.createInstance<UVLcppParser::AlternativeGroupContext>(_localctx));
enterOuterAlt(_localctx, 2);
setState(138);
match(UVLcppParser::ALTERNATIVE);
setState(139);
groupSpec();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::OPTIONAL: {
_localctx = dynamic_cast<GroupContext *>(_tracker.createInstance<UVLcppParser::OptionalGroupContext>(_localctx));
enterOuterAlt(_localctx, 3);
setState(140);
match(UVLcppParser::OPTIONAL);
setState(141);
groupSpec();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::MANDATORY: {
_localctx = dynamic_cast<GroupContext *>(_tracker.createInstance<UVLcppParser::MandatoryGroupContext>(_localctx));
enterOuterAlt(_localctx, 4);
setState(142);
match(UVLcppParser::MANDATORY);
setState(143);
groupSpec();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::CARDINALITY: {
_localctx = dynamic_cast<GroupContext *>(_tracker.createInstance<UVLcppParser::CardinalityGroupContext>(_localctx));
enterOuterAlt(_localctx, 5);
setState(144);
match(UVLcppParser::CARDINALITY);
setState(145);
groupSpec();
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- GroupSpecContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext::GroupSpecContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::GroupSpecContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::GroupSpecContext::INDENT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::GroupSpecContext::DEDENT() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::FeatureContext *> UVLcppParser::GroupSpecContext::feature() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureContext* UVLcppParser::GroupSpecContext::feature(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::GroupSpecContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupSpecContext* UVLcppParser::groupSpec() {
GroupSpecContext *_localctx = _tracker.createInstance<GroupSpecContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

} while ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__14)
| (1ULL << UVLcppParser::T__15)
| (1ULL << UVLcppParser::T__16)
| (1ULL << UVLcppParser::BOOLEAN_KEY)
| (1ULL << UVLcppParser::ID_NOT_STRICT)
| (1ULL << UVLcppParser::ID_STRICT))) != 0));


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- FeatureContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureContext::FeatureContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::FeatureContext::reference() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureTypeContext* UVLcppParser::FeatureContext::featureType() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureCardinalityContext* UVLcppParser::FeatureContext::featureCardinality() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributesContext* UVLcppParser::FeatureContext::attributes() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureContext::INDENT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureContext::DEDENT() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::GroupContext *> UVLcppParser::FeatureContext::group() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GroupContext* UVLcppParser::FeatureContext::group(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FeatureContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureContext* UVLcppParser::feature() {
FeatureContext *_localctx = _tracker.createInstance<FeatureContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__14)
| (1ULL << UVLcppParser::T__15)
| (1ULL << UVLcppParser::T__16)
| (1ULL << UVLcppParser::BOOLEAN_KEY))) != 0)) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

} while ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::ORGROUP)
| (1ULL << UVLcppParser::ALTERNATIVE)
| (1ULL << UVLcppParser::OPTIONAL)
| (1ULL << UVLcppParser::MANDATORY)
| (1ULL << UVLcppParser::CARDINALITY))) != 0));


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- FeatureCardinalityContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureCardinalityContext::FeatureCardinalityContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureCardinalityContext::CARDINALITY() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FeatureCardinalityContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureCardinalityContext* UVLcppParser::featureCardinality() {
FeatureCardinalityContext *_localctx = _tracker.createInstance<FeatureCardinalityContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- AttributesContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributesContext::AttributesContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AttributesContext::OPEN_BRACE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AttributesContext::CLOSE_BRACE() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::AttributeContext *> UVLcppParser::AttributesContext::attribute() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributeContext* UVLcppParser::AttributesContext::attribute(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AttributesContext::COMMA(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AttributesContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributesContext* UVLcppParser::attributes() {
AttributesContext *_localctx = _tracker.createInstance<AttributesContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__6)
| (1ULL << UVLcppParser::T__7)
| (1ULL << UVLcppParser::ID_NOT_STRICT)
| (1ULL << UVLcppParser::ID_STRICT))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- AttributeContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributeContext::AttributeContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueAttributeContext* UVLcppParser::AttributeContext::valueAttribute() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintAttributeContext* UVLcppParser::AttributeContext::constraintAttribute() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AttributeContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributeContext* UVLcppParser::attribute() {
AttributeContext *_localctx = _tracker.createInstance<AttributeContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::ID_NOT_STRICT:
case UVLcppParser::ID_STRICT: {
enterOuterAlt(_localctx, 1);
setState(194);
valueAttribute();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__6:
case UVLcppParser::T__7: {
enterOuterAlt(_localctx, 2);
setState(195);
constraintAttribute();
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ValueAttributeContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueAttributeContext::ValueAttributeContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::KeyContext* UVLcppParser::ValueAttributeContext::key() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueContext* UVLcppParser::ValueAttributeContext::value() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ValueAttributeContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueAttributeContext* UVLcppParser::valueAttribute() {
ValueAttributeContext *_localctx = _tracker.createInstance<ValueAttributeContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::OPEN_BRACK)
| (1ULL << UVLcppParser::OPEN_BRACE)
| (1ULL << UVLcppParser::FLOAT)
| (1ULL << UVLcppParser::INTEGER)
| (1ULL << UVLcppParser::BOOLEAN)
| (1ULL << UVLcppParser::STRING))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- KeyContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::KeyContext::KeyContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::IdContext* UVLcppParser::KeyContext::id() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::KeyContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::KeyContext* UVLcppParser::key() {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ValueContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueContext::ValueContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ValueContext::BOOLEAN() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ValueContext::FLOAT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ValueContext::INTEGER() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ValueContext::STRING() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AttributesContext* UVLcppParser::ValueContext::attributes() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::VectorContext* UVLcppParser::ValueContext::vector() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ValueContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueContext* UVLcppParser::value() {
ValueContext *_localctx = _tracker.createInstance<ValueContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::BOOLEAN: {
enterOuterAlt(_localctx, 1);
setState(204);
match(UVLcppParser::BOOLEAN);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::FLOAT: {
enterOuterAlt(_localctx, 2);
setState(205);
match(UVLcppParser::FLOAT);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::INTEGER: {
enterOuterAlt(_localctx, 3);
setState(206);
match(UVLcppParser::INTEGER);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::STRING: {
enterOuterAlt(_localctx, 4);
setState(207);
match(UVLcppParser::STRING);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::OPEN_BRACE: {
enterOuterAlt(_localctx, 5);
setState(208);
attributes();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::OPEN_BRACK: {
enterOuterAlt(_localctx, 6);
setState(209);
vector();
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- VectorContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::VectorContext::VectorContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::VectorContext::OPEN_BRACK() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::VectorContext::CLOSE_BRACK() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ValueContext* UVLcppParser::VectorContext::value(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::VectorContext::COMMA(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::VectorContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::VectorContext* UVLcppParser::vector() {
VectorContext *_localctx = _tracker.createInstance<VectorContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::OPEN_BRACK)
| (1ULL << UVLcppParser::OPEN_BRACE)
| (1ULL << UVLcppParser::FLOAT)
| (1ULL << UVLcppParser::INTEGER)
| (1ULL << UVLcppParser::BOOLEAN)
| (1ULL << UVLcppParser::STRING))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ConstraintAttributeContext ------------------------------------------------------------------
UVLcppParser::ConstraintAttributeContext::ConstraintAttributeContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

void UVLcppParser::ConstraintAttributeContext::copyFrom(ConstraintAttributeContext *ctx) {


[clang-format] reported by reviewdog 🐶

//----------------- ListConstraintAttributeContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintListContext* UVLcppParser::ListConstraintAttributeContext::constraintList() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ListConstraintAttributeContext::ListConstraintAttributeContext(ConstraintAttributeContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ListConstraintAttributeContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- SingleConstraintAttributeContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::SingleConstraintAttributeContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::SingleConstraintAttributeContext::SingleConstraintAttributeContext(ConstraintAttributeContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::SingleConstraintAttributeContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintAttributeContext* UVLcppParser::constraintAttribute() {
ConstraintAttributeContext *_localctx = _tracker.createInstance<ConstraintAttributeContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__6: {
_localctx = dynamic_cast<ConstraintAttributeContext *>(_tracker.createInstance<UVLcppParser::SingleConstraintAttributeContext>(_localctx));
enterOuterAlt(_localctx, 1);
setState(225);
match(UVLcppParser::T__6);
setState(226);
constraint(0);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__7: {
_localctx = dynamic_cast<ConstraintAttributeContext *>(_tracker.createInstance<UVLcppParser::ListConstraintAttributeContext>(_localctx));
enterOuterAlt(_localctx, 2);
setState(227);
match(UVLcppParser::T__7);
setState(228);
constraintList();
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ConstraintListContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintListContext::ConstraintListContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintListContext::OPEN_BRACK() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintListContext::CLOSE_BRACK() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintContext *> UVLcppParser::ConstraintListContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::ConstraintListContext::constraint(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintListContext::COMMA(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ConstraintListContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintListContext* UVLcppParser::constraintList() {
ConstraintListContext *_localctx = _tracker.createInstance<ConstraintListContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__8)
| (1ULL << UVLcppParser::T__9)
| (1ULL << UVLcppParser::T__10)
| (1ULL << UVLcppParser::T__11)
| (1ULL << UVLcppParser::T__12)
| (1ULL << UVLcppParser::OPEN_PAREN)
| (1ULL << UVLcppParser::NOT)
| (1ULL << UVLcppParser::FLOAT)
| (1ULL << UVLcppParser::INTEGER)
| (1ULL << UVLcppParser::ID_NOT_STRICT)
| (1ULL << UVLcppParser::ID_STRICT)
| (1ULL << UVLcppParser::STRING))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ConstraintsContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintsContext::ConstraintsContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintsContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintsContext::INDENT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintsContext::DEDENT() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintLineContext *> UVLcppParser::ConstraintsContext::constraintLine() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintLineContext* UVLcppParser::ConstraintsContext::constraintLine(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ConstraintsContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintsContext* UVLcppParser::constraints() {
ConstraintsContext *_localctx = _tracker.createInstance<ConstraintsContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

while ((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__8)
| (1ULL << UVLcppParser::T__9)
| (1ULL << UVLcppParser::T__10)
| (1ULL << UVLcppParser::T__11)
| (1ULL << UVLcppParser::T__12)
| (1ULL << UVLcppParser::OPEN_PAREN)
| (1ULL << UVLcppParser::NOT)
| (1ULL << UVLcppParser::FLOAT)
| (1ULL << UVLcppParser::INTEGER)
| (1ULL << UVLcppParser::ID_NOT_STRICT)
| (1ULL << UVLcppParser::ID_STRICT)
| (1ULL << UVLcppParser::STRING))) != 0)) {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ConstraintLineContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintLineContext::ConstraintLineContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::ConstraintLineContext::constraint() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ConstraintLineContext::NEWLINE() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ConstraintLineContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintLineContext* UVLcppParser::constraintLine() {
ConstraintLineContext *_localctx = _tracker.createInstance<ConstraintLineContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ConstraintContext ------------------------------------------------------------------
UVLcppParser::ConstraintContext::ConstraintContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

//----------------- OrConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintContext *> UVLcppParser::OrConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::OrConstraintContext::constraint(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::OrConstraintContext::OR() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::OrConstraintContext::OrConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::OrConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- EquationConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::EquationContext* UVLcppParser::EquationConstraintContext::equation() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::EquationConstraintContext::EquationConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::EquationConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- LiteralConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::LiteralConstraintContext::reference() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::LiteralConstraintContext::LiteralConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LiteralConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- ParenthesisConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ParenthesisConstraintContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::ParenthesisConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ParenthesisConstraintContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ParenthesisConstraintContext::ParenthesisConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ParenthesisConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- NotConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::NotConstraintContext::NOT() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::NotConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::NotConstraintContext::NotConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::NotConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- AndConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintContext *> UVLcppParser::AndConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::AndConstraintContext::constraint(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AndConstraintContext::AND() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AndConstraintContext::AndConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AndConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- EquivalenceConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintContext *> UVLcppParser::EquivalenceConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::EquivalenceConstraintContext::constraint(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::EquivalenceConstraintContext::EQUIVALENCE() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::EquivalenceConstraintContext::EquivalenceConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::EquivalenceConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- ImplicationConstraintContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ConstraintContext *> UVLcppParser::ImplicationConstraintContext::constraint() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::ImplicationConstraintContext::constraint(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::ImplicationConstraintContext::IMPLICATION() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ImplicationConstraintContext::ImplicationConstraintContext(ConstraintContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ImplicationConstraintContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::constraint() {
return constraint(0);


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext* UVLcppParser::constraint(int precedence) {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ConstraintContext *_localctx = _tracker.createInstance<ConstraintContext>(_ctx, parentState);


[clang-format] reported by reviewdog 🐶

(void)previousContext; // Silence compiler, in case the context is not used by generated code.


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 30, _ctx)) {


[clang-format] reported by reviewdog 🐶

_localctx = _tracker.createInstance<ParenthesisConstraintContext>(_localctx);


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 32, _ctx);


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 31, _ctx)) {


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<AndConstraintContext>(_tracker.createInstance<ConstraintContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 4))) throw FailedPredicateException(this, "precpred(_ctx, 4)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<OrConstraintContext>(_tracker.createInstance<ConstraintContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<ImplicationConstraintContext>(_tracker.createInstance<ConstraintContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<EquivalenceConstraintContext>(_tracker.createInstance<ConstraintContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 1))) throw FailedPredicateException(this, "precpred(_ctx, 1)");


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 32, _ctx);


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- EquationContext ------------------------------------------------------------------
UVLcppParser::EquationContext::EquationContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

//----------------- EqualEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::EqualEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::EqualEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::EqualEquationContext::EQUAL() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::EqualEquationContext::EqualEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::EqualEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- LowerEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::LowerEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::LowerEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::LowerEquationContext::LOWER() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::LowerEquationContext::LowerEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LowerEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- LowerEqualsEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::LowerEqualsEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::LowerEqualsEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::LowerEqualsEquationContext::LOWER_EQUALS() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::LowerEqualsEquationContext::LowerEqualsEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LowerEqualsEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- GreaterEqualsEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::GreaterEqualsEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::GreaterEqualsEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::GreaterEqualsEquationContext::GREATER_EQUALS() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GreaterEqualsEquationContext::GreaterEqualsEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::GreaterEqualsEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- GreaterEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::GreaterEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::GreaterEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::GreaterEquationContext::GREATER() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::GreaterEquationContext::GreaterEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::GreaterEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- NotEqualsEquationContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::NotEqualsEquationContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::NotEqualsEquationContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::NotEqualsEquationContext::NOT_EQUALS() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::NotEqualsEquationContext::NotEqualsEquationContext(EquationContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::NotEqualsEquationContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::EquationContext* UVLcppParser::equation() {
EquationContext *_localctx = _tracker.createInstance<EquationContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 33, _ctx)) {


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::EqualEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::LowerEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::GreaterEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::LowerEqualsEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::GreaterEqualsEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<EquationContext *>(_tracker.createInstance<UVLcppParser::NotEqualsEquationContext>(_localctx));


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ExpressionContext ------------------------------------------------------------------
UVLcppParser::ExpressionContext::ExpressionContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

//----------------- BracketExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::BracketExpressionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::BracketExpressionContext::expression() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::BracketExpressionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::BracketExpressionContext::BracketExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::BracketExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- AggregateFunctionExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::AggregateFunctionContext* UVLcppParser::AggregateFunctionExpressionContext::aggregateFunction() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AggregateFunctionExpressionContext::AggregateFunctionExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AggregateFunctionExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- FloatLiteralExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FloatLiteralExpressionContext::FLOAT() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FloatLiteralExpressionContext::FloatLiteralExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FloatLiteralExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- StringLiteralExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::StringLiteralExpressionContext::STRING() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::StringLiteralExpressionContext::StringLiteralExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::StringLiteralExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- AddExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::AddExpressionContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::AddExpressionContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AddExpressionContext::ADD() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AddExpressionContext::AddExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AddExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- IntegerLiteralExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IntegerLiteralExpressionContext::INTEGER() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::IntegerLiteralExpressionContext::IntegerLiteralExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::IntegerLiteralExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- LiteralExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::LiteralExpressionContext::reference() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::LiteralExpressionContext::LiteralExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LiteralExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- DivExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::DivExpressionContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::DivExpressionContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::DivExpressionContext::DIV() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::DivExpressionContext::DivExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::DivExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- SubExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::SubExpressionContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::SubExpressionContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::SubExpressionContext::SUB() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::SubExpressionContext::SubExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::SubExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- MulExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ExpressionContext *> UVLcppParser::MulExpressionContext::expression() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::MulExpressionContext::expression(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::MulExpressionContext::MUL() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::MulExpressionContext::MulExpressionContext(ExpressionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::MulExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::expression() {
return expression(0);


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext* UVLcppParser::expression(int precedence) {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ExpressionContext *_localctx = _tracker.createInstance<ExpressionContext>(_ctx, parentState);


[clang-format] reported by reviewdog 🐶

(void)previousContext; // Silence compiler, in case the context is not used by generated code.


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

case UVLcppParser::FLOAT: {
_localctx = _tracker.createInstance<FloatLiteralExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;


[clang-format] reported by reviewdog 🐶

setState(313);
match(UVLcppParser::FLOAT);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::INTEGER: {
_localctx = _tracker.createInstance<IntegerLiteralExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;
setState(314);
match(UVLcppParser::INTEGER);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::STRING: {
_localctx = _tracker.createInstance<StringLiteralExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;
setState(315);
match(UVLcppParser::STRING);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__8:
case UVLcppParser::T__9:
case UVLcppParser::T__10:
case UVLcppParser::T__11:
case UVLcppParser::T__12: {
_localctx = _tracker.createInstance<AggregateFunctionExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;
setState(316);
aggregateFunction();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::ID_NOT_STRICT:
case UVLcppParser::ID_STRICT: {
_localctx = _tracker.createInstance<LiteralExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;
setState(317);
reference();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::OPEN_PAREN: {
_localctx = _tracker.createInstance<BracketExpressionContext>(_localctx);
_ctx = _localctx;
previousContext = _localctx;
setState(318);
match(UVLcppParser::OPEN_PAREN);
setState(319);
expression(0);
setState(320);
match(UVLcppParser::CLOSE_PAREN);
break;
}


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 36, _ctx);


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 35, _ctx)) {


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<AddExpressionContext>(_tracker.createInstance<ExpressionContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 4))) throw FailedPredicateException(this, "precpred(_ctx, 4)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<SubExpressionContext>(_tracker.createInstance<ExpressionContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 3))) throw FailedPredicateException(this, "precpred(_ctx, 3)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<MulExpressionContext>(_tracker.createInstance<ExpressionContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 2))) throw FailedPredicateException(this, "precpred(_ctx, 2)");


[clang-format] reported by reviewdog 🐶

auto newContext = _tracker.createInstance<DivExpressionContext>(_tracker.createInstance<ExpressionContext>(parentContext, parentState));


[clang-format] reported by reviewdog 🐶

if (!(precpred(_ctx, 1))) throw FailedPredicateException(this, "precpred(_ctx, 1)");


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 36, _ctx);


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- AggregateFunctionContext ------------------------------------------------------------------
UVLcppParser::AggregateFunctionContext::AggregateFunctionContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

void UVLcppParser::AggregateFunctionContext::copyFrom(AggregateFunctionContext *ctx) {


[clang-format] reported by reviewdog 🐶

//----------------- AvgAggregateFunctionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AvgAggregateFunctionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ReferenceContext *> UVLcppParser::AvgAggregateFunctionContext::reference() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::AvgAggregateFunctionContext::reference(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AvgAggregateFunctionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::AvgAggregateFunctionContext::COMMA() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::AvgAggregateFunctionContext::AvgAggregateFunctionContext(AggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::AvgAggregateFunctionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- NumericAggregateFunctionExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::NumericAggregateFunctionContext* UVLcppParser::NumericAggregateFunctionExpressionContext::numericAggregateFunction() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::NumericAggregateFunctionExpressionContext::NumericAggregateFunctionExpressionContext(AggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::NumericAggregateFunctionExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- SumAggregateFunctionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::SumAggregateFunctionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

std::vector<UVLcppParser::ReferenceContext *> UVLcppParser::SumAggregateFunctionContext::reference() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::SumAggregateFunctionContext::reference(size_t i) {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::SumAggregateFunctionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::SumAggregateFunctionContext::COMMA() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::SumAggregateFunctionContext::SumAggregateFunctionContext(AggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::SumAggregateFunctionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- StringAggregateFunctionExpressionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::StringAggregateFunctionContext* UVLcppParser::StringAggregateFunctionExpressionContext::stringAggregateFunction() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::StringAggregateFunctionExpressionContext::StringAggregateFunctionExpressionContext(AggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::StringAggregateFunctionExpressionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::AggregateFunctionContext* UVLcppParser::aggregateFunction() {
AggregateFunctionContext *_localctx = _tracker.createInstance<AggregateFunctionContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__8: {
_localctx = dynamic_cast<AggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::SumAggregateFunctionContext>(_localctx));
enterOuterAlt(_localctx, 1);
setState(341);
match(UVLcppParser::T__8);
setState(342);
match(UVLcppParser::OPEN_PAREN);
setState(346);
_errHandler->sync(this);
switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 37, _ctx)) {
case 1: {
setState(343);
reference();
setState(344);
match(UVLcppParser::COMMA);
break;
}


[clang-format] reported by reviewdog 🐶

default:
break;
}
setState(348);


[clang-format] reported by reviewdog 🐶

setState(349);
match(UVLcppParser::CLOSE_PAREN);


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__9: {
_localctx = dynamic_cast<AggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::AvgAggregateFunctionContext>(_localctx));
enterOuterAlt(_localctx, 2);
setState(351);
match(UVLcppParser::T__9);
setState(352);
match(UVLcppParser::OPEN_PAREN);
setState(356);
_errHandler->sync(this);


[clang-format] reported by reviewdog 🐶

switch (getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 38, _ctx)) {
case 1: {
setState(353);
reference();
setState(354);
match(UVLcppParser::COMMA);
break;
}


[clang-format] reported by reviewdog 🐶

default:
break;
}
setState(358);


[clang-format] reported by reviewdog 🐶

setState(359);
match(UVLcppParser::CLOSE_PAREN);


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__10: {
_localctx = dynamic_cast<AggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::StringAggregateFunctionExpressionContext>(_localctx));
enterOuterAlt(_localctx, 3);
setState(361);
stringAggregateFunction();


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__11:
case UVLcppParser::T__12: {
_localctx = dynamic_cast<AggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::NumericAggregateFunctionExpressionContext>(_localctx));
enterOuterAlt(_localctx, 4);
setState(362);
numericAggregateFunction();
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- StringAggregateFunctionContext ------------------------------------------------------------------
UVLcppParser::StringAggregateFunctionContext::StringAggregateFunctionContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

void UVLcppParser::StringAggregateFunctionContext::copyFrom(StringAggregateFunctionContext *ctx) {


[clang-format] reported by reviewdog 🐶

//----------------- LengthAggregateFunctionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::LengthAggregateFunctionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::LengthAggregateFunctionContext::reference() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::LengthAggregateFunctionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::LengthAggregateFunctionContext::LengthAggregateFunctionContext(StringAggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LengthAggregateFunctionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::StringAggregateFunctionContext* UVLcppParser::stringAggregateFunction() {
StringAggregateFunctionContext *_localctx = _tracker.createInstance<StringAggregateFunctionContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

_localctx = dynamic_cast<StringAggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::LengthAggregateFunctionContext>(_localctx));


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- NumericAggregateFunctionContext ------------------------------------------------------------------
UVLcppParser::NumericAggregateFunctionContext::NumericAggregateFunctionContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

void UVLcppParser::NumericAggregateFunctionContext::copyFrom(NumericAggregateFunctionContext *ctx) {


[clang-format] reported by reviewdog 🐶

//----------------- CeilAggregateFunctionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::CeilAggregateFunctionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::CeilAggregateFunctionContext::reference() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::CeilAggregateFunctionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::CeilAggregateFunctionContext::CeilAggregateFunctionContext(NumericAggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::CeilAggregateFunctionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

//----------------- FloorAggregateFunctionContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FloorAggregateFunctionContext::OPEN_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::FloorAggregateFunctionContext::reference() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FloorAggregateFunctionContext::CLOSE_PAREN() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::FloorAggregateFunctionContext::FloorAggregateFunctionContext(NumericAggregateFunctionContext *ctx) { copyFrom(ctx); }


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FloorAggregateFunctionContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::NumericAggregateFunctionContext* UVLcppParser::numericAggregateFunction() {
NumericAggregateFunctionContext *_localctx = _tracker.createInstance<NumericAggregateFunctionContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__11: {
_localctx = dynamic_cast<NumericAggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::FloorAggregateFunctionContext>(_localctx));
enterOuterAlt(_localctx, 1);
setState(370);
match(UVLcppParser::T__11);
setState(371);
match(UVLcppParser::OPEN_PAREN);
setState(372);
reference();
setState(373);
match(UVLcppParser::CLOSE_PAREN);
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__12: {
_localctx = dynamic_cast<NumericAggregateFunctionContext *>(_tracker.createInstance<UVLcppParser::CeilAggregateFunctionContext>(_localctx));
enterOuterAlt(_localctx, 2);
setState(375);
match(UVLcppParser::T__12);
setState(376);
match(UVLcppParser::OPEN_PAREN);
setState(377);
reference();
setState(378);
match(UVLcppParser::CLOSE_PAREN);
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- ReferenceContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext::ReferenceContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::IdContext* UVLcppParser::ReferenceContext::id(size_t i) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::ReferenceContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::ReferenceContext* UVLcppParser::reference() {
ReferenceContext *_localctx = _tracker.createInstance<ReferenceContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 41, _ctx);


[clang-format] reported by reviewdog 🐶

match(UVLcppParser::T__13);


[clang-format] reported by reviewdog 🐶

alt = getInterpreter<atn::ParserATNSimulator>()->adaptivePredict(_input, 41, _ctx);


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- IdContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::IdContext::IdContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IdContext::ID_STRICT() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::IdContext::ID_NOT_STRICT() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::IdContext* UVLcppParser::id() {


[clang-format] reported by reviewdog 🐶

|| _la == UVLcppParser::ID_STRICT)) {
_errHandler->recoverInline(this);
}
else {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- FeatureTypeContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureTypeContext::FeatureTypeContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::FeatureTypeContext::BOOLEAN_KEY() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::FeatureTypeContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::FeatureTypeContext* UVLcppParser::featureType() {
FeatureTypeContext *_localctx = _tracker.createInstance<FeatureTypeContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if (!((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__14)
| (1ULL << UVLcppParser::T__15)
| (1ULL << UVLcppParser::T__16)
| (1ULL << UVLcppParser::BOOLEAN_KEY))) != 0))) {
_errHandler->recoverInline(this);
}
else {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- LanguageLevelContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::LanguageLevelContext::LanguageLevelContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

UVLcppParser::MajorLevelContext* UVLcppParser::LanguageLevelContext::majorLevel() {


[clang-format] reported by reviewdog 🐶

UVLcppParser::MinorLevelContext* UVLcppParser::LanguageLevelContext::minorLevel() {


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::LanguageLevelContext::MUL() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::LanguageLevelContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::LanguageLevelContext* UVLcppParser::languageLevel() {
LanguageLevelContext *_localctx = _tracker.createInstance<LanguageLevelContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

case UVLcppParser::T__19:
case UVLcppParser::T__20:
case UVLcppParser::T__21:
case UVLcppParser::T__22: {
setState(398);
minorLevel();
break;
}


[clang-format] reported by reviewdog 🐶

case UVLcppParser::MUL: {
setState(399);
match(UVLcppParser::MUL);
break;
}


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- MajorLevelContext ------------------------------------------------------------------


[clang-format] reported by reviewdog 🐶

UVLcppParser::MajorLevelContext::MajorLevelContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶

tree::TerminalNode* UVLcppParser::MajorLevelContext::BOOLEAN_KEY() {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::MajorLevelContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::MajorLevelContext* UVLcppParser::majorLevel() {
MajorLevelContext *_localctx = _tracker.createInstance<MajorLevelContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if (!((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__17)
| (1ULL << UVLcppParser::T__18)
| (1ULL << UVLcppParser::BOOLEAN_KEY))) != 0))) {
_errHandler->recoverInline(this);
}
else {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

//----------------- MinorLevelContext ------------------------------------------------------------------
UVLcppParser::MinorLevelContext::MinorLevelContext(ParserRuleContext *parent, size_t invokingState)
: ParserRuleContext(parent, invokingState) {
}


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

antlrcpp::Any UVLcppParser::MinorLevelContext::accept(tree::ParseTreeVisitor *visitor) {
if (auto parserVisitor = dynamic_cast<UVLcppVisitor*>(visitor))


[clang-format] reported by reviewdog 🐶

UVLcppParser::MinorLevelContext* UVLcppParser::minorLevel() {
MinorLevelContext *_localctx = _tracker.createInstance<MinorLevelContext>(_ctx, getState());


[clang-format] reported by reviewdog 🐶

if (!((((_la & ~ 0x3fULL) == 0) &&
((1ULL << _la) & ((1ULL << UVLcppParser::T__19)
| (1ULL << UVLcppParser::T__20)
| (1ULL << UVLcppParser::T__21)
| (1ULL << UVLcppParser::T__22))) != 0))) {
_errHandler->recoverInline(this);
}
else {


[clang-format] reported by reviewdog 🐶

}
catch (RecognitionException &e) {


[clang-format] reported by reviewdog 🐶

bool UVLcppParser::sempred(RuleContext *context, size_t ruleIndex, size_t predicateIndex) {


[clang-format] reported by reviewdog 🐶

case 21: return constraintSempred(dynamic_cast<ConstraintContext *>(context), predicateIndex);
case 23: return expressionSempred(dynamic_cast<ExpressionContext *>(context), predicateIndex);


[clang-format] reported by reviewdog 🐶

bool UVLcppParser::constraintSempred(ConstraintContext *_localctx, size_t predicateIndex) {


[clang-format] reported by reviewdog 🐶

case 0: return precpred(_ctx, 4);
case 1: return precpred(_ctx, 3);
case 2: return precpred(_ctx, 2);
case 3: return precpred(_ctx, 1);


[clang-format] reported by reviewdog 🐶

bool UVLcppParser::expressionSempred(ExpressionContext *_localctx, size_t predicateIndex) {


[clang-format] reported by reviewdog 🐶

case 4: return precpred(_ctx, 4);
case 5: return precpred(_ctx, 3);
case 6: return precpred(_ctx, 2);
case 7: return precpred(_ctx, 1);


[clang-format] reported by reviewdog 🐶

std::vector<std::string> UVLcppParser::_ruleNames = {
"featureModel", "includes", "includeLine", "namespace", "imports", "importLine",
"features", "group", "groupSpec", "feature", "featureCardinality", "attributes",
"attribute", "valueAttribute", "key", "value", "vector", "constraintAttribute",
"constraintList", "constraints", "constraintLine", "constraint", "equation",
"expression", "aggregateFunction", "stringAggregateFunction", "numericAggregateFunction",
"reference", "id", "featureType", "languageLevel", "majorLevel", "minorLevel"
};
std::vector<std::string> UVLcppParser::_literalNames = {
"", "'include'", "'namespace'", "'imports'", "'as'", "'features'", "'cardinality'",
"'constraint'", "'constraints'", "'sum'", "'avg'", "'len'", "'floor'",
"'ceil'", "'.'", "'String'", "'Integer'", "'Real'", "'Arithmetic'", "'Type'",
"'group-cardinality'", "'feature-cardinality'", "'aggregate-function'",
"'string-constraints'", "'('", "')'", "'['", "']'", "'{'", "'}'", "'/*'",
"'*/'", "'<INDENT>'", "'<DEDENT>'", "'or'", "'alternative'", "'optional'",
"'mandatory'", "", "'!'", "'&'", "'|'", "'<=>'", "'=>'", "'=='", "'<'",
"'<='", "'>'", "'>='", "'!='", "'/'", "'*'", "'+'", "'-'", "", "", "",
"'Boolean'", "','"
};
std::vector<std::string> UVLcppParser::_symbolicNames = {
"", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "", "",
"", "", "", "", "", "", "OPEN_PAREN", "CLOSE_PAREN", "OPEN_BRACK", "CLOSE_BRACK",
"OPEN_BRACE", "CLOSE_BRACE", "OPEN_COMMENT", "CLOSE_COMMENT", "INDENT",
"DEDENT", "ORGROUP", "ALTERNATIVE", "OPTIONAL", "MANDATORY", "CARDINALITY",
"NOT", "AND", "OR", "EQUIVALENCE", "IMPLICATION", "EQUAL", "LOWER", "LOWER_EQUALS",
"GREATER", "GREATER_EQUALS", "NOT_EQUALS", "DIV", "MUL", "ADD", "SUB",
"FLOAT", "INTEGER", "BOOLEAN", "BOOLEAN_KEY", "COMMA", "ID_NOT_STRICT",
"ID_STRICT", "STRING", "SKIP_", "NEWLINE"
};


[clang-format] reported by reviewdog 🐶

for (size_t i = 0; i < _symbolicNames.size(); ++i) {
std::string name = _vocabulary.getLiteralName(i);
if (name.empty()) {
name = _vocabulary.getSymbolicName(i);
}
if (name.empty()) {
_tokenNames.push_back("<INVALID>");
} else {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

0x3, 0x608b, 0xa72a, 0x8133, 0xb9ed, 0x417c, 0x3be7, 0x7786, 0x5964,
0x3, 0x41, 0x19b, 0x4, 0x2, 0x9, 0x2, 0x4, 0x3, 0x9, 0x3, 0x4, 0x4,
0x9, 0x4, 0x4, 0x5, 0x9, 0x5, 0x4, 0x6, 0x9, 0x6, 0x4, 0x7, 0x9,
0x7, 0x4, 0x8, 0x9, 0x8, 0x4, 0x9, 0x9, 0x9, 0x4, 0xa, 0x9, 0xa,
0x4, 0xb, 0x9, 0xb, 0x4, 0xc, 0x9, 0xc, 0x4, 0xd, 0x9, 0xd, 0x4,
0xe, 0x9, 0xe, 0x4, 0xf, 0x9, 0xf, 0x4, 0x10, 0x9, 0x10, 0x4, 0x11,
0x9, 0x11, 0x4, 0x12, 0x9, 0x12, 0x4, 0x13, 0x9, 0x13, 0x4, 0x14,
0x9, 0x14, 0x4, 0x15, 0x9, 0x15, 0x4, 0x16, 0x9, 0x16, 0x4, 0x17,
0x9, 0x17, 0x4, 0x18, 0x9, 0x18, 0x4, 0x19, 0x9, 0x19, 0x4, 0x1a,
0x9, 0x1a, 0x4, 0x1b, 0x9, 0x1b, 0x4, 0x1c, 0x9, 0x1c, 0x4, 0x1d,
0x9, 0x1d, 0x4, 0x1e, 0x9, 0x1e, 0x4, 0x1f, 0x9, 0x1f, 0x4, 0x20,
0x9, 0x20, 0x4, 0x21, 0x9, 0x21, 0x4, 0x22, 0x9, 0x22, 0x3, 0x2,
0x5, 0x2, 0x46, 0xa, 0x2, 0x3, 0x2, 0x5, 0x2, 0x49, 0xa, 0x2, 0x3,
0x2, 0x5, 0x2, 0x4c, 0xa, 0x2, 0x3, 0x2, 0x5, 0x2, 0x4f, 0xa, 0x2,
0x3, 0x2, 0x5, 0x2, 0x52, 0xa, 0x2, 0x3, 0x2, 0x5, 0x2, 0x55, 0xa,
0x2, 0x3, 0x2, 0x5, 0x2, 0x58, 0xa, 0x2, 0x3, 0x2, 0x5, 0x2, 0x5b,
0xa, 0x2, 0x3, 0x2, 0x5, 0x2, 0x5e, 0xa, 0x2, 0x3, 0x2, 0x3, 0x2,
0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x7, 0x3, 0x66, 0xa, 0x3,
0xc, 0x3, 0xe, 0x3, 0x69, 0xb, 0x3, 0x3, 0x3, 0x3, 0x3, 0x3, 0x4,
0x3, 0x4, 0x3, 0x4, 0x3, 0x5, 0x3, 0x5, 0x3, 0x5, 0x3, 0x6, 0x3,
0x6, 0x3, 0x6, 0x3, 0x6, 0x7, 0x6, 0x77, 0xa, 0x6, 0xc, 0x6, 0xe,
0x6, 0x7a, 0xb, 0x6, 0x3, 0x6, 0x3, 0x6, 0x3, 0x7, 0x3, 0x7, 0x3,
0x7, 0x5, 0x7, 0x81, 0xa, 0x7, 0x3, 0x7, 0x3, 0x7, 0x3, 0x8, 0x3,
0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x8, 0x3, 0x9, 0x3, 0x9,
0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3, 0x9, 0x3,
0x9, 0x3, 0x9, 0x5, 0x9, 0x95, 0xa, 0x9, 0x3, 0xa, 0x3, 0xa, 0x3,
0xa, 0x6, 0xa, 0x9a, 0xa, 0xa, 0xd, 0xa, 0xe, 0xa, 0x9b, 0x3, 0xa,
0x3, 0xa, 0x3, 0xb, 0x5, 0xb, 0xa1, 0xa, 0xb, 0x3, 0xb, 0x3, 0xb,
0x5, 0xb, 0xa5, 0xa, 0xb, 0x3, 0xb, 0x5, 0xb, 0xa8, 0xa, 0xb, 0x3,
0xb, 0x3, 0xb, 0x3, 0xb, 0x6, 0xb, 0xad, 0xa, 0xb, 0xd, 0xb, 0xe,
0xb, 0xae, 0x3, 0xb, 0x3, 0xb, 0x5, 0xb, 0xb3, 0xa, 0xb, 0x3, 0xc,
0x3, 0xc, 0x3, 0xc, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xd, 0x7,
0xd, 0xbc, 0xa, 0xd, 0xc, 0xd, 0xe, 0xd, 0xbf, 0xb, 0xd, 0x5, 0xd,
0xc1, 0xa, 0xd, 0x3, 0xd, 0x3, 0xd, 0x3, 0xe, 0x3, 0xe, 0x5, 0xe,
0xc7, 0xa, 0xe, 0x3, 0xf, 0x3, 0xf, 0x5, 0xf, 0xcb, 0xa, 0xf, 0x3,
0x10, 0x3, 0x10, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3, 0x11, 0x3,
0x11, 0x3, 0x11, 0x5, 0x11, 0xd5, 0xa, 0x11, 0x3, 0x12, 0x3, 0x12,
0x3, 0x12, 0x3, 0x12, 0x7, 0x12, 0xdb, 0xa, 0x12, 0xc, 0x12, 0xe,
0x12, 0xde, 0xb, 0x12, 0x5, 0x12, 0xe0, 0xa, 0x12, 0x3, 0x12, 0x3,
0x12, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x3, 0x13, 0x5, 0x13, 0xe8,
0xa, 0x13, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x14, 0x7, 0x14,
0xee, 0xa, 0x14, 0xc, 0x14, 0xe, 0x14, 0xf1, 0xb, 0x14, 0x5, 0x14,
0xf3, 0xa, 0x14, 0x3, 0x14, 0x3, 0x14, 0x3, 0x15, 0x3, 0x15, 0x3,
0x15, 0x3, 0x15, 0x7, 0x15, 0xfb, 0xa, 0x15, 0xc, 0x15, 0xe, 0x15,
0xfe, 0xb, 0x15, 0x3, 0x15, 0x3, 0x15, 0x3, 0x16, 0x3, 0x16, 0x3,
0x16, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3,
0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x5, 0x17, 0x10e, 0xa, 0x17,
0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17, 0x3, 0x17,
0x7, 0x17, 0x11c, 0xa, 0x17, 0xc, 0x17, 0xe, 0x17, 0x11f, 0xb, 0x17,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18, 0x3, 0x18,
0x5, 0x18, 0x139, 0xa, 0x18, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3,
0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3,
0x19, 0x5, 0x19, 0x145, 0xa, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19,
0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x3, 0x19,
0x3, 0x19, 0x3, 0x19, 0x3, 0x19, 0x7, 0x19, 0x153, 0xa, 0x19, 0xc,
0x19, 0xe, 0x19, 0x156, 0xb, 0x19, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a,
0x3, 0x1a, 0x3, 0x1a, 0x5, 0x1a, 0x15d, 0xa, 0x1a, 0x3, 0x1a, 0x3,
0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3,
0x1a, 0x5, 0x1a, 0x167, 0xa, 0x1a, 0x3, 0x1a, 0x3, 0x1a, 0x3, 0x1a,
0x3, 0x1a, 0x3, 0x1a, 0x5, 0x1a, 0x16e, 0xa, 0x1a, 0x3, 0x1b, 0x3,
0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1b, 0x3, 0x1c, 0x3, 0x1c, 0x3,
0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3, 0x1c, 0x3,
0x1c, 0x3, 0x1c, 0x5, 0x1c, 0x17f, 0xa, 0x1c, 0x3, 0x1d, 0x3, 0x1d,
0x3, 0x1d, 0x7, 0x1d, 0x184, 0xa, 0x1d, 0xc, 0x1d, 0xe, 0x1d, 0x187,
0xb, 0x1d, 0x3, 0x1d, 0x3, 0x1d, 0x3, 0x1e, 0x3, 0x1e, 0x3, 0x1f,
0x3, 0x1f, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x3, 0x20, 0x5, 0x20,
0x193, 0xa, 0x20, 0x5, 0x20, 0x195, 0xa, 0x20, 0x3, 0x21, 0x3, 0x21,
0x3, 0x22, 0x3, 0x22, 0x3, 0x22, 0x2, 0x4, 0x2c, 0x30, 0x23, 0x2,
0x4, 0x6, 0x8, 0xa, 0xc, 0xe, 0x10, 0x12, 0x14, 0x16, 0x18, 0x1a,
0x1c, 0x1e, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2a, 0x2c, 0x2e, 0x30,
0x32, 0x34, 0x36, 0x38, 0x3a, 0x3c, 0x3e, 0x40, 0x42, 0x2, 0x6, 0x3,
0x2, 0x3d, 0x3e, 0x4, 0x2, 0x11, 0x13, 0x3b, 0x3b, 0x4, 0x2, 0x14,
0x15, 0x3b, 0x3b, 0x3, 0x2, 0x16, 0x19, 0x2, 0x1bc, 0x2, 0x45, 0x3,
0x2, 0x2, 0x2, 0x4, 0x61, 0x3, 0x2, 0x2, 0x2, 0x6, 0x6c, 0x3, 0x2,
0x2, 0x2, 0x8, 0x6f, 0x3, 0x2, 0x2, 0x2, 0xa, 0x72, 0x3, 0x2, 0x2,
0x2, 0xc, 0x7d, 0x3, 0x2, 0x2, 0x2, 0xe, 0x84, 0x3, 0x2, 0x2, 0x2,
0x10, 0x94, 0x3, 0x2, 0x2, 0x2, 0x12, 0x96, 0x3, 0x2, 0x2, 0x2, 0x14,
0xa0, 0x3, 0x2, 0x2, 0x2, 0x16, 0xb4, 0x3, 0x2, 0x2, 0x2, 0x18, 0xb7,
0x3, 0x2, 0x2, 0x2, 0x1a, 0xc6, 0x3, 0x2, 0x2, 0x2, 0x1c, 0xc8, 0x3,
0x2, 0x2, 0x2, 0x1e, 0xcc, 0x3, 0x2, 0x2, 0x2, 0x20, 0xd4, 0x3, 0x2,
0x2, 0x2, 0x22, 0xd6, 0x3, 0x2, 0x2, 0x2, 0x24, 0xe7, 0x3, 0x2, 0x2,
0x2, 0x26, 0xe9, 0x3, 0x2, 0x2, 0x2, 0x28, 0xf6, 0x3, 0x2, 0x2, 0x2,
0x2a, 0x101, 0x3, 0x2, 0x2, 0x2, 0x2c, 0x10d, 0x3, 0x2, 0x2, 0x2,
0x2e, 0x138, 0x3, 0x2, 0x2, 0x2, 0x30, 0x144, 0x3, 0x2, 0x2, 0x2,
0x32, 0x16d, 0x3, 0x2, 0x2, 0x2, 0x34, 0x16f, 0x3, 0x2, 0x2, 0x2,
0x36, 0x17e, 0x3, 0x2, 0x2, 0x2, 0x38, 0x185, 0x3, 0x2, 0x2, 0x2,
0x3a, 0x18a, 0x3, 0x2, 0x2, 0x2, 0x3c, 0x18c, 0x3, 0x2, 0x2, 0x2,
0x3e, 0x18e, 0x3, 0x2, 0x2, 0x2, 0x40, 0x196, 0x3, 0x2, 0x2, 0x2,
0x42, 0x198, 0x3, 0x2, 0x2, 0x2, 0x44, 0x46, 0x5, 0x8, 0x5, 0x2,
0x45, 0x44, 0x3, 0x2, 0x2, 0x2, 0x45, 0x46, 0x3, 0x2, 0x2, 0x2, 0x46,
0x48, 0x3, 0x2, 0x2, 0x2, 0x47, 0x49, 0x7, 0x41, 0x2, 0x2, 0x48,
0x47, 0x3, 0x2, 0x2, 0x2, 0x48, 0x49, 0x3, 0x2, 0x2, 0x2, 0x49, 0x4b,
0x3, 0x2, 0x2, 0x2, 0x4a, 0x4c, 0x5, 0x4, 0x3, 0x2, 0x4b, 0x4a, 0x3,
0x2, 0x2, 0x2, 0x4b, 0x4c, 0x3, 0x2, 0x2, 0x2, 0x4c, 0x4e, 0x3, 0x2,
0x2, 0x2, 0x4d, 0x4f, 0x7, 0x41, 0x2, 0x2, 0x4e, 0x4d, 0x3, 0x2,
0x2, 0x2, 0x4e, 0x4f, 0x3, 0x2, 0x2, 0x2, 0x4f, 0x51, 0x3, 0x2, 0x2,
0x2, 0x50, 0x52, 0x5, 0xa, 0x6, 0x2, 0x51, 0x50, 0x3, 0x2, 0x2, 0x2,
0x51, 0x52, 0x3, 0x2, 0x2, 0x2, 0x52, 0x54, 0x3, 0x2, 0x2, 0x2, 0x53,
0x55, 0x7, 0x41, 0x2, 0x2, 0x54, 0x53, 0x3, 0x2, 0x2, 0x2, 0x54,
0x55, 0x3, 0x2, 0x2, 0x2, 0x55, 0x57, 0x3, 0x2, 0x2, 0x2, 0x56, 0x58,
0x5, 0xe, 0x8, 0x2, 0x57, 0x56, 0x3, 0x2, 0x2, 0x2, 0x57, 0x58, 0x3,
0x2, 0x2, 0x2, 0x58, 0x5a, 0x3, 0x2, 0x2, 0x2, 0x59, 0x5b, 0x7, 0x41,
0x2, 0x2, 0x5a, 0x59, 0x3, 0x2, 0x2, 0x2, 0x5a, 0x5b, 0x3, 0x2, 0x2,
0x2, 0x5b, 0x5d, 0x3, 0x2, 0x2, 0x2, 0x5c, 0x5e, 0x5, 0x28, 0x15,
0x2, 0x5d, 0x5c, 0x3, 0x2, 0x2, 0x2, 0x5d, 0x5e, 0x3, 0x2, 0x2, 0x2,
0x5e, 0x5f, 0x3, 0x2, 0x2, 0x2, 0x5f, 0x60, 0x7, 0x2, 0x2, 0x3, 0x60,
0x3, 0x3, 0x2, 0x2, 0x2, 0x61, 0x62, 0x7, 0x3, 0x2, 0x2, 0x62, 0x63,
0x7, 0x41, 0x2, 0x2, 0x63, 0x67, 0x7, 0x22, 0x2, 0x2, 0x64, 0x66,
0x5, 0x6, 0x4, 0x2, 0x65, 0x64, 0x3, 0x2, 0x2, 0x2, 0x66, 0x69, 0x3,
0x2, 0x2, 0x2, 0x67, 0x65, 0x3, 0x2, 0x2, 0x2, 0x67, 0x68, 0x3, 0x2,
0x2, 0x2, 0x68, 0x6a, 0x3, 0x2, 0x2, 0x2, 0x69, 0x67, 0x3, 0x2, 0x2,
0x2, 0x6a, 0x6b, 0x7, 0x23, 0x2, 0x2, 0x6b, 0x5, 0x3, 0x2, 0x2, 0x2,
0x6c, 0x6d, 0x5, 0x3e, 0x20, 0x2, 0x6d, 0x6e, 0x7, 0x41, 0x2, 0x2,
0x6e, 0x7, 0x3, 0x2, 0x2, 0x2, 0x6f, 0x70, 0x7, 0x4, 0x2, 0x2, 0x70,
0x71, 0x5, 0x38, 0x1d, 0x2, 0x71, 0x9, 0x3, 0x2, 0x2, 0x2, 0x72,
0x73, 0x7, 0x5, 0x2, 0x2, 0x73, 0x74, 0x7, 0x41, 0x2, 0x2, 0x74,
0x78, 0x7, 0x22, 0x2, 0x2, 0x75, 0x77, 0x5, 0xc, 0x7, 0x2, 0x76,
0x75, 0x3, 0x2, 0x2, 0x2, 0x77, 0x7a, 0x3, 0x2, 0x2, 0x2, 0x78, 0x76,
0x3, 0x2, 0x2, 0x2, 0x78, 0x79, 0x3, 0x2, 0x2, 0x2, 0x79, 0x7b, 0x3,
0x2, 0x2, 0x2, 0x7a, 0x78, 0x3, 0x2, 0x2, 0x2, 0x7b, 0x7c, 0x7, 0x23,
0x2, 0x2, 0x7c, 0xb, 0x3, 0x2, 0x2, 0x2, 0x7d, 0x80, 0x5, 0x38, 0x1d,
0x2, 0x7e, 0x7f, 0x7, 0x6, 0x2, 0x2, 0x7f, 0x81, 0x5, 0x38, 0x1d,
0x2, 0x80, 0x7e, 0x3, 0x2, 0x2, 0x2, 0x80, 0x81, 0x3, 0x2, 0x2, 0x2,
0x81, 0x82, 0x3, 0x2, 0x2, 0x2, 0x82, 0x83, 0x7, 0x41, 0x2, 0x2,
0x83, 0xd, 0x3, 0x2, 0x2, 0x2, 0x84, 0x85, 0x7, 0x7, 0x2, 0x2, 0x85,
0x86, 0x7, 0x41, 0x2, 0x2, 0x86, 0x87, 0x7, 0x22, 0x2, 0x2, 0x87,
0x88, 0x5, 0x14, 0xb, 0x2, 0x88, 0x89, 0x7, 0x23, 0x2, 0x2, 0x89,
0xf, 0x3, 0x2, 0x2, 0x2, 0x8a, 0x8b, 0x7, 0x24, 0x2, 0x2, 0x8b, 0x95,
0x5, 0x12, 0xa, 0x2, 0x8c, 0x8d, 0x7, 0x25, 0x2, 0x2, 0x8d, 0x95,
0x5, 0x12, 0xa, 0x2, 0x8e, 0x8f, 0x7, 0x26, 0x2, 0x2, 0x8f, 0x95,
0x5, 0x12, 0xa, 0x2, 0x90, 0x91, 0x7, 0x27, 0x2, 0x2, 0x91, 0x95,
0x5, 0x12, 0xa, 0x2, 0x92, 0x93, 0x7, 0x28, 0x2, 0x2, 0x93, 0x95,
0x5, 0x12, 0xa, 0x2, 0x94, 0x8a, 0x3, 0x2, 0x2, 0x2, 0x94, 0x8c,
0x3, 0x2, 0x2, 0x2, 0x94, 0x8e, 0x3, 0x2, 0x2, 0x2, 0x94, 0x90, 0x3,
0x2, 0x2, 0x2, 0x94, 0x92, 0x3, 0x2, 0x2, 0x2, 0x95, 0x11, 0x3, 0x2,
0x2, 0x2, 0x96, 0x97, 0x7, 0x41, 0x2, 0x2, 0x97, 0x99, 0x7, 0x22,
0x2, 0x2, 0x98, 0x9a, 0x5, 0x14, 0xb, 0x2, 0x99, 0x98, 0x3, 0x2,
0x2, 0x2, 0x9a, 0x9b, 0x3, 0x2, 0x2, 0x2, 0x9b, 0x99, 0x3, 0x2, 0x2,
0x2, 0x9b, 0x9c, 0x3, 0x2, 0x2, 0x2, 0x9c, 0x9d, 0x3, 0x2, 0x2, 0x2,
0x9d, 0x9e, 0x7, 0x23, 0x2, 0x2, 0x9e, 0x13, 0x3, 0x2, 0x2, 0x2,
0x9f, 0xa1, 0x5, 0x3c, 0x1f, 0x2, 0xa0, 0x9f, 0x3, 0x2, 0x2, 0x2,
0xa0, 0xa1, 0x3, 0x2, 0x2, 0x2, 0xa1, 0xa2, 0x3, 0x2, 0x2, 0x2, 0xa2,
0xa4, 0x5, 0x38, 0x1d, 0x2, 0xa3, 0xa5, 0x5, 0x16, 0xc, 0x2, 0xa4,
0xa3, 0x3, 0x2, 0x2, 0x2, 0xa4, 0xa5, 0x3, 0x2, 0x2, 0x2, 0xa5, 0xa7,
0x3, 0x2, 0x2, 0x2, 0xa6, 0xa8, 0x5, 0x18, 0xd, 0x2, 0xa7, 0xa6,
0x3, 0x2, 0x2, 0x2, 0xa7, 0xa8, 0x3, 0x2, 0x2, 0x2, 0xa8, 0xa9, 0x3,
0x2, 0x2, 0x2, 0xa9, 0xb2, 0x7, 0x41, 0x2, 0x2, 0xaa, 0xac, 0x7,
0x22, 0x2, 0x2, 0xab, 0xad, 0x5, 0x10, 0x9, 0x2, 0xac, 0xab, 0x3,
0x2, 0x2, 0x2, 0xad, 0xae, 0x3, 0x2, 0x2, 0x2, 0xae, 0xac, 0x3, 0x2,
0x2, 0x2, 0xae, 0xaf, 0x3, 0x2, 0x2, 0x2, 0xaf, 0xb0, 0x3, 0x2, 0x2,
0x2, 0xb0, 0xb1, 0x7, 0x23, 0x2, 0x2, 0xb1, 0xb3, 0x3, 0x2, 0x2,
0x2, 0xb2, 0xaa, 0x3, 0x2, 0x2, 0x2, 0xb2, 0xb3, 0x3, 0x2, 0x2, 0x2,
0xb3, 0x15, 0x3, 0x2, 0x2, 0x2, 0xb4, 0xb5, 0x7, 0x8, 0x2, 0x2, 0xb5,
0xb6, 0x7, 0x28, 0x2, 0x2, 0xb6, 0x17, 0x3, 0x2, 0x2, 0x2, 0xb7,
0xc0, 0x7, 0x1e, 0x2, 0x2, 0xb8, 0xbd, 0x5, 0x1a, 0xe, 0x2, 0xb9,
0xba, 0x7, 0x3c, 0x2, 0x2, 0xba, 0xbc, 0x5, 0x1a, 0xe, 0x2, 0xbb,
0xb9, 0x3, 0x2, 0x2, 0x2, 0xbc, 0xbf, 0x3, 0x2, 0x2, 0x2, 0xbd, 0xbb,
0x3, 0x2, 0x2, 0x2, 0xbd, 0xbe, 0x3, 0x2, 0x2, 0x2, 0xbe, 0xc1, 0x3,
0x2, 0x2, 0x2, 0xbf, 0xbd, 0x3, 0x2, 0x2, 0x2, 0xc0, 0xb8, 0x3, 0x2,
0x2, 0x2, 0xc0, 0xc1, 0x3, 0x2, 0x2, 0x2, 0xc1, 0xc2, 0x3, 0x2, 0x2,
0x2, 0xc2, 0xc3, 0x7, 0x1f, 0x2, 0x2, 0xc3, 0x19, 0x3, 0x2, 0x2,
0x2, 0xc4, 0xc7, 0x5, 0x1c, 0xf, 0x2, 0xc5, 0xc7, 0x5, 0x24, 0x13,
0x2, 0xc6, 0xc4, 0x3, 0x2, 0x2, 0x2, 0xc6, 0xc5, 0x3, 0x2, 0x2, 0x2,
0xc7, 0x1b, 0x3, 0x2, 0x2, 0x2, 0xc8, 0xca, 0x5, 0x1e, 0x10, 0x2,
0xc9, 0xcb, 0x5, 0x20, 0x11, 0x2, 0xca, 0xc9, 0x3, 0x2, 0x2, 0x2,
0xca, 0xcb, 0x3, 0x2, 0x2, 0x2, 0xcb, 0x1d, 0x3, 0x2, 0x2, 0x2, 0xcc,
0xcd, 0x5, 0x3a, 0x1e, 0x2, 0xcd, 0x1f, 0x3, 0x2, 0x2, 0x2, 0xce,
0xd5, 0x7, 0x3a, 0x2, 0x2, 0xcf, 0xd5, 0x7, 0x38, 0x2, 0x2, 0xd0,
0xd5, 0x7, 0x39, 0x2, 0x2, 0xd1, 0xd5, 0x7, 0x3f, 0x2, 0x2, 0xd2,
0xd5, 0x5, 0x18, 0xd, 0x2, 0xd3, 0xd5, 0x5, 0x22, 0x12, 0x2, 0xd4,
0xce, 0x3, 0x2, 0x2, 0x2, 0xd4, 0xcf, 0x3, 0x2, 0x2, 0x2, 0xd4, 0xd0,
0x3, 0x2, 0x2, 0x2, 0xd4, 0xd1, 0x3, 0x2, 0x2, 0x2, 0xd4, 0xd2, 0x3,
0x2, 0x2, 0x2, 0xd4, 0xd3, 0x3, 0x2, 0x2, 0x2, 0xd5, 0x21, 0x3, 0x2,
0x2, 0x2, 0xd6, 0xdf, 0x7, 0x1c, 0x2, 0x2, 0xd7, 0xdc, 0x5, 0x20,
0x11, 0x2, 0xd8, 0xd9, 0x7, 0x3c, 0x2, 0x2, 0xd9, 0xdb, 0x5, 0x20,
0x11, 0x2, 0xda, 0xd8, 0x3, 0x2, 0x2, 0x2, 0xdb, 0xde, 0x3, 0x2,
0x2, 0x2, 0xdc, 0xda, 0x3, 0x2, 0x2, 0x2, 0xdc, 0xdd, 0x3, 0x2, 0x2,
0x2, 0xdd, 0xe0, 0x3, 0x2, 0x2, 0x2, 0xde, 0xdc, 0x3, 0x2, 0x2, 0x2,
0xdf, 0xd7, 0x3, 0x2, 0x2, 0x2, 0xdf, 0xe0, 0x3, 0x2, 0x2, 0x2, 0xe0,
0xe1, 0x3, 0x2, 0x2, 0x2, 0xe1, 0xe2, 0x7, 0x1d, 0x2, 0x2, 0xe2,
0x23, 0x3, 0x2, 0x2, 0x2, 0xe3, 0xe4, 0x7, 0x9, 0x2, 0x2, 0xe4, 0xe8,
0x5, 0x2c, 0x17, 0x2, 0xe5, 0xe6, 0x7, 0xa, 0x2, 0x2, 0xe6, 0xe8,
0x5, 0x26, 0x14, 0x2, 0xe7, 0xe3, 0x3, 0x2, 0x2, 0x2, 0xe7, 0xe5,
0x3, 0x2, 0x2, 0x2, 0xe8, 0x25, 0x3, 0x2, 0x2, 0x2, 0xe9, 0xf2, 0x7,
0x1c, 0x2, 0x2, 0xea, 0xef, 0x5, 0x2c, 0x17, 0x2, 0xeb, 0xec, 0x7,
0x3c, 0x2, 0x2, 0xec, 0xee, 0x5, 0x2c, 0x17, 0x2, 0xed, 0xeb, 0x3,
0x2, 0x2, 0x2, 0xee, 0xf1, 0x3, 0x2, 0x2, 0x2, 0xef, 0xed, 0x3, 0x2,
0x2, 0x2, 0xef, 0xf0, 0x3, 0x2, 0x2, 0x2, 0xf0, 0xf3, 0x3, 0x2, 0x2,
0x2, 0xf1, 0xef, 0x3, 0x2, 0x2, 0x2, 0xf2, 0xea, 0x3, 0x2, 0x2, 0x2,
0xf2, 0xf3, 0x3, 0x2, 0x2, 0x2, 0xf3, 0xf4, 0x3, 0x2, 0x2, 0x2, 0xf4,
0xf5, 0x7, 0x1d, 0x2, 0x2, 0xf5, 0x27, 0x3, 0x2, 0x2, 0x2, 0xf6,
0xf7, 0x7, 0xa, 0x2, 0x2, 0xf7, 0xf8, 0x7, 0x41, 0x2, 0x2, 0xf8,
0xfc, 0x7, 0x22, 0x2, 0x2, 0xf9, 0xfb, 0x5, 0x2a, 0x16, 0x2, 0xfa,
0xf9, 0x3, 0x2, 0x2, 0x2, 0xfb, 0xfe, 0x3, 0x2, 0x2, 0x2, 0xfc, 0xfa,
0x3, 0x2, 0x2, 0x2, 0xfc, 0xfd, 0x3, 0x2, 0x2, 0x2, 0xfd, 0xff, 0x3,
0x2, 0x2, 0x2, 0xfe, 0xfc, 0x3, 0x2, 0x2, 0x2, 0xff, 0x100, 0x7,
0x23, 0x2, 0x2, 0x100, 0x29, 0x3, 0x2, 0x2, 0x2, 0x101, 0x102, 0x5,
0x2c, 0x17, 0x2, 0x102, 0x103, 0x7, 0x41, 0x2, 0x2, 0x103, 0x2b,
0x3, 0x2, 0x2, 0x2, 0x104, 0x105, 0x8, 0x17, 0x1, 0x2, 0x105, 0x10e,
0x5, 0x2e, 0x18, 0x2, 0x106, 0x10e, 0x5, 0x38, 0x1d, 0x2, 0x107,
0x108, 0x7, 0x1a, 0x2, 0x2, 0x108, 0x109, 0x5, 0x2c, 0x17, 0x2, 0x109,
0x10a, 0x7, 0x1b, 0x2, 0x2, 0x10a, 0x10e, 0x3, 0x2, 0x2, 0x2, 0x10b,
0x10c, 0x7, 0x29, 0x2, 0x2, 0x10c, 0x10e, 0x5, 0x2c, 0x17, 0x7, 0x10d,
0x104, 0x3, 0x2, 0x2, 0x2, 0x10d, 0x106, 0x3, 0x2, 0x2, 0x2, 0x10d,
0x107, 0x3, 0x2, 0x2, 0x2, 0x10d, 0x10b, 0x3, 0x2, 0x2, 0x2, 0x10e,
0x11d, 0x3, 0x2, 0x2, 0x2, 0x10f, 0x110, 0xc, 0x6, 0x2, 0x2, 0x110,
0x111, 0x7, 0x2a, 0x2, 0x2, 0x111, 0x11c, 0x5, 0x2c, 0x17, 0x7, 0x112,
0x113, 0xc, 0x5, 0x2, 0x2, 0x113, 0x114, 0x7, 0x2b, 0x2, 0x2, 0x114,
0x11c, 0x5, 0x2c, 0x17, 0x6, 0x115, 0x116, 0xc, 0x4, 0x2, 0x2, 0x116,
0x117, 0x7, 0x2d, 0x2, 0x2, 0x117, 0x11c, 0x5, 0x2c, 0x17, 0x5, 0x118,
0x119, 0xc, 0x3, 0x2, 0x2, 0x119, 0x11a, 0x7, 0x2c, 0x2, 0x2, 0x11a,
0x11c, 0x5, 0x2c, 0x17, 0x4, 0x11b, 0x10f, 0x3, 0x2, 0x2, 0x2, 0x11b,
0x112, 0x3, 0x2, 0x2, 0x2, 0x11b, 0x115, 0x3, 0x2, 0x2, 0x2, 0x11b,
0x118, 0x3, 0x2, 0x2, 0x2, 0x11c, 0x11f, 0x3, 0x2, 0x2, 0x2, 0x11d,
0x11b, 0x3, 0x2, 0x2, 0x2, 0x11d, 0x11e, 0x3, 0x2, 0x2, 0x2, 0x11e,
0x2d, 0x3, 0x2, 0x2, 0x2, 0x11f, 0x11d, 0x3, 0x2, 0x2, 0x2, 0x120,
0x121, 0x5, 0x30, 0x19, 0x2, 0x121, 0x122, 0x7, 0x2e, 0x2, 0x2, 0x122,
0x123, 0x5, 0x30, 0x19, 0x2, 0x123, 0x139, 0x3, 0x2, 0x2, 0x2, 0x124,
0x125, 0x5, 0x30, 0x19, 0x2, 0x125, 0x126, 0x7, 0x2f, 0x2, 0x2, 0x126,
0x127, 0x5, 0x30, 0x19, 0x2, 0x127, 0x139, 0x3, 0x2, 0x2, 0x2, 0x128,
0x129, 0x5, 0x30, 0x19, 0x2, 0x129, 0x12a, 0x7, 0x31, 0x2, 0x2, 0x12a,
0x12b, 0x5, 0x30, 0x19, 0x2, 0x12b, 0x139, 0x3, 0x2, 0x2, 0x2, 0x12c,
0x12d, 0x5, 0x30, 0x19, 0x2, 0x12d, 0x12e, 0x7, 0x30, 0x2, 0x2, 0x12e,
0x12f, 0x5, 0x30, 0x19, 0x2, 0x12f, 0x139, 0x3, 0x2, 0x2, 0x2, 0x130,
0x131, 0x5, 0x30, 0x19, 0x2, 0x131, 0x132, 0x7, 0x32, 0x2, 0x2, 0x132,
0x133, 0x5, 0x30, 0x19, 0x2, 0x133, 0x139, 0x3, 0x2, 0x2, 0x2, 0x134,
0x135, 0x5, 0x30, 0x19, 0x2, 0x135, 0x136, 0x7, 0x33, 0x2, 0x2, 0x136,
0x137, 0x5, 0x30, 0x19, 0x2, 0x137, 0x139, 0x3, 0x2, 0x2, 0x2, 0x138,
0x120, 0x3, 0x2, 0x2, 0x2, 0x138, 0x124, 0x3, 0x2, 0x2, 0x2, 0x138,
0x128, 0x3, 0x2, 0x2, 0x2, 0x138, 0x12c, 0x3, 0x2, 0x2, 0x2, 0x138,
0x130, 0x3, 0x2, 0x2, 0x2, 0x138, 0x134, 0x3, 0x2, 0x2, 0x2, 0x139,
0x2f, 0x3, 0x2, 0x2, 0x2, 0x13a, 0x13b, 0x8, 0x19, 0x1, 0x2, 0x13b,
0x145, 0x7, 0x38, 0x2, 0x2, 0x13c, 0x145, 0x7, 0x39, 0x2, 0x2, 0x13d,
0x145, 0x7, 0x3f, 0x2, 0x2, 0x13e, 0x145, 0x5, 0x32, 0x1a, 0x2, 0x13f,
0x145, 0x5, 0x38, 0x1d, 0x2, 0x140, 0x141, 0x7, 0x1a, 0x2, 0x2, 0x141,
0x142, 0x5, 0x30, 0x19, 0x2, 0x142, 0x143, 0x7, 0x1b, 0x2, 0x2, 0x143,
0x145, 0x3, 0x2, 0x2, 0x2, 0x144, 0x13a, 0x3, 0x2, 0x2, 0x2, 0x144,
0x13c, 0x3, 0x2, 0x2, 0x2, 0x144, 0x13d, 0x3, 0x2, 0x2, 0x2, 0x144,
0x13e, 0x3, 0x2, 0x2, 0x2, 0x144, 0x13f, 0x3, 0x2, 0x2, 0x2, 0x144,
0x140, 0x3, 0x2, 0x2, 0x2, 0x145, 0x154, 0x3, 0x2, 0x2, 0x2, 0x146,
0x147, 0xc, 0x6, 0x2, 0x2, 0x147, 0x148, 0x7, 0x36, 0x2, 0x2, 0x148,
0x153, 0x5, 0x30, 0x19, 0x7, 0x149, 0x14a, 0xc, 0x5, 0x2, 0x2, 0x14a,
0x14b, 0x7, 0x37, 0x2, 0x2, 0x14b, 0x153, 0x5, 0x30, 0x19, 0x6, 0x14c,
0x14d, 0xc, 0x4, 0x2, 0x2, 0x14d, 0x14e, 0x7, 0x35, 0x2, 0x2, 0x14e,
0x153, 0x5, 0x30, 0x19, 0x5, 0x14f, 0x150, 0xc, 0x3, 0x2, 0x2, 0x150,
0x151, 0x7, 0x34, 0x2, 0x2, 0x151, 0x153, 0x5, 0x30, 0x19, 0x4, 0x152,
0x146, 0x3, 0x2, 0x2, 0x2, 0x152, 0x149, 0x3, 0x2, 0x2, 0x2, 0x152,
0x14c, 0x3, 0x2, 0x2, 0x2, 0x152, 0x14f, 0x3, 0x2, 0x2, 0x2, 0x153,
0x156, 0x3, 0x2, 0x2, 0x2, 0x154, 0x152, 0x3, 0x2, 0x2, 0x2, 0x154,
0x155, 0x3, 0x2, 0x2, 0x2, 0x155, 0x31, 0x3, 0x2, 0x2, 0x2, 0x156,
0x154, 0x3, 0x2, 0x2, 0x2, 0x157, 0x158, 0x7, 0xb, 0x2, 0x2, 0x158,
0x15c, 0x7, 0x1a, 0x2, 0x2, 0x159, 0x15a, 0x5, 0x38, 0x1d, 0x2, 0x15a,
0x15b, 0x7, 0x3c, 0x2, 0x2, 0x15b, 0x15d, 0x3, 0x2, 0x2, 0x2, 0x15c,
0x159, 0x3, 0x2, 0x2, 0x2, 0x15c, 0x15d, 0x3, 0x2, 0x2, 0x2, 0x15d,
0x15e, 0x3, 0x2, 0x2, 0x2, 0x15e, 0x15f, 0x5, 0x38, 0x1d, 0x2, 0x15f,
0x160, 0x7, 0x1b, 0x2, 0x2, 0x160, 0x16e, 0x3, 0x2, 0x2, 0x2, 0x161,
0x162, 0x7, 0xc, 0x2, 0x2, 0x162, 0x166, 0x7, 0x1a, 0x2, 0x2, 0x163,
0x164, 0x5, 0x38, 0x1d, 0x2, 0x164, 0x165, 0x7, 0x3c, 0x2, 0x2, 0x165,
0x167, 0x3, 0x2, 0x2, 0x2, 0x166, 0x163, 0x3, 0x2, 0x2, 0x2, 0x166,
0x167, 0x3, 0x2, 0x2, 0x2, 0x167, 0x168, 0x3, 0x2, 0x2, 0x2, 0x168,
0x169, 0x5, 0x38, 0x1d, 0x2, 0x169, 0x16a, 0x7, 0x1b, 0x2, 0x2, 0x16a,
0x16e, 0x3, 0x2, 0x2, 0x2, 0x16b, 0x16e, 0x5, 0x34, 0x1b, 0x2, 0x16c,
0x16e, 0x5, 0x36, 0x1c, 0x2, 0x16d, 0x157, 0x3, 0x2, 0x2, 0x2, 0x16d,
0x161, 0x3, 0x2, 0x2, 0x2, 0x16d, 0x16b, 0x3, 0x2, 0x2, 0x2, 0x16d,
0x16c, 0x3, 0x2, 0x2, 0x2, 0x16e, 0x33, 0x3, 0x2, 0x2, 0x2, 0x16f,
0x170, 0x7, 0xd, 0x2, 0x2, 0x170, 0x171, 0x7, 0x1a, 0x2, 0x2, 0x171,
0x172, 0x5, 0x38, 0x1d, 0x2, 0x172, 0x173, 0x7, 0x1b, 0x2, 0x2, 0x173,
0x35, 0x3, 0x2, 0x2, 0x2, 0x174, 0x175, 0x7, 0xe, 0x2, 0x2, 0x175,
0x176, 0x7, 0x1a, 0x2, 0x2, 0x176, 0x177, 0x5, 0x38, 0x1d, 0x2, 0x177,
0x178, 0x7, 0x1b, 0x2, 0x2, 0x178, 0x17f, 0x3, 0x2, 0x2, 0x2, 0x179,
0x17a, 0x7, 0xf, 0x2, 0x2, 0x17a, 0x17b, 0x7, 0x1a, 0x2, 0x2, 0x17b,
0x17c, 0x5, 0x38, 0x1d, 0x2, 0x17c, 0x17d, 0x7, 0x1b, 0x2, 0x2, 0x17d,
0x17f, 0x3, 0x2, 0x2, 0x2, 0x17e, 0x174, 0x3, 0x2, 0x2, 0x2, 0x17e,
0x179, 0x3, 0x2, 0x2, 0x2, 0x17f, 0x37, 0x3, 0x2, 0x2, 0x2, 0x180,
0x181, 0x5, 0x3a, 0x1e, 0x2, 0x181, 0x182, 0x7, 0x10, 0x2, 0x2, 0x182,
0x184, 0x3, 0x2, 0x2, 0x2, 0x183, 0x180, 0x3, 0x2, 0x2, 0x2, 0x184,
0x187, 0x3, 0x2, 0x2, 0x2, 0x185, 0x183, 0x3, 0x2, 0x2, 0x2, 0x185,
0x186, 0x3, 0x2, 0x2, 0x2, 0x186, 0x188, 0x3, 0x2, 0x2, 0x2, 0x187,
0x185, 0x3, 0x2, 0x2, 0x2, 0x188, 0x189, 0x5, 0x3a, 0x1e, 0x2, 0x189,
0x39, 0x3, 0x2, 0x2, 0x2, 0x18a, 0x18b, 0x9, 0x2, 0x2, 0x2, 0x18b,
0x3b, 0x3, 0x2, 0x2, 0x2, 0x18c, 0x18d, 0x9, 0x3, 0x2, 0x2, 0x18d,
0x3d, 0x3, 0x2, 0x2, 0x2, 0x18e, 0x194, 0x5, 0x40, 0x21, 0x2, 0x18f,
0x192, 0x7, 0x10, 0x2, 0x2, 0x190, 0x193, 0x5, 0x42, 0x22, 0x2, 0x191,
0x193, 0x7, 0x35, 0x2, 0x2, 0x192, 0x190, 0x3, 0x2, 0x2, 0x2, 0x192,
0x191, 0x3, 0x2, 0x2, 0x2, 0x193, 0x195, 0x3, 0x2, 0x2, 0x2, 0x194,
0x18f, 0x3, 0x2, 0x2, 0x2, 0x194, 0x195, 0x3, 0x2, 0x2, 0x2, 0x195,
0x3f, 0x3, 0x2, 0x2, 0x2, 0x196, 0x197, 0x9, 0x4, 0x2, 0x2, 0x197,
0x41, 0x3, 0x2, 0x2, 0x2, 0x198, 0x199, 0x9, 0x5, 0x2, 0x2, 0x199,
0x43, 0x3, 0x2, 0x2, 0x2, 0x2e, 0x45, 0x48, 0x4b, 0x4e, 0x51, 0x54,
0x57, 0x5a, 0x5d, 0x67, 0x78, 0x80, 0x94, 0x9b, 0xa0, 0xa4, 0xa7,
0xae, 0xb2, 0xbd, 0xc0, 0xc6, 0xca, 0xd4, 0xdc, 0xdf, 0xe7, 0xef,
0xf2, 0xfc, 0x10d, 0x11b, 0x11d, 0x138, 0x144, 0x152, 0x154, 0x15c,
0x166, 0x16d, 0x17e, 0x185, 0x192, 0x194,


[clang-format] reported by reviewdog 🐶

serializedATNSegment0 + sizeof(serializedATNSegment0) / sizeof(serializedATNSegment0[0]));


[clang-format] reported by reviewdog 🐶

for (size_t i = 0; i < count; i++) {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class UVLcppParser : public antlr4::Parser {


[clang-format] reported by reviewdog 🐶

T__0 = 1, T__1 = 2, T__2 = 3, T__3 = 4, T__4 = 5, T__5 = 6, T__6 = 7,
T__7 = 8, T__8 = 9, T__9 = 10, T__10 = 11, T__11 = 12, T__12 = 13, T__13 = 14,
T__14 = 15, T__15 = 16, T__16 = 17, T__17 = 18, T__18 = 19, T__19 = 20,
T__20 = 21, T__21 = 22, T__22 = 23, OPEN_PAREN = 24, CLOSE_PAREN = 25,
OPEN_BRACK = 26, CLOSE_BRACK = 27, OPEN_BRACE = 28, CLOSE_BRACE = 29,
OPEN_COMMENT = 30, CLOSE_COMMENT = 31, INDENT = 32, DEDENT = 33, ORGROUP = 34,
ALTERNATIVE = 35, OPTIONAL = 36, MANDATORY = 37, CARDINALITY = 38, NOT = 39,
AND = 40, OR = 41, EQUIVALENCE = 42, IMPLICATION = 43, EQUAL = 44, LOWER = 45,
LOWER_EQUALS = 46, GREATER = 47, GREATER_EQUALS = 48, NOT_EQUALS = 49,
DIV = 50, MUL = 51, ADD = 52, SUB = 53, FLOAT = 54, INTEGER = 55, BOOLEAN = 56,
BOOLEAN_KEY = 57, COMMA = 58, ID_NOT_STRICT = 59, ID_STRICT = 60, STRING = 61,
SKIP_ = 62, NEWLINE = 63


[clang-format] reported by reviewdog 🐶

RuleFeatureModel = 0, RuleIncludes = 1, RuleIncludeLine = 2, RuleNamespace = 3,
RuleImports = 4, RuleImportLine = 5, RuleFeatures = 6, RuleGroup = 7,
RuleGroupSpec = 8, RuleFeature = 9, RuleFeatureCardinality = 10, RuleAttributes = 11,
RuleAttribute = 12, RuleValueAttribute = 13, RuleKey = 14, RuleValue = 15,
RuleVector = 16, RuleConstraintAttribute = 17, RuleConstraintList = 18,
RuleConstraints = 19, RuleConstraintLine = 20, RuleConstraint = 21,
RuleEquation = 22, RuleExpression = 23, RuleAggregateFunction = 24,
RuleStringAggregateFunction = 25, RuleNumericAggregateFunction = 26,
RuleReference = 27, RuleId = 28, RuleFeatureType = 29, RuleLanguageLevel = 30,
RuleMajorLevel = 31, RuleMinorLevel = 32


[clang-format] reported by reviewdog 🐶

virtual const antlr4::atn::ATN& getATN() const override { return _atn; };
virtual const std::vector<std::string>& getTokenNames() const override { return _tokenNames; }; // deprecated: use vocabulary instead.
virtual const std::vector<std::string>& getRuleNames() const override;
virtual antlr4::dfa::Vocabulary& getVocabulary() const override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class FeatureModelContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

FeatureModelContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

antlr4::tree::TerminalNode* NEWLINE(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

FeatureModelContext* featureModel();


[clang-format] reported by reviewdog 🐶

class IncludesContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

IncludeLineContext* includeLine(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

IncludesContext* includes();


[clang-format] reported by reviewdog 🐶

class IncludeLineContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

IncludeLineContext* includeLine();


[clang-format] reported by reviewdog 🐶

class NamespaceContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

NamespaceContext* namespace();


[clang-format] reported by reviewdog 🐶

class ImportsContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ImportLineContext* importLine(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class ImportLineContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ReferenceContext* reference(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ImportLineContext* importLine();


[clang-format] reported by reviewdog 🐶

class FeaturesContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

FeaturesContext* features();


[clang-format] reported by reviewdog 🐶

class GroupContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class AlternativeGroupContext : public GroupContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class OptionalGroupContext : public GroupContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class MandatoryGroupContext : public GroupContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class CardinalityGroupContext : public GroupContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class OrGroupContext : public GroupContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class GroupSpecContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

FeatureContext* feature(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

GroupSpecContext* groupSpec();


[clang-format] reported by reviewdog 🐶

class FeatureContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

GroupContext* group(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class FeatureCardinalityContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

FeatureCardinalityContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

FeatureCardinalityContext* featureCardinality();


[clang-format] reported by reviewdog 🐶

class AttributesContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

AttributeContext* attribute(size_t i);


[clang-format] reported by reviewdog 🐶

antlr4::tree::TerminalNode* COMMA(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

AttributesContext* attributes();


[clang-format] reported by reviewdog 🐶

class AttributeContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

AttributeContext* attribute();


[clang-format] reported by reviewdog 🐶

class ValueAttributeContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ValueAttributeContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ValueAttributeContext* valueAttribute();


[clang-format] reported by reviewdog 🐶

class KeyContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class ValueContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class VectorContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ValueContext* value(size_t i);


[clang-format] reported by reviewdog 🐶

antlr4::tree::TerminalNode* COMMA(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class ConstraintAttributeContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ConstraintAttributeContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class ListConstraintAttributeContext : public ConstraintAttributeContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class SingleConstraintAttributeContext : public ConstraintAttributeContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ConstraintAttributeContext* constraintAttribute();


[clang-format] reported by reviewdog 🐶

class ConstraintListContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ConstraintListContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint(size_t i);


[clang-format] reported by reviewdog 🐶

antlr4::tree::TerminalNode* COMMA(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ConstraintListContext* constraintList();


[clang-format] reported by reviewdog 🐶

class ConstraintsContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ConstraintLineContext* constraintLine(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ConstraintsContext* constraints();


[clang-format] reported by reviewdog 🐶

class ConstraintLineContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

ConstraintLineContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ConstraintLineContext* constraintLine();


[clang-format] reported by reviewdog 🐶

class ConstraintContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class OrConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class EquationConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class LiteralConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class ParenthesisConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class NotConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class AndConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class EquivalenceConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class ImplicationConstraintContext : public ConstraintContext {


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ConstraintContext* constraint();
ConstraintContext* constraint(int precedence);
class EquationContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class EqualEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class LowerEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class LowerEqualsEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class GreaterEqualsEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class GreaterEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class NotEqualsEquationContext : public EquationContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

EquationContext* equation();


[clang-format] reported by reviewdog 🐶

class ExpressionContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class BracketExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class AggregateFunctionExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class FloatLiteralExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class StringLiteralExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class AddExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class IntegerLiteralExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class LiteralExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class DivExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class SubExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class MulExpressionContext : public ExpressionContext {


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ExpressionContext* expression();
ExpressionContext* expression(int precedence);
class AggregateFunctionContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

AggregateFunctionContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class AvgAggregateFunctionContext : public AggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

ReferenceContext* reference(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class NumericAggregateFunctionExpressionContext : public AggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class SumAggregateFunctionContext : public AggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

ReferenceContext* reference(size_t i);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class StringAggregateFunctionExpressionContext : public AggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

AggregateFunctionContext* aggregateFunction();


[clang-format] reported by reviewdog 🐶

class StringAggregateFunctionContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

StringAggregateFunctionContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class LengthAggregateFunctionContext : public StringAggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

StringAggregateFunctionContext* stringAggregateFunction();


[clang-format] reported by reviewdog 🐶

class NumericAggregateFunctionContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

NumericAggregateFunctionContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class CeilAggregateFunctionContext : public NumericAggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

class FloorAggregateFunctionContext : public NumericAggregateFunctionContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

NumericAggregateFunctionContext* numericAggregateFunction();


[clang-format] reported by reviewdog 🐶

class ReferenceContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

ReferenceContext* reference();


[clang-format] reported by reviewdog 🐶

class IdContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class FeatureTypeContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

FeatureTypeContext* featureType();


[clang-format] reported by reviewdog 🐶

class LanguageLevelContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

LanguageLevelContext(antlr4::ParserRuleContext *parent, size_t invokingState);


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

LanguageLevelContext* languageLevel();


[clang-format] reported by reviewdog 🐶

class MajorLevelContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

MajorLevelContext* majorLevel();


[clang-format] reported by reviewdog 🐶

class MinorLevelContext : public antlr4::ParserRuleContext {


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any accept(antlr4::tree::ParseTreeVisitor *visitor) override;


[clang-format] reported by reviewdog 🐶

MinorLevelContext* minorLevel();


[clang-format] reported by reviewdog 🐶

virtual bool sempred(antlr4::RuleContext *_localctx, size_t ruleIndex, size_t predicateIndex) override;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

#include "antlr4-runtime.h"


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

class UVLcppVisitor : public antlr4::tree::AbstractParseTreeVisitor {


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeatureModel(UVLcppParser::FeatureModelContext *context) = 0;
virtual antlrcpp::Any visitIncludes(UVLcppParser::IncludesContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitIncludeLine(UVLcppParser::IncludeLineContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNamespace(UVLcppParser::NamespaceContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitImports(UVLcppParser::ImportsContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitImportLine(UVLcppParser::ImportLineContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeatures(UVLcppParser::FeaturesContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitOrGroup(UVLcppParser::OrGroupContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAlternativeGroup(UVLcppParser::AlternativeGroupContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitOptionalGroup(UVLcppParser::OptionalGroupContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMandatoryGroup(UVLcppParser::MandatoryGroupContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitCardinalityGroup(UVLcppParser::CardinalityGroupContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitGroupSpec(UVLcppParser::GroupSpecContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeature(UVLcppParser::FeatureContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeatureCardinality(UVLcppParser::FeatureCardinalityContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAttributes(UVLcppParser::AttributesContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAttribute(UVLcppParser::AttributeContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitValueAttribute(UVLcppParser::ValueAttributeContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitKey(UVLcppParser::KeyContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitValue(UVLcppParser::ValueContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitVector(UVLcppParser::VectorContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitSingleConstraintAttribute(UVLcppParser::SingleConstraintAttributeContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitListConstraintAttribute(UVLcppParser::ListConstraintAttributeContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitConstraintList(UVLcppParser::ConstraintListContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitConstraints(UVLcppParser::ConstraintsContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitConstraintLine(UVLcppParser::ConstraintLineContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitOrConstraint(UVLcppParser::OrConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEquationConstraint(UVLcppParser::EquationConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLiteralConstraint(UVLcppParser::LiteralConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitParenthesisConstraint(UVLcppParser::ParenthesisConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNotConstraint(UVLcppParser::NotConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAndConstraint(UVLcppParser::AndConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEquivalenceConstraint(UVLcppParser::EquivalenceConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitImplicationConstraint(UVLcppParser::ImplicationConstraintContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitEqualEquation(UVLcppParser::EqualEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLowerEquation(UVLcppParser::LowerEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitGreaterEquation(UVLcppParser::GreaterEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLowerEqualsEquation(UVLcppParser::LowerEqualsEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitGreaterEqualsEquation(UVLcppParser::GreaterEqualsEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNotEqualsEquation(UVLcppParser::NotEqualsEquationContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitBracketExpression(UVLcppParser::BracketExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAggregateFunctionExpression(UVLcppParser::AggregateFunctionExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFloatLiteralExpression(UVLcppParser::FloatLiteralExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitStringLiteralExpression(UVLcppParser::StringLiteralExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAddExpression(UVLcppParser::AddExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitIntegerLiteralExpression(UVLcppParser::IntegerLiteralExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLiteralExpression(UVLcppParser::LiteralExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitDivExpression(UVLcppParser::DivExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitSubExpression(UVLcppParser::SubExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMulExpression(UVLcppParser::MulExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitSumAggregateFunction(UVLcppParser::SumAggregateFunctionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitAvgAggregateFunction(UVLcppParser::AvgAggregateFunctionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitStringAggregateFunctionExpression(UVLcppParser::StringAggregateFunctionExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitNumericAggregateFunctionExpression(UVLcppParser::NumericAggregateFunctionExpressionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLengthAggregateFunction(UVLcppParser::LengthAggregateFunctionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFloorAggregateFunction(UVLcppParser::FloorAggregateFunctionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitCeilAggregateFunction(UVLcppParser::CeilAggregateFunctionContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitReference(UVLcppParser::ReferenceContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitId(UVLcppParser::IdContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitFeatureType(UVLcppParser::FeatureTypeContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitLanguageLevel(UVLcppParser::LanguageLevelContext *context) = 0;


[clang-format] reported by reviewdog 🐶

virtual antlrcpp::Any visitMajorLevel(UVLcppParser::MajorLevelContext *context) = 0;
virtual antlrcpp::Any visitMinorLevel(UVLcppParser::MinorLevelContext *context) = 0;


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶


[clang-format] reported by reviewdog 🐶

@boehmseb boehmseb marked this pull request as draft March 21, 2025 14:22
@codecov-commenter
Copy link

codecov-commenter commented Apr 30, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 89.57%. Comparing base (864ff02) to head (1b7b87a).
Report is 9 commits behind head on vara-dev.

Additional details and impacted files
@@             Coverage Diff              @@
##           vara-dev     #135      +/-   ##
============================================
- Coverage     89.63%   89.57%   -0.06%     
============================================
  Files            73       73              
  Lines          6982     6993      +11     
============================================
+ Hits           6258     6264       +6     
- Misses          724      729       +5     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants