github-users-parser
Version:
Antlr4 generated GITHUB_USERS parser
244 lines (243 loc) • 8.89 kB
JavaScript
"use strict";
// Generated from GITHUBUSERSParser.g4 by ANTLR 4.9.0-SNAPSHOT
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
var desc = Object.getOwnPropertyDescriptor(m, k);
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
desc = { enumerable: true, get: function() { return m[k]; } };
}
Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
__setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.EntryContext = exports.FileContext = exports.GITHUBUSERSParser = void 0;
const ATNDeserializer_1 = require("antlr4ts/atn/ATNDeserializer");
const FailedPredicateException_1 = require("antlr4ts/FailedPredicateException");
const Parser_1 = require("antlr4ts/Parser");
const ParserRuleContext_1 = require("antlr4ts/ParserRuleContext");
const ParserATNSimulator_1 = require("antlr4ts/atn/ParserATNSimulator");
const RecognitionException_1 = require("antlr4ts/RecognitionException");
const VocabularyImpl_1 = require("antlr4ts/VocabularyImpl");
const Utils = __importStar(require("antlr4ts/misc/Utils"));
class GITHUBUSERSParser extends Parser_1.Parser {
// @Override
// @NotNull
get vocabulary() {
return GITHUBUSERSParser.VOCABULARY;
}
// tslint:enable:no-trailing-whitespace
// @Override
get grammarFileName() { return "GITHUBUSERSParser.g4"; }
// @Override
get ruleNames() { return GITHUBUSERSParser.ruleNames; }
// @Override
get serializedATN() { return GITHUBUSERSParser._serializedATN; }
createFailedPredicateException(predicate, message) {
return new FailedPredicateException_1.FailedPredicateException(this, predicate, message);
}
constructor(input) {
super(input);
this._interp = new ParserATNSimulator_1.ParserATNSimulator(GITHUBUSERSParser._ATN, this);
}
// @RuleVersion(0)
file() {
let _localctx = new FileContext(this._ctx, this.state);
this.enterRule(_localctx, 0, GITHUBUSERSParser.RULE_file);
let _la;
try {
this.enterOuterAlt(_localctx, 1);
{
this.state = 8;
this._errHandler.sync(this);
_la = this._input.LA(1);
do {
{
{
this.state = 4;
this.entry();
this.state = 6;
this._errHandler.sync(this);
_la = this._input.LA(1);
if (_la === GITHUBUSERSParser.NEWLINE) {
{
this.state = 5;
this.match(GITHUBUSERSParser.NEWLINE);
}
}
}
}
this.state = 10;
this._errHandler.sync(this);
_la = this._input.LA(1);
} while (_la === GITHUBUSERSParser.GITHUB_HANDLE);
this.state = 12;
this.match(GITHUBUSERSParser.EOF);
}
}
catch (re) {
if (re instanceof RecognitionException_1.RecognitionException) {
_localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return _localctx;
}
// @RuleVersion(0)
entry() {
let _localctx = new EntryContext(this._ctx, this.state);
this.enterRule(_localctx, 2, GITHUBUSERSParser.RULE_entry);
try {
this.enterOuterAlt(_localctx, 1);
{
this.state = 14;
this.match(GITHUBUSERSParser.GITHUB_HANDLE);
this.state = 15;
this.match(GITHUBUSERSParser.EMAIL);
}
}
catch (re) {
if (re instanceof RecognitionException_1.RecognitionException) {
_localctx.exception = re;
this._errHandler.reportError(this, re);
this._errHandler.recover(this, re);
}
else {
throw re;
}
}
finally {
this.exitRule();
}
return _localctx;
}
static get _ATN() {
if (!GITHUBUSERSParser.__ATN) {
GITHUBUSERSParser.__ATN = new ATNDeserializer_1.ATNDeserializer().deserialize(Utils.toCharArray(GITHUBUSERSParser._serializedATN));
}
return GITHUBUSERSParser.__ATN;
}
}
exports.GITHUBUSERSParser = GITHUBUSERSParser;
GITHUBUSERSParser.WHITESPACE = 1;
GITHUBUSERSParser.NEWLINE = 2;
GITHUBUSERSParser.GITHUB_HANDLE = 3;
GITHUBUSERSParser.EMAIL = 4;
GITHUBUSERSParser.RULE_file = 0;
GITHUBUSERSParser.RULE_entry = 1;
// tslint:disable:no-trailing-whitespace
GITHUBUSERSParser.ruleNames = [
"file", "entry",
];
GITHUBUSERSParser._LITERAL_NAMES = [];
GITHUBUSERSParser._SYMBOLIC_NAMES = [
undefined, "WHITESPACE", "NEWLINE", "GITHUB_HANDLE", "EMAIL",
];
GITHUBUSERSParser.VOCABULARY = new VocabularyImpl_1.VocabularyImpl(GITHUBUSERSParser._LITERAL_NAMES, GITHUBUSERSParser._SYMBOLIC_NAMES, []);
GITHUBUSERSParser._serializedATN = "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x06\x14\x04\x02" +
"\t\x02\x04\x03\t\x03\x03\x02\x03\x02\x05\x02\t\n\x02\x06\x02\v\n\x02\r" +
"\x02\x0E\x02\f\x03\x02\x03\x02\x03\x03\x03\x03\x03\x03\x03\x03\x02\x02" +
"\x02\x04\x02\x02\x04\x02\x02\x02\x02\x13\x02\n\x03\x02\x02\x02\x04\x10" +
"\x03\x02\x02\x02\x06\b\x05\x04\x03\x02\x07\t\x07\x04\x02\x02\b\x07\x03" +
"\x02\x02\x02\b\t\x03\x02\x02\x02\t\v\x03\x02\x02\x02\n\x06\x03\x02\x02" +
"\x02\v\f\x03\x02\x02\x02\f\n\x03\x02\x02\x02\f\r\x03\x02\x02\x02\r\x0E" +
"\x03\x02\x02\x02\x0E\x0F\x07\x02\x02\x03\x0F\x03\x03\x02\x02\x02\x10\x11" +
"\x07\x05\x02\x02\x11\x12\x07\x06\x02\x02\x12\x05\x03\x02\x02\x02\x04\b" +
"\f";
class FileContext extends ParserRuleContext_1.ParserRuleContext {
EOF() { return this.getToken(GITHUBUSERSParser.EOF, 0); }
entry(i) {
if (i === undefined) {
return this.getRuleContexts(EntryContext);
}
else {
return this.getRuleContext(i, EntryContext);
}
}
NEWLINE(i) {
if (i === undefined) {
return this.getTokens(GITHUBUSERSParser.NEWLINE);
}
else {
return this.getToken(GITHUBUSERSParser.NEWLINE, i);
}
}
constructor(parent, invokingState) {
super(parent, invokingState);
}
// @Override
get ruleIndex() { return GITHUBUSERSParser.RULE_file; }
// @Override
enterRule(listener) {
if (listener.enterFile) {
listener.enterFile(this);
}
}
// @Override
exitRule(listener) {
if (listener.exitFile) {
listener.exitFile(this);
}
}
// @Override
accept(visitor) {
if (visitor.visitFile) {
return visitor.visitFile(this);
}
else {
return visitor.visitChildren(this);
}
}
}
exports.FileContext = FileContext;
class EntryContext extends ParserRuleContext_1.ParserRuleContext {
GITHUB_HANDLE() { return this.getToken(GITHUBUSERSParser.GITHUB_HANDLE, 0); }
EMAIL() { return this.getToken(GITHUBUSERSParser.EMAIL, 0); }
constructor(parent, invokingState) {
super(parent, invokingState);
}
// @Override
get ruleIndex() { return GITHUBUSERSParser.RULE_entry; }
// @Override
enterRule(listener) {
if (listener.enterEntry) {
listener.enterEntry(this);
}
}
// @Override
exitRule(listener) {
if (listener.exitEntry) {
listener.exitEntry(this);
}
}
// @Override
accept(visitor) {
if (visitor.visitEntry) {
return visitor.visitEntry(this);
}
else {
return visitor.visitChildren(this);
}
}
}
exports.EntryContext = EntryContext;