diff --git a/packages/parser/package.json b/packages/parser/package.json index ce66a9a40..6affa2ce6 100644 --- a/packages/parser/package.json +++ b/packages/parser/package.json @@ -41,5 +41,8 @@ ], "publishConfig": { "access": "public" + }, + "devDependencies": { + "chevrotain": "^11.0.3" } } diff --git a/packages/parser/src/language/chevrotainWrapper.ts b/packages/parser/src/language/chevrotainWrapper.ts deleted file mode 100644 index bde44a22e..000000000 --- a/packages/parser/src/language/chevrotainWrapper.ts +++ /dev/null @@ -1,51 +0,0 @@ -/* eslint-disable @typescript-eslint/no-explicit-any */ - -type CustomPatternMatcherReturn = [string] & { payload?: any }; - -export type CustomPatternMatcherFunc = ( - text: string, - offset: number, - tokens: IToken[], - groups: { - [groupName: string]: IToken[]; - } -) => CustomPatternMatcherReturn | RegExpExecArray | null; - -interface ICustomPattern { - exec: CustomPatternMatcherFunc; -} - -type TokenPattern = RegExp | string | CustomPatternMatcherFunc | ICustomPattern; - -export interface IToken { - image: string; - startOffset: number; - startLine?: number; - startColumn?: number; - endOffset?: number; - endLine?: number; - endColumn?: number; - isInsertedInRecovery?: boolean; - tokenTypeIdx: number; - tokenType: TokenType; - payload?: any; -} - -export interface TokenType { - name: string; - GROUP?: string; - PATTERN?: TokenPattern; - LABEL?: string; - LONGER_ALT?: TokenType | TokenType[]; - POP_MODE?: boolean; - PUSH_MODE?: string; - LINE_BREAKS?: boolean; - CATEGORIES?: TokenType[]; - tokenTypeIdx?: number; - categoryMatches?: number[]; - categoryMatchesMap?: { - [tokType: number]: boolean; - }; - isParent?: boolean; - START_CHARS_HINT?: (string | number)[]; -} diff --git a/packages/parser/src/language/common/tokenBuilder.ts b/packages/parser/src/language/common/tokenBuilder.ts index 7e63efca3..c57cb0ec5 100644 --- a/packages/parser/src/language/common/tokenBuilder.ts +++ b/packages/parser/src/language/common/tokenBuilder.ts @@ -1,5 +1,5 @@ import type { GrammarAST, Stream, TokenBuilderOptions } from 'langium'; -import type { TokenType } from '../chevrotainWrapper.js'; +import type { TokenType } from 'chevrotain'; import { DefaultTokenBuilder } from 'langium'; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index cc8c5879d..79908ad61 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -486,6 +486,10 @@ importers: langium: specifier: 2.1.0 version: 2.1.0 + devDependencies: + chevrotain: + specifier: ^11.0.3 + version: 11.0.3 tests/webpack: dependencies: