blob: 2336c5766e2fae53f1689a2b801f2a75085a1717 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* License); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
// Generated from PathParser.g4 by ANTLR 4.9.3
#pragma once
#include "antlr4-runtime.h"
class PathParser : public antlr4::Parser {
public:
enum {
ROOT = 1,
WS = 2,
TIME = 3,
TIMESTAMP = 4,
MINUS = 5,
PLUS = 6,
DIV = 7,
MOD = 8,
OPERATOR_DEQ = 9,
OPERATOR_SEQ = 10,
OPERATOR_GT = 11,
OPERATOR_GTE = 12,
OPERATOR_LT = 13,
OPERATOR_LTE = 14,
OPERATOR_NEQ = 15,
OPERATOR_BITWISE_AND = 16,
OPERATOR_LOGICAL_AND = 17,
OPERATOR_BITWISE_OR = 18,
OPERATOR_LOGICAL_OR = 19,
OPERATOR_NOT = 20,
DOT = 21,
COMMA = 22,
SEMI = 23,
STAR = 24,
DOUBLE_STAR = 25,
LR_BRACKET = 26,
RR_BRACKET = 27,
LS_BRACKET = 28,
RS_BRACKET = 29,
DOUBLE_COLON = 30,
STRING_LITERAL = 31,
DURATION_LITERAL = 32,
DATETIME_LITERAL = 33,
INTEGER_LITERAL = 34,
EXPONENT_NUM_PART = 35,
ID = 36,
QUOTED_ID = 37
};
enum {
RulePath = 0,
RulePrefixPath = 1,
RuleSuffixPath = 2,
RuleNodeName = 3,
RuleNodeNameWithoutWildcard = 4,
RuleNodeNameSlice = 5,
RuleIdentifier = 6,
RuleWildcard = 7
};
explicit PathParser(antlr4::TokenStream *input);
~PathParser();
virtual std::string getGrammarFileName() const override;
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;
class PathContext;
class PrefixPathContext;
class SuffixPathContext;
class NodeNameContext;
class NodeNameWithoutWildcardContext;
class NodeNameSliceContext;
class IdentifierContext;
class WildcardContext;
class PathContext : public antlr4::ParserRuleContext {
public:
PathContext(antlr4::ParserRuleContext *parent, size_t invokingState);
virtual size_t getRuleIndex() const override;
PrefixPathContext *prefixPath();
antlr4::tree::TerminalNode *EOF();
SuffixPathContext *suffixPath();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
PathContext *path();
class PrefixPathContext : public antlr4::ParserRuleContext {
public:
PrefixPathContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
antlr4::tree::TerminalNode *ROOT();
std::vector<antlr4::tree::TerminalNode *> DOT();
antlr4::tree::TerminalNode *DOT(size_t i);
std::vector<NodeNameContext *> nodeName();
NodeNameContext *nodeName(size_t i);
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
PrefixPathContext *prefixPath();
class SuffixPathContext : public antlr4::ParserRuleContext {
public:
SuffixPathContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
std::vector<NodeNameContext *> nodeName();
NodeNameContext *nodeName(size_t i);
std::vector<antlr4::tree::TerminalNode *> DOT();
antlr4::tree::TerminalNode *DOT(size_t i);
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
SuffixPathContext *suffixPath();
class NodeNameContext : public antlr4::ParserRuleContext {
public:
NodeNameContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
std::vector<WildcardContext *> wildcard();
WildcardContext *wildcard(size_t i);
NodeNameSliceContext *nodeNameSlice();
NodeNameWithoutWildcardContext *nodeNameWithoutWildcard();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
NodeNameContext *nodeName();
class NodeNameWithoutWildcardContext : public antlr4::ParserRuleContext {
public:
NodeNameWithoutWildcardContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
IdentifierContext *identifier();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
NodeNameWithoutWildcardContext *nodeNameWithoutWildcard();
class NodeNameSliceContext : public antlr4::ParserRuleContext {
public:
NodeNameSliceContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
IdentifierContext *identifier();
antlr4::tree::TerminalNode *INTEGER_LITERAL();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
NodeNameSliceContext *nodeNameSlice();
class IdentifierContext : public antlr4::ParserRuleContext {
public:
IdentifierContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
antlr4::tree::TerminalNode *DURATION_LITERAL();
antlr4::tree::TerminalNode *ID();
antlr4::tree::TerminalNode *QUOTED_ID();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
IdentifierContext *identifier();
class WildcardContext : public antlr4::ParserRuleContext {
public:
WildcardContext(antlr4::ParserRuleContext *parent,
size_t invokingState);
virtual size_t getRuleIndex() const override;
antlr4::tree::TerminalNode *STAR();
antlr4::tree::TerminalNode *DOUBLE_STAR();
virtual void enterRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual void exitRule(
antlr4::tree::ParseTreeListener *listener) override;
virtual antlrcpp::Any accept(
antlr4::tree::ParseTreeVisitor *visitor) override;
};
WildcardContext *wildcard();
private:
static std::vector<antlr4::dfa::DFA> _decisionToDFA;
static antlr4::atn::PredictionContextCache _sharedContextCache;
static std::vector<std::string> _ruleNames;
static std::vector<std::string> _tokenNames;
static std::vector<std::string> _literalNames;
static std::vector<std::string> _symbolicNames;
static antlr4::dfa::Vocabulary _vocabulary;
static antlr4::atn::ATN _atn;
static std::vector<uint16_t> _serializedATN;
struct Initializer {
Initializer();
};
static Initializer _init;
};