Source code for pycropml.transpiler.antlr_py.grammars.CMakeParser

# Generated from CMake.g4 by ANTLR 4.8
# encoding: utf-8
from antlr4 import *
from io import StringIO
import sys
if sys.version_info[1] > 5:
	from typing import TextIO
else:
	from typing.io import TextIO


[docs] def serializedATN(): with StringIO() as buf: buf.write("\3\u608b\ua72a\u8133\ub9ed\u417c\u3be7\u7786\u5964\3\r") buf.write("*\4\2\t\2\4\3\t\3\4\4\t\4\4\5\t\5\3\2\7\2\f\n\2\f\2\16") buf.write("\2\17\13\2\3\2\3\2\3\3\3\3\3\3\3\3\7\3\27\n\3\f\3\16\3") buf.write("\32\13\3\3\3\3\3\3\4\3\4\3\5\3\5\3\5\7\5#\n\5\f\5\16\5") buf.write("&\13\5\3\5\3\5\3\5\2\2\6\2\4\6\b\2\3\4\2\5\6\b\t\2*\2") buf.write("\r\3\2\2\2\4\22\3\2\2\2\6\35\3\2\2\2\b\37\3\2\2\2\n\f") buf.write("\5\4\3\2\13\n\3\2\2\2\f\17\3\2\2\2\r\13\3\2\2\2\r\16\3") buf.write("\2\2\2\16\20\3\2\2\2\17\r\3\2\2\2\20\21\7\2\2\3\21\3\3") buf.write("\2\2\2\22\23\7\5\2\2\23\30\7\3\2\2\24\27\5\6\4\2\25\27") buf.write("\5\b\5\2\26\24\3\2\2\2\26\25\3\2\2\2\27\32\3\2\2\2\30") buf.write("\26\3\2\2\2\30\31\3\2\2\2\31\33\3\2\2\2\32\30\3\2\2\2") buf.write("\33\34\7\4\2\2\34\5\3\2\2\2\35\36\t\2\2\2\36\7\3\2\2\2") buf.write("\37$\7\3\2\2 #\5\6\4\2!#\5\b\5\2\" \3\2\2\2\"!\3\2\2\2") buf.write("#&\3\2\2\2$\"\3\2\2\2$%\3\2\2\2%\'\3\2\2\2&$\3\2\2\2\'") buf.write("(\7\4\2\2(\t\3\2\2\2\7\r\26\30\"$") return buf.getvalue()
[docs] class CMakeParser ( Parser ): grammarFileName = "CMake.g4" atn = ATNDeserializer().deserialize(serializedATN()) decisionsToDFA = [ DFA(ds, i) for i, ds in enumerate(atn.decisionToState) ] sharedContextCache = PredictionContextCache() literalNames = [ "<INVALID>", "'('", "')'" ] symbolicNames = [ "<INVALID>", "<INVALID>", "<INVALID>", "Identifier", "Unquoted_argument", "Escape_sequence", "Quoted_argument", "Bracket_argument", "Bracket_comment", "Line_comment", "Newline", "Space" ] RULE_file_c = 0 RULE_command_invocation = 1 RULE_single_argument = 2 RULE_compound_argument = 3 ruleNames = [ "file_c", "command_invocation", "single_argument", "compound_argument" ] EOF = Token.EOF T__0=1 T__1=2 Identifier=3 Unquoted_argument=4 Escape_sequence=5 Quoted_argument=6 Bracket_argument=7 Bracket_comment=8 Line_comment=9 Newline=10 Space=11 def __init__(self, input:TokenStream, output:TextIO = sys.stdout): super().__init__(input, output) self.checkVersion("4.8") self._interp = ParserATNSimulator(self, self.atn, self.decisionsToDFA, self.sharedContextCache) self._predicates = None
[docs] class File_cContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def EOF(self): return self.getToken(CMakeParser.EOF, 0)
[docs] def command_invocation(self, i:int=None): if i is None: return self.getTypedRuleContexts(CMakeParser.Command_invocationContext) else: return self.getTypedRuleContext(CMakeParser.Command_invocationContext,i)
[docs] def getRuleIndex(self): return CMakeParser.RULE_file_c
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterFile_c" ): listener.enterFile_c(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitFile_c" ): listener.exitFile_c(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitFile_c" ): return visitor.visitFile_c(self) else: return visitor.visitChildren(self)
[docs] def file_c(self): localctx = CMakeParser.File_cContext(self, self._ctx, self.state) self.enterRule(localctx, 0, self.RULE_file_c) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 11 self._errHandler.sync(self) _la = self._input.LA(1) while _la==CMakeParser.Identifier: self.state = 8 self.command_invocation() self.state = 13 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 14 self.match(CMakeParser.EOF) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class Command_invocationContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(CMakeParser.Identifier, 0)
[docs] def single_argument(self, i:int=None): if i is None: return self.getTypedRuleContexts(CMakeParser.Single_argumentContext) else: return self.getTypedRuleContext(CMakeParser.Single_argumentContext,i)
[docs] def compound_argument(self, i:int=None): if i is None: return self.getTypedRuleContexts(CMakeParser.Compound_argumentContext) else: return self.getTypedRuleContext(CMakeParser.Compound_argumentContext,i)
[docs] def getRuleIndex(self): return CMakeParser.RULE_command_invocation
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterCommand_invocation" ): listener.enterCommand_invocation(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitCommand_invocation" ): listener.exitCommand_invocation(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitCommand_invocation" ): return visitor.visitCommand_invocation(self) else: return visitor.visitChildren(self)
[docs] def command_invocation(self): localctx = CMakeParser.Command_invocationContext(self, self._ctx, self.state) self.enterRule(localctx, 2, self.RULE_command_invocation) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 16 self.match(CMakeParser.Identifier) self.state = 17 self.match(CMakeParser.T__0) self.state = 22 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CMakeParser.T__0) | (1 << CMakeParser.Identifier) | (1 << CMakeParser.Unquoted_argument) | (1 << CMakeParser.Quoted_argument) | (1 << CMakeParser.Bracket_argument))) != 0): self.state = 20 self._errHandler.sync(self) token = self._input.LA(1) if token in [CMakeParser.Identifier, CMakeParser.Unquoted_argument, CMakeParser.Quoted_argument, CMakeParser.Bracket_argument]: self.state = 18 self.single_argument() pass elif token in [CMakeParser.T__0]: self.state = 19 self.compound_argument() pass else: raise NoViableAltException(self) self.state = 24 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 25 self.match(CMakeParser.T__1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class Single_argumentContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def Identifier(self): return self.getToken(CMakeParser.Identifier, 0)
[docs] def Unquoted_argument(self): return self.getToken(CMakeParser.Unquoted_argument, 0)
[docs] def Bracket_argument(self): return self.getToken(CMakeParser.Bracket_argument, 0)
[docs] def Quoted_argument(self): return self.getToken(CMakeParser.Quoted_argument, 0)
[docs] def getRuleIndex(self): return CMakeParser.RULE_single_argument
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterSingle_argument" ): listener.enterSingle_argument(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitSingle_argument" ): listener.exitSingle_argument(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitSingle_argument" ): return visitor.visitSingle_argument(self) else: return visitor.visitChildren(self)
[docs] def single_argument(self): localctx = CMakeParser.Single_argumentContext(self, self._ctx, self.state) self.enterRule(localctx, 4, self.RULE_single_argument) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 27 _la = self._input.LA(1) if not((((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CMakeParser.Identifier) | (1 << CMakeParser.Unquoted_argument) | (1 << CMakeParser.Quoted_argument) | (1 << CMakeParser.Bracket_argument))) != 0)): self._errHandler.recoverInline(self) else: self._errHandler.reportMatch(self) self.consume() except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx
[docs] class Compound_argumentContext(ParserRuleContext): def __init__(self, parser, parent:ParserRuleContext=None, invokingState:int=-1): super().__init__(parent, invokingState) self.parser = parser
[docs] def single_argument(self, i:int=None): if i is None: return self.getTypedRuleContexts(CMakeParser.Single_argumentContext) else: return self.getTypedRuleContext(CMakeParser.Single_argumentContext,i)
[docs] def compound_argument(self, i:int=None): if i is None: return self.getTypedRuleContexts(CMakeParser.Compound_argumentContext) else: return self.getTypedRuleContext(CMakeParser.Compound_argumentContext,i)
[docs] def getRuleIndex(self): return CMakeParser.RULE_compound_argument
[docs] def enterRule(self, listener:ParseTreeListener): if hasattr( listener, "enterCompound_argument" ): listener.enterCompound_argument(self)
[docs] def exitRule(self, listener:ParseTreeListener): if hasattr( listener, "exitCompound_argument" ): listener.exitCompound_argument(self)
[docs] def accept(self, visitor:ParseTreeVisitor): if hasattr( visitor, "visitCompound_argument" ): return visitor.visitCompound_argument(self) else: return visitor.visitChildren(self)
[docs] def compound_argument(self): localctx = CMakeParser.Compound_argumentContext(self, self._ctx, self.state) self.enterRule(localctx, 6, self.RULE_compound_argument) self._la = 0 # Token type try: self.enterOuterAlt(localctx, 1) self.state = 29 self.match(CMakeParser.T__0) self.state = 34 self._errHandler.sync(self) _la = self._input.LA(1) while (((_la) & ~0x3f) == 0 and ((1 << _la) & ((1 << CMakeParser.T__0) | (1 << CMakeParser.Identifier) | (1 << CMakeParser.Unquoted_argument) | (1 << CMakeParser.Quoted_argument) | (1 << CMakeParser.Bracket_argument))) != 0): self.state = 32 self._errHandler.sync(self) token = self._input.LA(1) if token in [CMakeParser.Identifier, CMakeParser.Unquoted_argument, CMakeParser.Quoted_argument, CMakeParser.Bracket_argument]: self.state = 30 self.single_argument() pass elif token in [CMakeParser.T__0]: self.state = 31 self.compound_argument() pass else: raise NoViableAltException(self) self.state = 36 self._errHandler.sync(self) _la = self._input.LA(1) self.state = 37 self.match(CMakeParser.T__1) except RecognitionException as re: localctx.exception = re self._errHandler.reportError(self, re) self._errHandler.recover(self, re) finally: self.exitRule() return localctx