diff --git a/package-lock.json b/package-lock.json index 6a77b82..1fe32fc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,6 +1,6 @@ { "name": "imba-document", - "version": "0.1.5", + "version": "0.1.8", "lockfileVersion": 1, "requires": true, "dependencies": { @@ -1202,9 +1202,9 @@ } }, "imba": { - "version": "2.0.0-alpha.46", - "resolved": "https://registry.npmjs.org/imba/-/imba-2.0.0-alpha.46.tgz", - "integrity": "sha512-mxUDz0fBadnUWmASTMwdBZXE385boIRkO8BftRlnku2+DirKLA+bgf39MRr/RaaMYfYSDTcdjZYbbcPx7sLNwg==", + "version": "2.0.0-alpha.57", + "resolved": "https://registry.npmjs.org/imba/-/imba-2.0.0-alpha.57.tgz", + "integrity": "sha512-4pAuwYOU7GKDqlt7ibAsEZ/eVWh4FsSvMNlff4q3QG/AOmFQTCtSvyTVauGLhLJFMY10FQ1Xb+MvaAc6Wge78A==", "dev": true }, "imba-rollup": { diff --git a/package.json b/package.json index 6c9769d..4f9c9b2 100644 --- a/package.json +++ b/package.json @@ -15,7 +15,7 @@ }, "main": "./index.js", "devDependencies": { - "imba": "^2.0.0-alpha.46", + "imba": "^2.0.0-alpha.57", "imba-rollup": "^2.0.0-alpha.41" }, "dependencies": {} diff --git a/src/index.imba b/src/index.imba index dd993be..87d67db 100644 --- a/src/index.imba +++ b/src/index.imba @@ -1,3 +1,2 @@ -import { ImbaDocument } from './document' - -export { ImbaDocument } \ No newline at end of file +export { ImbaDocument } from './document' +export { Monarch } from './monarch.imba' diff --git a/src/monarch.imba b/src/monarch.imba new file mode 100644 index 0000000..4e6d5c8 --- /dev/null +++ b/src/monarch.imba @@ -0,0 +1,13 @@ + +import {compile} from './monarch/compile' +import {MonarchTokenizer} from './monarch/lexer' + +const tokenizers = {} + +export class Monarch + static def getTokenizer langId + tokenizers[langId] + + static def createTokenizer langId, grammar + let compiled = compile(langId,grammar) + tokenizers[langId] = MonarchTokenizer.new(langId,compiled) \ No newline at end of file