ifc-expressions
Version:
Parsing and evaluation of IFC expressions
355 lines (354 loc) • 16 kB
TypeScript
import * as antlr from "antlr4ng";
import { Token } from "antlr4ng";
import { IfcExpressionListener } from "./IfcExpressionListener.js";
import { IfcExpressionVisitor } from "./IfcExpressionVisitor.js";
export declare class IfcExpressionParser extends antlr.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 RULE_expr = 0;
static readonly RULE_singleExpr = 1;
static readonly RULE_methodCallChain = 2;
static readonly RULE_methodAccessor = 3;
static readonly RULE_functionCall = 4;
static readonly RULE_exprList = 5;
static readonly RULE_arrayExpr = 6;
static readonly RULE_arrayElementList = 7;
static readonly RULE_literal = 8;
static readonly RULE_numLiteral = 9;
static readonly RULE_stringLiteral = 10;
static readonly RULE_booleanLiteral = 11;
static readonly RULE_logicalLiteral = 12;
static readonly RULE_variableRef = 13;
static readonly literalNames: string[];
static readonly symbolicNames: string[];
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): antlr.FailedPredicateException;
constructor(input: antlr.TokenStream);
expr(): ExprContext;
singleExpr(): SingleExprContext;
singleExpr(_p: number): SingleExprContext;
methodCallChain(): MethodCallChainContext;
methodAccessor(): MethodAccessorContext;
functionCall(): FunctionCallContext;
exprList(): ExprListContext;
arrayExpr(): ArrayExprContext;
arrayElementList(): ArrayElementListContext;
literal(): LiteralContext;
numLiteral(): NumLiteralContext;
stringLiteral(): StringLiteralContext;
booleanLiteral(): BooleanLiteralContext;
logicalLiteral(): LogicalLiteralContext;
variableRef(): VariableRefContext;
sempred(localContext: antlr.ParserRuleContext | null, ruleIndex: number, predIndex: number): boolean;
private singleExpr_sempred;
static readonly _serializedATN: number[];
private static __ATN;
static get _ATN(): antlr.ATN;
private static readonly vocabulary;
get vocabulary(): antlr.Vocabulary;
private static readonly decisionsToDFA;
}
export declare class ExprContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
singleExpr(): SingleExprContext;
EOF(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SingleExprContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
get ruleIndex(): number;
copyFrom(ctx: SingleExprContext): void;
}
export declare class SEUnaryMultipleMinusContext extends SingleExprContext {
_sub?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEParenthesisContext extends SingleExprContext {
_sub?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEUnaryMinusContext extends SingleExprContext {
_sub?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SENotContext extends SingleExprContext {
_sub?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEVariableRefContext extends SingleExprContext {
_sub?: VariableRefContext;
constructor(ctx: SingleExprContext);
variableRef(): VariableRefContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEFunctionCallContext extends SingleExprContext {
_sub?: FunctionCallContext;
constructor(ctx: SingleExprContext);
functionCall(): FunctionCallContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SELiteralContext extends SingleExprContext {
_sub?: LiteralContext;
constructor(ctx: SingleExprContext);
literal(): LiteralContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEArrayExprContext extends SingleExprContext {
_sub?: ArrayExprContext;
constructor(ctx: SingleExprContext);
arrayExpr(): ArrayExprContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEPowerContext extends SingleExprContext {
_left?: SingleExprContext;
_op?: Token | null;
_right?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext[];
singleExpr(i: number): SingleExprContext | null;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEMulDivContext extends SingleExprContext {
_left?: SingleExprContext;
_op?: Token | null;
_right?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext[];
singleExpr(i: number): SingleExprContext | null;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEAddSubContext extends SingleExprContext {
_left?: SingleExprContext;
_op?: Token | null;
_right?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext[];
singleExpr(i: number): SingleExprContext | null;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEComparisonContext extends SingleExprContext {
_left?: SingleExprContext;
_right?: SingleExprContext;
constructor(ctx: SingleExprContext);
CMP_OP(): antlr.TerminalNode;
singleExpr(): SingleExprContext[];
singleExpr(i: number): SingleExprContext | null;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEBooleanBinaryOpContext extends SingleExprContext {
_left?: SingleExprContext;
_op?: Token | null;
_right?: SingleExprContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext[];
singleExpr(i: number): SingleExprContext | null;
BOOLEAN_BINARY_OP(): antlr.TerminalNode;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class SEMethodCallContext extends SingleExprContext {
_target?: SingleExprContext;
_call?: MethodCallChainContext;
constructor(ctx: SingleExprContext);
singleExpr(): SingleExprContext;
methodCallChain(): MethodCallChainContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class MethodCallChainContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
get ruleIndex(): number;
copyFrom(ctx: MethodCallChainContext): void;
}
export declare class MethodCallChainInnerContext extends MethodCallChainContext {
_target?: MethodAccessorContext;
_call?: MethodCallChainContext;
constructor(ctx: MethodCallChainContext);
DOT(): antlr.TerminalNode;
methodAccessor(): MethodAccessorContext;
methodCallChain(): MethodCallChainContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class MethodCallChainEndContext extends MethodCallChainContext {
_call?: MethodAccessorContext;
constructor(ctx: MethodCallChainContext);
DOT(): antlr.TerminalNode;
methodAccessor(): MethodAccessorContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class MethodAccessorContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
get ruleIndex(): number;
copyFrom(ctx: MethodAccessorContext): void;
}
export declare class MethodFunctionCallContext extends MethodAccessorContext {
constructor(ctx: MethodAccessorContext);
functionCall(): FunctionCallContext;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class MethodPropertyAccessContext extends MethodAccessorContext {
constructor(ctx: MethodAccessorContext);
IDENTIFIER(): antlr.TerminalNode;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class FunctionCallContext extends antlr.ParserRuleContext {
_sub?: ExprListContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
IDENTIFIER(): antlr.TerminalNode;
exprList(): ExprListContext | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class ExprListContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
singleExpr(): SingleExprContext;
exprList(): ExprListContext | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class ArrayExprContext extends antlr.ParserRuleContext {
_sub?: ArrayElementListContext;
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
arrayElementList(): ArrayElementListContext | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class ArrayElementListContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
singleExpr(): SingleExprContext;
arrayElementList(): ArrayElementListContext | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class LiteralContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
numLiteral(): NumLiteralContext | null;
stringLiteral(): StringLiteralContext | null;
booleanLiteral(): BooleanLiteralContext | null;
logicalLiteral(): LogicalLiteralContext | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class NumLiteralContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
INT(): antlr.TerminalNode | null;
FLOAT(): antlr.TerminalNode | null;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class StringLiteralContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
QUOTED_STRING(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class BooleanLiteralContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
BOOLEAN(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class LogicalLiteralContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
LOGICAL_UNKNOWN(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}
export declare class VariableRefContext extends antlr.ParserRuleContext {
constructor(parent: antlr.ParserRuleContext | null, invokingState: number);
IDENTIFIER(): antlr.TerminalNode;
get ruleIndex(): number;
enterRule(listener: IfcExpressionListener): void;
exitRule(listener: IfcExpressionListener): void;
accept<Result>(visitor: IfcExpressionVisitor<Result>): Result | null;
}