ifc-expressions
Version:
Parsing and evaluation of IFC expressions
332 lines (331 loc) • 15.2 kB
TypeScript
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;
}