@scinorandex/sparse
Version:
Yet another parser generator
593 lines (592 loc) • 14.1 kB
TypeScript
export declare const states: ({
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<PROGRAM>": {
type: string;
value: number;
};
"<STATES>": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<STATES>": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"[COMMA]": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[IDENTIFIER]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[R_BRACKET]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[R_ANGLE]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EQUALS]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[NUMBER]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
})[];
export declare const productions: ({
lhs: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
originalProductionIndex: number;
rhs: {
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
}[];
} | {
lhs: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: string;
originalProductionIndex: number;
rhs: ({
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: string;
} | {
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
})[];
})[];
export declare const selfhosted: {
states: ({
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<PROGRAM>": {
type: string;
value: number;
};
"<STATES>": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<STATES>": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"[COMMA]": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[IDENTIFIER]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<ITEMS>": {
type: string;
value: number;
};
"<ITEM>": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[R_BRACKET]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[R_ANGLE]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EOF]": {
type: string;
value: number;
};
"[L_BRACKET]": {
type: string;
value: number;
};
"[L_ANGLE]": {
type: string;
value: number;
};
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[EQUALS]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[NUMBER]"?: undefined;
} | {
"[NUMBER]": {
type: string;
value: number;
};
"[L_BRACKET]"?: undefined;
"[L_ANGLE]"?: undefined;
"<PROGRAM>"?: undefined;
"<STATES>"?: undefined;
"<ITEMS>"?: undefined;
"<ITEM>"?: undefined;
"[EOF]"?: undefined;
"[COMMA]"?: undefined;
"[IDENTIFIER]"?: undefined;
"[R_BRACKET]"?: undefined;
"[R_ANGLE]"?: undefined;
"[EQUALS]"?: undefined;
})[];
productions: ({
lhs: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
originalProductionIndex: number;
rhs: {
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
}[];
} | {
lhs: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: string;
originalProductionIndex: number;
rhs: ({
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: string;
} | {
type: string;
token: {
column: number;
lexeme: string;
line: number;
type: number;
};
identifier: string;
name: null;
})[];
})[];
};