UNPKG

ifc-expressions

Version:

Parsing and evaluation of IFC expressions

332 lines (331 loc) 15.2 kB
import { ATN, DFA, FailedPredicateException, Parser, RuleContext, ParserRuleContext, TerminalNode, Token, TokenStream } from 'antlr4'; import IfcExpressionListener from "./IfcExpressionListener.js"; import IfcExpressionVisitor from "./IfcExpressionVisitor.js"; export default class IfcExpressionParser 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 INT = 14; static readonly FLOAT = 15; static readonly BOOLEAN = 16; static readonly LOGICAL_UNKNOWN = 17; static readonly DOT = 18; static readonly QUOTED_STRING = 19; static readonly IDENTIFIER = 20; static readonly WS = 21; static readonly NEWLINE = 22; static readonly BOOLEAN_BINARY_OP = 23; static readonly CMP_OP = 24; static readonly EOF: number; static readonly RULE_expr = 0; static readonly RULE_singleExpr = 1; static readonly RULE_methodCallChain = 2; static readonly RULE_functionCall = 3; static readonly RULE_exprList = 4; static readonly RULE_arrayExpr = 5; static readonly RULE_arrayElementList = 6; static readonly RULE_literal = 7; static readonly RULE_numLiteral = 8; static readonly RULE_stringLiteral = 9; static readonly RULE_booleanLiteral = 10; static readonly RULE_logicalLiteral = 11; static readonly RULE_variableRef = 12; static readonly literalNames: (string | null)[]; static readonly symbolicNames: (string | null)[]; static readonly ruleNames: string[]; get grammarFileName(): string; get literalNames(): (string | null)[]; get symbolicNames(): (string | null)[]; get ruleNames(): string[]; get serializedATN(): number[]; protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException; constructor(input: TokenStream); expr(): ExprContext; singleExpr(): SingleExprContext; singleExpr(_p: number): SingleExprContext; methodCallChain(): MethodCallChainContext; functionCall(): FunctionCallContext; exprList(): ExprListContext; arrayExpr(): ArrayExprContext; arrayElementList(): ArrayElementListContext; literal(): LiteralContext; numLiteral(): NumLiteralContext; stringLiteral(): StringLiteralContext; booleanLiteral(): BooleanLiteralContext; logicalLiteral(): LogicalLiteralContext; variableRef(): VariableRefContext; sempred(localctx: RuleContext, ruleIndex: number, predIndex: number): boolean; private singleExpr_sempred; static readonly _serializedATN: number[]; private static __ATN; static get _ATN(): ATN; static DecisionsToDFA: DFA[]; } export declare class ExprContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); singleExpr(): SingleExprContext; EOF(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SingleExprContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); get ruleIndex(): number; copyFrom(ctx: SingleExprContext): void; } export declare class SEComparisonContext extends SingleExprContext { _left: SingleExprContext; _right: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); CMP_OP(): TerminalNode; singleExpr_list(): SingleExprContext[]; singleExpr(i: number): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SELiteralContext extends SingleExprContext { _sub: LiteralContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); literal(): LiteralContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEParenthesisContext extends SingleExprContext { _sub: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr(): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEMulDivContext extends SingleExprContext { _left: SingleExprContext; _op: Token; _right: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr_list(): SingleExprContext[]; singleExpr(i: number): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEPowerContext extends SingleExprContext { _left: SingleExprContext; _op: Token; _right: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr_list(): SingleExprContext[]; singleExpr(i: number): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEBooleanBinaryOpContext extends SingleExprContext { _left: SingleExprContext; _op: Token; _right: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr_list(): SingleExprContext[]; singleExpr(i: number): SingleExprContext; BOOLEAN_BINARY_OP(): TerminalNode; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEFunctionCallContext extends SingleExprContext { _sub: FunctionCallContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); functionCall(): FunctionCallContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEArrayExprContext extends SingleExprContext { _sub: ArrayExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); arrayExpr(): ArrayExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SENotContext extends SingleExprContext { _sub: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr(): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEVariableRefContext extends SingleExprContext { _sub: VariableRefContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); variableRef(): VariableRefContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEUnaryMultipleMinusContext extends SingleExprContext { _sub: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr(): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEUnaryMinusContext extends SingleExprContext { _sub: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr(): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEAddSubContext extends SingleExprContext { _left: SingleExprContext; _op: Token; _right: SingleExprContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr_list(): SingleExprContext[]; singleExpr(i: number): SingleExprContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class SEMethodCallContext extends SingleExprContext { _target: SingleExprContext; _call: MethodCallChainContext; constructor(parser: IfcExpressionParser, ctx: SingleExprContext); singleExpr(): SingleExprContext; methodCallChain(): MethodCallChainContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class MethodCallChainContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); get ruleIndex(): number; copyFrom(ctx: MethodCallChainContext): void; } export declare class MethodCallChainInnerContext extends MethodCallChainContext { _target: FunctionCallContext; _call: MethodCallChainContext; constructor(parser: IfcExpressionParser, ctx: MethodCallChainContext); DOT(): TerminalNode; functionCall(): FunctionCallContext; methodCallChain(): MethodCallChainContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class MethodCallChainEndContext extends MethodCallChainContext { _call: FunctionCallContext; constructor(parser: IfcExpressionParser, ctx: MethodCallChainContext); DOT(): TerminalNode; functionCall(): FunctionCallContext; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class FunctionCallContext extends ParserRuleContext { _sub: ExprListContext; constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); IDENTIFIER(): TerminalNode; exprList(): ExprListContext; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class ExprListContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); singleExpr(): SingleExprContext; exprList(): ExprListContext; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class ArrayExprContext extends ParserRuleContext { _sub: ArrayElementListContext; constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); arrayElementList(): ArrayElementListContext; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class ArrayElementListContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); singleExpr(): SingleExprContext; arrayElementList(): ArrayElementListContext; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class LiteralContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); numLiteral(): NumLiteralContext; stringLiteral(): StringLiteralContext; booleanLiteral(): BooleanLiteralContext; logicalLiteral(): LogicalLiteralContext; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class NumLiteralContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); INT(): TerminalNode; FLOAT(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class StringLiteralContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); QUOTED_STRING(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class BooleanLiteralContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); BOOLEAN(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class LogicalLiteralContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); LOGICAL_UNKNOWN(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; } export declare class VariableRefContext extends ParserRuleContext { constructor(parser?: IfcExpressionParser, parent?: ParserRuleContext, invokingState?: number); IDENTIFIER(): TerminalNode; get ruleIndex(): number; enterRule(listener: IfcExpressionListener): void; exitRule(listener: IfcExpressionListener): void; accept<Result>(visitor: IfcExpressionVisitor<Result>): Result; }