UNPKG

@informalsystems/quint

Version:

Core tool for the Quint specification language

1,239 lines 50.7 kB
import { ATN } from "antlr4ts/atn/ATN"; import { FailedPredicateException } from "antlr4ts/FailedPredicateException"; import { Parser } from "antlr4ts/Parser"; import { ParserRuleContext } from "antlr4ts/ParserRuleContext"; import { RuleContext } from "antlr4ts/RuleContext"; import { TerminalNode } from "antlr4ts/tree/TerminalNode"; import { Token } from "antlr4ts/Token"; import { TokenStream } from "antlr4ts/TokenStream"; import { Vocabulary } from "antlr4ts/Vocabulary"; import { QuintListener } from "./QuintListener"; import { QuintVisitor } from "./QuintVisitor"; export declare class QuintParser extends Parser { static readonly T__0 = 1; static readonly T__1 = 2; static readonly T__2 = 3; static readonly T__3 = 4; static readonly T__4 = 5; static readonly T__5 = 6; static readonly T__6 = 7; static readonly T__7 = 8; static readonly T__8 = 9; static readonly T__9 = 10; static readonly T__10 = 11; static readonly T__11 = 12; static readonly T__12 = 13; static readonly T__13 = 14; static readonly T__14 = 15; static readonly T__15 = 16; static readonly T__16 = 17; static readonly T__17 = 18; static readonly T__18 = 19; static readonly T__19 = 20; static readonly T__20 = 21; static readonly T__21 = 22; static readonly T__22 = 23; static readonly T__23 = 24; static readonly T__24 = 25; static readonly T__25 = 26; static readonly T__26 = 27; static readonly T__27 = 28; static readonly T__28 = 29; static readonly T__29 = 30; static readonly T__30 = 31; static readonly T__31 = 32; static readonly T__32 = 33; static readonly T__33 = 34; static readonly T__34 = 35; static readonly STRING = 36; static readonly BOOL = 37; static readonly INT = 38; static readonly AND = 39; static readonly OR = 40; static readonly IFF = 41; static readonly IMPLIES = 42; static readonly MATCH = 43; static readonly PLUS = 44; static readonly MINUS = 45; static readonly MUL = 46; static readonly DIV = 47; static readonly MOD = 48; static readonly GT = 49; static readonly LT = 50; static readonly GE = 51; static readonly LE = 52; static readonly NE = 53; static readonly EQ = 54; static readonly ASGN = 55; static readonly LPAREN = 56; static readonly RPAREN = 57; static readonly SET = 58; static readonly LIST = 59; static readonly IMPORT = 60; static readonly EXPORT = 61; static readonly FROM = 62; static readonly AS = 63; static readonly LOW_ID = 64; static readonly CAP_ID = 65; static readonly HASHBANG_LINE = 66; static readonly DOCCOMMENT = 67; static readonly LINE_COMMENT = 68; static readonly COMMENT = 69; static readonly WS = 70; static readonly RULE_modules = 0; static readonly RULE_module = 1; static readonly RULE_documentedDeclaration = 2; static readonly RULE_declaration = 3; static readonly RULE_operDef = 4; static readonly RULE_typeDef = 5; static readonly RULE_typeDefHead = 6; static readonly RULE_sumTypeDefinition = 7; static readonly RULE_typeSumVariant = 8; static readonly RULE_qualifier = 9; static readonly RULE_importMod = 10; static readonly RULE_exportMod = 11; static readonly RULE_instanceMod = 12; static readonly RULE_moduleName = 13; static readonly RULE_name = 14; static readonly RULE_qualifiedName = 15; static readonly RULE_fromSource = 16; static readonly RULE_type = 17; static readonly RULE_typeVar = 18; static readonly RULE_row = 19; static readonly RULE_rowLabel = 20; static readonly RULE_typeArgs = 21; static readonly RULE_typeApplication = 22; static readonly RULE_wrongTypeApplication = 23; static readonly RULE_expr = 24; static readonly RULE_matchSumExpr = 25; static readonly RULE_matchSumCase = 26; static readonly RULE_matchSumVariant = 27; static readonly RULE_declarationOrExpr = 28; static readonly RULE_lambda = 29; static readonly RULE_lambdaUnsugared = 30; static readonly RULE_lambdaTupleSugar = 31; static readonly RULE_identOrHole = 32; static readonly RULE_parameter = 33; static readonly RULE_annotatedParameter = 34; static readonly RULE_destructuringPattern = 35; static readonly RULE_tuplePattern = 36; static readonly RULE_recordPattern = 37; static readonly RULE_identOrStar = 38; static readonly RULE_argList = 39; static readonly RULE_recElem = 40; static readonly RULE_normalCallName = 41; static readonly RULE_nameAfterDot = 42; static readonly RULE_operator = 43; static readonly RULE_literal = 44; static readonly RULE_qualId = 45; static readonly RULE_simpleId = 46; static readonly RULE_identifier = 47; static readonly RULE_keywordAsID = 48; static readonly RULE_reserved = 49; static readonly ruleNames: string[]; private static readonly _LITERAL_NAMES; private static readonly _SYMBOLIC_NAMES; static readonly VOCABULARY: Vocabulary; get vocabulary(): Vocabulary; get grammarFileName(): string; get ruleNames(): string[]; get serializedATN(): string; protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException; constructor(input: TokenStream); modules(): ModulesContext; module(): ModuleContext; documentedDeclaration(): DocumentedDeclarationContext; declaration(): DeclarationContext; operDef(): OperDefContext; typeDef(): TypeDefContext; typeDefHead(): TypeDefHeadContext; sumTypeDefinition(): SumTypeDefinitionContext; typeSumVariant(): TypeSumVariantContext; qualifier(): QualifierContext; importMod(): ImportModContext; exportMod(): ExportModContext; instanceMod(): InstanceModContext; moduleName(): ModuleNameContext; name(): NameContext; qualifiedName(): QualifiedNameContext; fromSource(): FromSourceContext; type(): TypeContext; type(_p: number): TypeContext; typeVar(): TypeVarContext; row(): RowContext; rowLabel(): RowLabelContext; typeArgs(): TypeArgsContext; typeApplication(): TypeApplicationContext; wrongTypeApplication(): WrongTypeApplicationContext; expr(): ExprContext; expr(_p: number): ExprContext; matchSumExpr(): MatchSumExprContext; matchSumCase(): MatchSumCaseContext; matchSumVariant(): MatchSumVariantContext; declarationOrExpr(): DeclarationOrExprContext; lambda(): LambdaContext; lambdaUnsugared(): LambdaUnsugaredContext; lambdaTupleSugar(): LambdaTupleSugarContext; identOrHole(): IdentOrHoleContext; parameter(): ParameterContext; annotatedParameter(): AnnotatedParameterContext; destructuringPattern(): DestructuringPatternContext; tuplePattern(): TuplePatternContext; recordPattern(): RecordPatternContext; identOrStar(): IdentOrStarContext; argList(): ArgListContext; recElem(): RecElemContext; normalCallName(): NormalCallNameContext; nameAfterDot(): NameAfterDotContext; operator(): OperatorContext; literal(): LiteralContext; qualId(): QualIdContext; simpleId(context: string): SimpleIdContext; identifier(): IdentifierContext; keywordAsID(): KeywordAsIDContext; reserved(): ReservedContext; sempred(_localctx: RuleContext, ruleIndex: number, predIndex: number): boolean; private type_sempred; private expr_sempred; private static readonly _serializedATNSegments; private static readonly _serializedATNSegment0; private static readonly _serializedATNSegment1; static readonly _serializedATN: string; static __ATN: ATN; static get _ATN(): ATN; } export declare class ModulesContext extends ParserRuleContext { EOF(): TerminalNode; HASHBANG_LINE(): TerminalNode | undefined; module(): ModuleContext[]; module(i: number): ModuleContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ModuleContext extends ParserRuleContext { qualId(): QualIdContext; DOCCOMMENT(): TerminalNode[]; DOCCOMMENT(i: number): TerminalNode; documentedDeclaration(): DocumentedDeclarationContext[]; documentedDeclaration(i: number): DocumentedDeclarationContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class DocumentedDeclarationContext extends ParserRuleContext { declaration(): DeclarationContext; DOCCOMMENT(): TerminalNode[]; DOCCOMMENT(i: number): TerminalNode; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class DeclarationContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; copyFrom(ctx: DeclarationContext): void; } export declare class ConstContext extends DeclarationContext { qualId(): QualIdContext; type(): TypeContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class VarContext extends DeclarationContext { qualId(): QualIdContext; type(): TypeContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class AssumeContext extends DeclarationContext { _assumeName: IdentOrHoleContext; ASGN(): TerminalNode; expr(): ExprContext; identOrHole(): IdentOrHoleContext | undefined; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class InstanceContext extends DeclarationContext { instanceMod(): InstanceModContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OperContext extends DeclarationContext { operDef(): OperDefContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeDefsContext extends DeclarationContext { typeDef(): TypeDefContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ImportDefContext extends DeclarationContext { importMod(): ImportModContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ExportDefContext extends DeclarationContext { exportMod(): ExportModContext; constructor(ctx: DeclarationContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OperDefContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; copyFrom(ctx: OperDefContext): void; } export declare class AnnotatedOperDefContext extends OperDefContext { _annotatedParameter: AnnotatedParameterContext; _annotOperParam: AnnotatedParameterContext[]; qualifier(): QualifierContext; normalCallName(): NormalCallNameContext; LPAREN(): TerminalNode; RPAREN(): TerminalNode; type(): TypeContext; annotatedParameter(): AnnotatedParameterContext[]; annotatedParameter(i: number): AnnotatedParameterContext; ASGN(): TerminalNode | undefined; expr(): ExprContext | undefined; constructor(ctx: OperDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class DeprecatedOperDefContext extends OperDefContext { _parameter: ParameterContext; _operParam: ParameterContext[]; _annotatedRetType: TypeContext; qualifier(): QualifierContext; normalCallName(): NormalCallNameContext; LPAREN(): TerminalNode | undefined; RPAREN(): TerminalNode | undefined; ASGN(): TerminalNode | undefined; expr(): ExprContext | undefined; type(): TypeContext | undefined; parameter(): ParameterContext[]; parameter(i: number): ParameterContext; constructor(ctx: OperDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ValDestructuringContext extends OperDefContext { destructuringPattern(): DestructuringPatternContext; ASGN(): TerminalNode; expr(): ExprContext; constructor(ctx: OperDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class PureValDestructuringContext extends OperDefContext { destructuringPattern(): DestructuringPatternContext; ASGN(): TerminalNode; expr(): ExprContext; constructor(ctx: OperDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeDefContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; copyFrom(ctx: TypeDefContext): void; } export declare class TypeAbstractDefContext extends TypeDefContext { qualId(): QualIdContext; constructor(ctx: TypeDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeSumDefContext extends TypeDefContext { typeDefHead(): TypeDefHeadContext; ASGN(): TerminalNode; sumTypeDefinition(): SumTypeDefinitionContext; constructor(ctx: TypeDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeAliasDefContext extends TypeDefContext { typeDefHead(): TypeDefHeadContext; ASGN(): TerminalNode; type(): TypeContext; constructor(ctx: TypeDefContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeDefHeadContext extends ParserRuleContext { _typeName: QualIdContext; _LOW_ID: Token; _typeVars: Token[]; qualId(): QualIdContext; LOW_ID(): TerminalNode[]; LOW_ID(i: number): TerminalNode; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class SumTypeDefinitionContext extends ParserRuleContext { _separator: Token; typeSumVariant(): TypeSumVariantContext[]; typeSumVariant(i: number): TypeSumVariantContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeSumVariantContext extends ParserRuleContext { _sumLabel: SimpleIdContext; simpleId(): SimpleIdContext; LPAREN(): TerminalNode | undefined; type(): TypeContext | undefined; RPAREN(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class QualifierContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ImportModContext extends ParserRuleContext { IMPORT(): TerminalNode; name(): NameContext[]; name(i: number): NameContext; identOrStar(): IdentOrStarContext | undefined; FROM(): TerminalNode | undefined; fromSource(): FromSourceContext | undefined; AS(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ExportModContext extends ParserRuleContext { EXPORT(): TerminalNode; name(): NameContext[]; name(i: number): NameContext; identOrStar(): IdentOrStarContext | undefined; AS(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class InstanceModContext extends ParserRuleContext { IMPORT(): TerminalNode; moduleName(): ModuleNameContext; LPAREN(): TerminalNode; RPAREN(): TerminalNode; MUL(): TerminalNode | undefined; name(): NameContext[]; name(i: number): NameContext; ASGN(): TerminalNode[]; ASGN(i: number): TerminalNode; expr(): ExprContext[]; expr(i: number): ExprContext; FROM(): TerminalNode | undefined; fromSource(): FromSourceContext | undefined; AS(): TerminalNode | undefined; qualifiedName(): QualifiedNameContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ModuleNameContext extends ParserRuleContext { qualId(): QualIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class NameContext extends ParserRuleContext { qualId(): QualIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class QualifiedNameContext extends ParserRuleContext { qualId(): QualIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class FromSourceContext extends ParserRuleContext { STRING(): TerminalNode; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; copyFrom(ctx: TypeContext): void; } export declare class TypeFunContext extends TypeContext { type(): TypeContext[]; type(i: number): TypeContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeOperContext extends TypeContext { type(): TypeContext[]; type(i: number): TypeContext; LPAREN(): TerminalNode | undefined; RPAREN(): TerminalNode | undefined; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeSetContext extends TypeContext { SET(): TerminalNode; type(): TypeContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeListContext extends TypeContext { LIST(): TerminalNode; type(): TypeContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeUnitContext extends TypeContext { LPAREN(): TerminalNode; RPAREN(): TerminalNode; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeTupleContext extends TypeContext { LPAREN(): TerminalNode; type(): TypeContext[]; type(i: number): TypeContext; RPAREN(): TerminalNode; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeRecContext extends TypeContext { row(): RowContext | undefined; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeIntContext extends TypeContext { constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeStrContext extends TypeContext { constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeBoolContext extends TypeContext { constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeVarCaseContext extends TypeContext { typeVar(): TypeVarContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeConstContext extends TypeContext { qualId(): QualIdContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeParenContext extends TypeContext { LPAREN(): TerminalNode; type(): TypeContext; RPAREN(): TerminalNode; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeAppContext extends TypeContext { typeApplication(): TypeApplicationContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class WrongTypeAppContext extends TypeContext { wrongTypeApplication(): WrongTypeApplicationContext; constructor(ctx: TypeContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeVarContext extends ParserRuleContext { LOW_ID(): TerminalNode; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RowContext extends ParserRuleContext { _rowVar: IdentifierContext; rowLabel(): RowLabelContext[]; rowLabel(i: number): RowLabelContext; type(): TypeContext[]; type(i: number): TypeContext; identifier(): IdentifierContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RowLabelContext extends ParserRuleContext { simpleId(): SimpleIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeArgsContext extends ParserRuleContext { _type: TypeContext; _typeArg: TypeContext[]; type(): TypeContext[]; type(i: number): TypeContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TypeApplicationContext extends ParserRuleContext { _typeCtor: QualIdContext; typeArgs(): TypeArgsContext; qualId(): QualIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class WrongTypeApplicationContext extends ParserRuleContext { _typeCtor: QualIdContext; _qualId: QualIdContext; _typeArgs: TypeArgsContext; LPAREN(): TerminalNode; typeArgs(): TypeArgsContext; RPAREN(): TerminalNode; qualId(): QualIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ExprContext extends ParserRuleContext { constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; copyFrom(ctx: ExprContext): void; } export declare class DotCallContext extends ExprContext { expr(): ExprContext; nameAfterDot(): NameAfterDotContext; LPAREN(): TerminalNode | undefined; RPAREN(): TerminalNode | undefined; argList(): ArgListContext | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LambdaConsContext extends ExprContext { lambda(): LambdaContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OperAppContext extends ExprContext { normalCallName(): NormalCallNameContext; LPAREN(): TerminalNode; RPAREN(): TerminalNode; argList(): ArgListContext | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ListAppContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class PowContext extends ExprContext { _op: Token; expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class UminusContext extends ExprContext { MINUS(): TerminalNode; expr(): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class MultDivContext extends ExprContext { _op: Token; expr(): ExprContext[]; expr(i: number): ExprContext; MUL(): TerminalNode | undefined; DIV(): TerminalNode | undefined; MOD(): TerminalNode | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class PlusMinusContext extends ExprContext { _op: Token; expr(): ExprContext[]; expr(i: number): ExprContext; PLUS(): TerminalNode | undefined; MINUS(): TerminalNode | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RelationsContext extends ExprContext { _op: Token; expr(): ExprContext[]; expr(i: number): ExprContext; GT(): TerminalNode | undefined; LT(): TerminalNode | undefined; GE(): TerminalNode | undefined; LE(): TerminalNode | undefined; NE(): TerminalNode | undefined; EQ(): TerminalNode | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class AsgnContext extends ExprContext { qualId(): QualIdContext; ASGN(): TerminalNode; expr(): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ErrorEqContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; ASGN(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class AndExprContext extends ExprContext { AND(): TerminalNode; expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class AndContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; AND(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OrExprContext extends ExprContext { OR(): TerminalNode; expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OrContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; OR(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class IffContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; IFF(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ImpliesContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; IMPLIES(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class MatchContext extends ExprContext { matchSumExpr(): MatchSumExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ActionAllContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ActionAnyContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LiteralOrIdContext extends ExprContext { qualId(): QualIdContext | undefined; INT(): TerminalNode | undefined; BOOL(): TerminalNode | undefined; STRING(): TerminalNode | undefined; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TupleContext extends ExprContext { LPAREN(): TerminalNode; expr(): ExprContext[]; expr(i: number): ExprContext; RPAREN(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class UnitContext extends ExprContext { LPAREN(): TerminalNode; RPAREN(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class PairContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RecordContext extends ExprContext { recElem(): RecElemContext[]; recElem(i: number): RecElemContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ListContext extends ExprContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class IfElseContext extends ExprContext { LPAREN(): TerminalNode; expr(): ExprContext[]; expr(i: number): ExprContext; RPAREN(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LetInContext extends ExprContext { operDef(): OperDefContext; expr(): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ParenContext extends ExprContext { LPAREN(): TerminalNode; expr(): ExprContext; RPAREN(): TerminalNode; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class BracesContext extends ExprContext { expr(): ExprContext; constructor(ctx: ExprContext); enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class MatchSumExprContext extends ParserRuleContext { _matchSumCase: MatchSumCaseContext; _matchCase: MatchSumCaseContext[]; MATCH(): TerminalNode; expr(): ExprContext; matchSumCase(): MatchSumCaseContext[]; matchSumCase(i: number): MatchSumCaseContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class MatchSumCaseContext extends ParserRuleContext { _variantMatch: MatchSumVariantContext; _wildCardMatch: Token; expr(): ExprContext; matchSumVariant(): MatchSumVariantContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class MatchSumVariantContext extends ParserRuleContext { _variantLabel: SimpleIdContext; _variantParam: SimpleIdContext; simpleId(): SimpleIdContext[]; simpleId(i: number): SimpleIdContext; LPAREN(): TerminalNode | undefined; RPAREN(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class DeclarationOrExprContext extends ParserRuleContext { declaration(): DeclarationContext | undefined; EOF(): TerminalNode; expr(): ExprContext | undefined; DOCCOMMENT(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LambdaContext extends ParserRuleContext { lambdaUnsugared(): LambdaUnsugaredContext | undefined; lambdaTupleSugar(): LambdaTupleSugarContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LambdaUnsugaredContext extends ParserRuleContext { parameter(): ParameterContext[]; parameter(i: number): ParameterContext; expr(): ExprContext; LPAREN(): TerminalNode | undefined; RPAREN(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LambdaTupleSugarContext extends ParserRuleContext { LPAREN(): TerminalNode[]; LPAREN(i: number): TerminalNode; parameter(): ParameterContext[]; parameter(i: number): ParameterContext; RPAREN(): TerminalNode[]; RPAREN(i: number): TerminalNode; expr(): ExprContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class IdentOrHoleContext extends ParserRuleContext { qualId(): QualIdContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ParameterContext extends ParserRuleContext { _paramName: IdentOrHoleContext; identOrHole(): IdentOrHoleContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class AnnotatedParameterContext extends ParserRuleContext { _paramName: IdentOrHoleContext; type(): TypeContext; identOrHole(): IdentOrHoleContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class DestructuringPatternContext extends ParserRuleContext { tuplePattern(): TuplePatternContext | undefined; recordPattern(): RecordPatternContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class TuplePatternContext extends ParserRuleContext { LPAREN(): TerminalNode; identOrHole(): IdentOrHoleContext[]; identOrHole(i: number): IdentOrHoleContext; RPAREN(): TerminalNode; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RecordPatternContext extends ParserRuleContext { simpleId(): SimpleIdContext[]; simpleId(i: number): SimpleIdContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class IdentOrStarContext extends ParserRuleContext { MUL(): TerminalNode | undefined; qualId(): QualIdContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class ArgListContext extends ParserRuleContext { expr(): ExprContext[]; expr(i: number): ExprContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class RecElemContext extends ParserRuleContext { simpleId(): SimpleIdContext | undefined; expr(): ExprContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class NormalCallNameContext extends ParserRuleContext { _op: Token; AND(): TerminalNode | undefined; OR(): TerminalNode | undefined; IFF(): TerminalNode | undefined; IMPLIES(): TerminalNode | undefined; SET(): TerminalNode | undefined; LIST(): TerminalNode | undefined; qualId(): QualIdContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class NameAfterDotContext extends ParserRuleContext { _op: Token; AND(): TerminalNode | undefined; OR(): TerminalNode | undefined; IFF(): TerminalNode | undefined; IMPLIES(): TerminalNode | undefined; qualId(): QualIdContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class OperatorContext extends ParserRuleContext { AND(): TerminalNode | undefined; OR(): TerminalNode | undefined; IFF(): TerminalNode | undefined; IMPLIES(): TerminalNode | undefined; GT(): TerminalNode | undefined; LT(): TerminalNode | undefined; GE(): TerminalNode | undefined; LE(): TerminalNode | undefined; NE(): TerminalNode | undefined; EQ(): TerminalNode | undefined; MUL(): TerminalNode | undefined; DIV(): TerminalNode | undefined; MOD(): TerminalNode | undefined; PLUS(): TerminalNode | undefined; MINUS(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class LiteralContext extends ParserRuleContext { STRING(): TerminalNode | undefined; BOOL(): TerminalNode | undefined; INT(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class QualIdContext extends ParserRuleContext { identifier(): IdentifierContext[]; identifier(i: number): IdentifierContext; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class SimpleIdContext extends ParserRuleContext { context: string; _qualId: QualIdContext; identifier(): IdentifierContext | undefined; qualId(): QualIdContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number, context: string); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class IdentifierContext extends ParserRuleContext { _reserved: ReservedContext; LOW_ID(): TerminalNode | undefined; CAP_ID(): TerminalNode | undefined; keywordAsID(): KeywordAsIDContext | undefined; reserved(): ReservedContext | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: QuintListener): void; exitRule(listener: QuintListener): void; accept<Result>(visitor: QuintVisitor<Result>): Result; } export declare class KeywordAsIDContext extends ParserRuleContext { FROM(): TerminalNode | undefined; AS(): TerminalNode | undefined; SET(): TerminalNode | undefined; LIST(): TerminalNode | undefined; constructor(parent: ParserRuleContext | undefined, invokingState: number); get ruleIndex(): number; enterRule(listener: