@plurnk/plurnk-mimetypes-text-clojure 0.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +15 -0
- package/dist/TextClojure.d.ts +7 -0
- package/dist/TextClojure.d.ts.map +1 -0
- package/dist/TextClojure.js +205 -0
- package/dist/TextClojure.js.map +1 -0
- package/dist/generated/ClojureLexer.d.ts +58 -0
- package/dist/generated/ClojureLexer.d.ts.map +1 -0
- package/dist/generated/ClojureLexer.js +227 -0
- package/dist/generated/ClojureLexer.js.map +1 -0
- package/dist/generated/ClojureParser.d.ts +418 -0
- package/dist/generated/ClojureParser.d.ts.map +1 -0
- package/dist/generated/ClojureParser.js +2475 -0
- package/dist/generated/ClojureParser.js.map +1 -0
- package/dist/generated/ClojureVisitor.d.ts +291 -0
- package/dist/generated/ClojureVisitor.d.ts.map +1 -0
- package/dist/generated/ClojureVisitor.js +251 -0
- package/dist/generated/ClojureVisitor.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/grammar/Clojure.g4 +357 -0
- package/package.json +58 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 PossumTech Laboratories
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# @plurnk/plurnk-mimetypes-text-clojure
|
|
2
|
+
|
|
3
|
+
text/x-clojure mimetype handler for plurnk-service. ANTLR-backed extraction using grammars-v4's `clojure` grammar.
|
|
4
|
+
|
|
5
|
+
## Symbols emitted
|
|
6
|
+
|
|
7
|
+
Per SPEC §3 inclusion policy: classes, functions, methods, fields, interfaces, enums, types, modules, variables, constants. Imports excluded; locals inside function bodies excluded.
|
|
8
|
+
|
|
9
|
+
## Install
|
|
10
|
+
|
|
11
|
+
```bash
|
|
12
|
+
npm install @plurnk/plurnk-mimetypes-text-clojure
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
Auto-discovered by `@plurnk/plurnk-mimetypes` when installed alongside it.
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AntlrExtractor } from "@plurnk/plurnk-mimetypes";
|
|
2
|
+
import type { ExtractionVisitor } from "@plurnk/plurnk-mimetypes";
|
|
3
|
+
export default class TextClojure extends AntlrExtractor {
|
|
4
|
+
protected parseTree(content: string): unknown;
|
|
5
|
+
protected createVisitor(): ExtractionVisitor;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=TextClojure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextClojure.d.ts","sourceRoot":"","sources":["../src/TextClojure.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAiB,MAAM,0BAA0B,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAelE,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,cAAc;IACnD,SAAS,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAQ7C,SAAS,CAAC,aAAa,IAAI,iBAAiB;CAG/C"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
import { AntlrExtractor, withExtractor } from "@plurnk/plurnk-mimetypes";
|
|
2
|
+
import { CharStream, CommonTokenStream } from "antlr4ng";
|
|
3
|
+
import { ClojureLexer } from "./generated/ClojureLexer.js";
|
|
4
|
+
import { ClojureParser } from "./generated/ClojureParser.js";
|
|
5
|
+
import { ClojureVisitor } from "./generated/ClojureVisitor.js";
|
|
6
|
+
// text/x-clojure handler. ANTLR grammar from grammars-v4/clojure.
|
|
7
|
+
//
|
|
8
|
+
// Parser entry rule: file_ → form* EOF.
|
|
9
|
+
//
|
|
10
|
+
// In Clojure, everything is an s-expression and "declarations" are macro
|
|
11
|
+
// invocations: (def x ...), (defn fn [args] ...), (defmacro ...),
|
|
12
|
+
// (defprotocol ...), (defrecord Name ...), (deftype ...), (defmulti ...),
|
|
13
|
+
// (defmethod ...), (defonce ...), (ns ns-name ...). We surface each by
|
|
14
|
+
// inspecting the first symbol of every top-level list_.
|
|
15
|
+
export default class TextClojure extends AntlrExtractor {
|
|
16
|
+
parseTree(content) {
|
|
17
|
+
const lexer = new ClojureLexer(CharStream.fromString(content));
|
|
18
|
+
const tokens = new CommonTokenStream(lexer);
|
|
19
|
+
const parser = new ClojureParser(tokens);
|
|
20
|
+
parser.removeErrorListeners();
|
|
21
|
+
return parser.file_();
|
|
22
|
+
}
|
|
23
|
+
createVisitor() {
|
|
24
|
+
return new TextClojureVisitor();
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
// SPEC §3 mapping for Clojure:
|
|
28
|
+
// (ns ns-name ...) → module
|
|
29
|
+
// (def name expr) → constant (top-level binding)
|
|
30
|
+
// (defonce name expr) → constant
|
|
31
|
+
// (defn fn [args] body) → function
|
|
32
|
+
// (defn- fn [args] body) → function (private; outline doesn't
|
|
33
|
+
// surface visibility)
|
|
34
|
+
// (defmacro m [args] body) → function
|
|
35
|
+
// (defmulti name dispatch-fn) → function
|
|
36
|
+
// (defmethod name dispatch body) → function (rendered as `name dispatch`)
|
|
37
|
+
// (defprotocol P (method ...)) → interface
|
|
38
|
+
// (defrecord R [fields]) → class; fields surface as field syms
|
|
39
|
+
// (deftype T [fields]) → class; fields → field
|
|
40
|
+
// (defstruct s ...) → class
|
|
41
|
+
class TextClojureVisitor extends withExtractor(ClojureVisitor) {
|
|
42
|
+
visitList_ = (ctx) => {
|
|
43
|
+
if (this.inBody)
|
|
44
|
+
return null;
|
|
45
|
+
// First form's text identifies the macro/special form.
|
|
46
|
+
const forms = collectChildren(ctx, "forms");
|
|
47
|
+
if (forms.length === 0)
|
|
48
|
+
return null;
|
|
49
|
+
const inner = forms[0].form?.();
|
|
50
|
+
const innerArr = Array.isArray(inner) ? inner : inner ? [inner] : [];
|
|
51
|
+
if (innerArr.length < 1)
|
|
52
|
+
return null;
|
|
53
|
+
const head = innerArr[0].getText?.();
|
|
54
|
+
if (!head)
|
|
55
|
+
return null;
|
|
56
|
+
// Extract the second form's text as the declared name (where
|
|
57
|
+
// applicable). Some forms (`defmethod`) consume more than two
|
|
58
|
+
// operands before the body — we still emit the name as the second
|
|
59
|
+
// form for simplicity. When a form has a metadata reader macro
|
|
60
|
+
// (`^:private foo`, `^String x`), descend past it to the wrapped
|
|
61
|
+
// symbol.
|
|
62
|
+
const second = unwrapReaderMacro(innerArr[1]);
|
|
63
|
+
const name = second?.getText?.() ?? null;
|
|
64
|
+
switch (head) {
|
|
65
|
+
case "ns":
|
|
66
|
+
if (name)
|
|
67
|
+
this.addSymbol("module", name, ctx);
|
|
68
|
+
return null;
|
|
69
|
+
case "def":
|
|
70
|
+
case "defonce":
|
|
71
|
+
if (name)
|
|
72
|
+
this.addSymbol("constant", name, ctx);
|
|
73
|
+
return null;
|
|
74
|
+
case "defn":
|
|
75
|
+
case "defn-":
|
|
76
|
+
case "defmacro":
|
|
77
|
+
case "defmulti":
|
|
78
|
+
if (name) {
|
|
79
|
+
const params = extractParamVector(innerArr);
|
|
80
|
+
this.addSymbol("function", name, ctx, params);
|
|
81
|
+
}
|
|
82
|
+
return null;
|
|
83
|
+
case "defmethod": {
|
|
84
|
+
// (defmethod name dispatch-val [args] body)
|
|
85
|
+
const dispatch = innerArr[2];
|
|
86
|
+
const dispatchText = dispatch?.getText?.();
|
|
87
|
+
if (name) {
|
|
88
|
+
const display = dispatchText ? `${name} ${dispatchText}` : name;
|
|
89
|
+
this.addSymbol("function", display, ctx);
|
|
90
|
+
}
|
|
91
|
+
return null;
|
|
92
|
+
}
|
|
93
|
+
case "defprotocol":
|
|
94
|
+
if (name) {
|
|
95
|
+
this.addSymbol("interface", name, ctx);
|
|
96
|
+
// Each subsequent list_ inside the body is a method signature:
|
|
97
|
+
// (method-name [args] "doc")
|
|
98
|
+
for (let i = 2; i < innerArr.length; i += 1) {
|
|
99
|
+
const sigName = firstSymbolInListForm(innerArr[i]);
|
|
100
|
+
if (sigName)
|
|
101
|
+
this.addSymbol("method", sigName, ctx);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
return null;
|
|
105
|
+
case "defrecord":
|
|
106
|
+
case "deftype":
|
|
107
|
+
case "defstruct":
|
|
108
|
+
if (name) {
|
|
109
|
+
this.addSymbol("class", name, ctx);
|
|
110
|
+
// The next form is typically the field vector.
|
|
111
|
+
const fields = extractFieldVector(innerArr[2]);
|
|
112
|
+
for (const f of fields)
|
|
113
|
+
this.addSymbol("field", f, ctx);
|
|
114
|
+
}
|
|
115
|
+
return null;
|
|
116
|
+
default:
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
// Find the first vector in the forms after the (defn/defmulti/etc) name
|
|
122
|
+
// and return its contained symbol texts.
|
|
123
|
+
function extractParamVector(formArr) {
|
|
124
|
+
for (let i = 2; i < formArr.length; i += 1) {
|
|
125
|
+
const f = formArr[i];
|
|
126
|
+
const vec = f.vector?.();
|
|
127
|
+
if (vec)
|
|
128
|
+
return vectorSymbolNames(vec);
|
|
129
|
+
}
|
|
130
|
+
return [];
|
|
131
|
+
}
|
|
132
|
+
function extractFieldVector(form) {
|
|
133
|
+
if (!form)
|
|
134
|
+
return [];
|
|
135
|
+
const f = form;
|
|
136
|
+
const vec = f.vector?.();
|
|
137
|
+
if (!vec)
|
|
138
|
+
return [];
|
|
139
|
+
return vectorSymbolNames(vec);
|
|
140
|
+
}
|
|
141
|
+
function vectorSymbolNames(vec) {
|
|
142
|
+
const node = vec;
|
|
143
|
+
const forms = node.forms?.();
|
|
144
|
+
if (!forms)
|
|
145
|
+
return [];
|
|
146
|
+
const fNode = forms;
|
|
147
|
+
const raw = fNode.form?.();
|
|
148
|
+
const arr = Array.isArray(raw) ? raw : raw ? [raw] : [];
|
|
149
|
+
const out = [];
|
|
150
|
+
for (const f of arr) {
|
|
151
|
+
const t = f.getText?.();
|
|
152
|
+
if (t && !t.startsWith("&"))
|
|
153
|
+
out.push(t);
|
|
154
|
+
}
|
|
155
|
+
return out;
|
|
156
|
+
}
|
|
157
|
+
// For (defprotocol P (method-name [args] "doc") (other-method ...) ...),
|
|
158
|
+
// each child of innerArr after the protocol name is itself a list. Pull the
|
|
159
|
+
// first symbol inside each.
|
|
160
|
+
function firstSymbolInListForm(form) {
|
|
161
|
+
const f = form;
|
|
162
|
+
const list = f.list_?.();
|
|
163
|
+
if (!list)
|
|
164
|
+
return null;
|
|
165
|
+
const formsCtx = collectChildren(list, "forms")[0];
|
|
166
|
+
if (!formsCtx)
|
|
167
|
+
return null;
|
|
168
|
+
const inner = formsCtx.form?.();
|
|
169
|
+
const arr = Array.isArray(inner) ? inner : inner ? [inner] : [];
|
|
170
|
+
if (arr.length === 0)
|
|
171
|
+
return null;
|
|
172
|
+
return arr[0].getText?.() ?? null;
|
|
173
|
+
}
|
|
174
|
+
// A reader_macro like `^:private foo` wraps the actual form. The grammar's
|
|
175
|
+
// metadata production has shape `^ form form` — the LAST form is the value
|
|
176
|
+
// being annotated. Descend recursively (annotations can stack).
|
|
177
|
+
function unwrapReaderMacro(form) {
|
|
178
|
+
if (!form)
|
|
179
|
+
return form;
|
|
180
|
+
const f = form;
|
|
181
|
+
const rm = f.reader_macro?.();
|
|
182
|
+
if (!rm)
|
|
183
|
+
return form;
|
|
184
|
+
// tag: '^' form form — type/metadata annotation: second form is target
|
|
185
|
+
// meta_data: '#^' form form — alternative meta syntax: same shape
|
|
186
|
+
const rmNode = rm;
|
|
187
|
+
const tag = rmNode.tag?.() ?? rmNode.meta_data?.();
|
|
188
|
+
if (!tag)
|
|
189
|
+
return form;
|
|
190
|
+
const tagForms = collectChildren(tag, "form");
|
|
191
|
+
if (tagForms.length >= 2)
|
|
192
|
+
return unwrapReaderMacro(tagForms[tagForms.length - 1]);
|
|
193
|
+
return form;
|
|
194
|
+
}
|
|
195
|
+
function collectChildren(ctx, methodName) {
|
|
196
|
+
const node = ctx;
|
|
197
|
+
const accessor = node[methodName];
|
|
198
|
+
if (typeof accessor !== "function")
|
|
199
|
+
return [];
|
|
200
|
+
const raw = accessor.call(node);
|
|
201
|
+
if (Array.isArray(raw))
|
|
202
|
+
return raw;
|
|
203
|
+
return raw ? [raw] : [];
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=TextClojure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TextClojure.js","sourceRoot":"","sources":["../src/TextClojure.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as antlr from "antlr4ng";
|
|
2
|
+
export declare class ClojureLexer extends antlr.Lexer {
|
|
3
|
+
static readonly T__0 = 1;
|
|
4
|
+
static readonly T__1 = 2;
|
|
5
|
+
static readonly T__2 = 3;
|
|
6
|
+
static readonly T__3 = 4;
|
|
7
|
+
static readonly T__4 = 5;
|
|
8
|
+
static readonly T__5 = 6;
|
|
9
|
+
static readonly T__6 = 7;
|
|
10
|
+
static readonly T__7 = 8;
|
|
11
|
+
static readonly T__8 = 9;
|
|
12
|
+
static readonly T__9 = 10;
|
|
13
|
+
static readonly T__10 = 11;
|
|
14
|
+
static readonly T__11 = 12;
|
|
15
|
+
static readonly T__12 = 13;
|
|
16
|
+
static readonly T__13 = 14;
|
|
17
|
+
static readonly T__14 = 15;
|
|
18
|
+
static readonly T__15 = 16;
|
|
19
|
+
static readonly T__16 = 17;
|
|
20
|
+
static readonly T__17 = 18;
|
|
21
|
+
static readonly T__18 = 19;
|
|
22
|
+
static readonly T__19 = 20;
|
|
23
|
+
static readonly STRING = 21;
|
|
24
|
+
static readonly FLOAT = 22;
|
|
25
|
+
static readonly HEX = 23;
|
|
26
|
+
static readonly BIN = 24;
|
|
27
|
+
static readonly LONG = 25;
|
|
28
|
+
static readonly BIGN = 26;
|
|
29
|
+
static readonly CHAR_U = 27;
|
|
30
|
+
static readonly CHAR_NAMED = 28;
|
|
31
|
+
static readonly CHAR_ANY = 29;
|
|
32
|
+
static readonly NIL = 30;
|
|
33
|
+
static readonly BOOLEAN = 31;
|
|
34
|
+
static readonly SYMBOL = 32;
|
|
35
|
+
static readonly NS_SYMBOL = 33;
|
|
36
|
+
static readonly PARAM_NAME = 34;
|
|
37
|
+
static readonly TRASH = 35;
|
|
38
|
+
static readonly channelNames: string[];
|
|
39
|
+
static readonly literalNames: (string | null)[];
|
|
40
|
+
static readonly symbolicNames: (string | null)[];
|
|
41
|
+
static readonly modeNames: string[];
|
|
42
|
+
static readonly ruleNames: string[];
|
|
43
|
+
constructor(input: antlr.CharStream);
|
|
44
|
+
get grammarFileName(): string;
|
|
45
|
+
get literalNames(): (string | null)[];
|
|
46
|
+
get symbolicNames(): (string | null)[];
|
|
47
|
+
get ruleNames(): string[];
|
|
48
|
+
get serializedATN(): number[];
|
|
49
|
+
get channelNames(): string[];
|
|
50
|
+
get modeNames(): string[];
|
|
51
|
+
static readonly _serializedATN: number[];
|
|
52
|
+
private static __ATN;
|
|
53
|
+
static get _ATN(): antlr.ATN;
|
|
54
|
+
private static readonly vocabulary;
|
|
55
|
+
get vocabulary(): antlr.Vocabulary;
|
|
56
|
+
private static readonly decisionsToDFA;
|
|
57
|
+
}
|
|
58
|
+
//# sourceMappingURL=ClojureLexer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ClojureLexer.d.ts","sourceRoot":"","sources":["../../src/generated/ClojureLexer.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,KAAK,MAAM,UAAU,CAAC;AAIlC,qBAAa,YAAa,SAAQ,KAAK,CAAC,KAAK;IACzC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,KAAK;IAChC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,KAAK,MAAM;IAClC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,IAAI,MAAM;IACjC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,UAAU,MAAM;IACvC,gBAAuB,QAAQ,MAAM;IACrC,gBAAuB,GAAG,MAAM;IAChC,gBAAuB,OAAO,MAAM;IACpC,gBAAuB,MAAM,MAAM;IACnC,gBAAuB,SAAS,MAAM;IACtC,gBAAuB,UAAU,MAAM;IACvC,gBAAuB,KAAK,MAAM;IAElC,gBAAuB,YAAY,WAEjC;IAEF,gBAAuB,YAAY,oBAKjC;IAEF,gBAAuB,aAAa,oBAKlC;IAEF,gBAAuB,SAAS,WAE9B;IAEF,gBAAuB,SAAS,WAQ9B;gBAGiB,KAAK,EAAE,KAAK,CAAC,UAAU;IAK1C,IAAW,eAAe,IAAI,MAAM,CAAyB;IAE7D,IAAW,YAAY,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAsC;IAClF,IAAW,aAAa,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAuC;IACpF,IAAW,SAAS,IAAI,MAAM,EAAE,CAAmC;IAEnE,IAAW,aAAa,IAAI,MAAM,EAAE,CAAwC;IAE5E,IAAW,YAAY,IAAI,MAAM,EAAE,CAAsC;IAEzE,IAAW,SAAS,IAAI,MAAM,EAAE,CAAmC;IAEnE,gBAAuB,cAAc,EAAE,MAAM,EAAE,CAyI7C;IAEF,OAAO,CAAC,MAAM,CAAC,KAAK,CAAY;IAChC,WAAkB,IAAI,IAAI,KAAK,CAAC,GAAG,CAMlC;IAGD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAmF;IAErH,IAAoB,UAAU,IAAI,KAAK,CAAC,UAAU,CAEjD;IAED,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAiH;CAC1J"}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
import * as antlr from "antlr4ng";
|
|
2
|
+
export class ClojureLexer extends antlr.Lexer {
|
|
3
|
+
static T__0 = 1;
|
|
4
|
+
static T__1 = 2;
|
|
5
|
+
static T__2 = 3;
|
|
6
|
+
static T__3 = 4;
|
|
7
|
+
static T__4 = 5;
|
|
8
|
+
static T__5 = 6;
|
|
9
|
+
static T__6 = 7;
|
|
10
|
+
static T__7 = 8;
|
|
11
|
+
static T__8 = 9;
|
|
12
|
+
static T__9 = 10;
|
|
13
|
+
static T__10 = 11;
|
|
14
|
+
static T__11 = 12;
|
|
15
|
+
static T__12 = 13;
|
|
16
|
+
static T__13 = 14;
|
|
17
|
+
static T__14 = 15;
|
|
18
|
+
static T__15 = 16;
|
|
19
|
+
static T__16 = 17;
|
|
20
|
+
static T__17 = 18;
|
|
21
|
+
static T__18 = 19;
|
|
22
|
+
static T__19 = 20;
|
|
23
|
+
static STRING = 21;
|
|
24
|
+
static FLOAT = 22;
|
|
25
|
+
static HEX = 23;
|
|
26
|
+
static BIN = 24;
|
|
27
|
+
static LONG = 25;
|
|
28
|
+
static BIGN = 26;
|
|
29
|
+
static CHAR_U = 27;
|
|
30
|
+
static CHAR_NAMED = 28;
|
|
31
|
+
static CHAR_ANY = 29;
|
|
32
|
+
static NIL = 30;
|
|
33
|
+
static BOOLEAN = 31;
|
|
34
|
+
static SYMBOL = 32;
|
|
35
|
+
static NS_SYMBOL = 33;
|
|
36
|
+
static PARAM_NAME = 34;
|
|
37
|
+
static TRASH = 35;
|
|
38
|
+
static channelNames = [
|
|
39
|
+
"DEFAULT_TOKEN_CHANNEL", "HIDDEN"
|
|
40
|
+
];
|
|
41
|
+
static literalNames = [
|
|
42
|
+
null, "'('", "')'", "'['", "']'", "'{'", "'}'", "'#{'", "'''", "'`'",
|
|
43
|
+
"'~'", "'~@'", "'^'", "'@'", "'#'", "'#('", "'#^'", "'#''", "'#+'",
|
|
44
|
+
"'#_'", "':'", null, null, null, null, null, null, null, null, null,
|
|
45
|
+
"'nil'"
|
|
46
|
+
];
|
|
47
|
+
static symbolicNames = [
|
|
48
|
+
null, null, null, null, null, null, null, null, null, null, null,
|
|
49
|
+
null, null, null, null, null, null, null, null, null, null, "STRING",
|
|
50
|
+
"FLOAT", "HEX", "BIN", "LONG", "BIGN", "CHAR_U", "CHAR_NAMED", "CHAR_ANY",
|
|
51
|
+
"NIL", "BOOLEAN", "SYMBOL", "NS_SYMBOL", "PARAM_NAME", "TRASH"
|
|
52
|
+
];
|
|
53
|
+
static modeNames = [
|
|
54
|
+
"DEFAULT_MODE",
|
|
55
|
+
];
|
|
56
|
+
static ruleNames = [
|
|
57
|
+
"T__0", "T__1", "T__2", "T__3", "T__4", "T__5", "T__6", "T__7",
|
|
58
|
+
"T__8", "T__9", "T__10", "T__11", "T__12", "T__13", "T__14", "T__15",
|
|
59
|
+
"T__16", "T__17", "T__18", "T__19", "STRING", "FLOAT", "FLOAT_TAIL",
|
|
60
|
+
"FLOAT_DECIMAL", "FLOAT_EXP", "HEXD", "HEX", "BIN", "LONG", "BIGN",
|
|
61
|
+
"CHAR_U", "CHAR_NAMED", "CHAR_ANY", "NIL", "BOOLEAN", "SYMBOL",
|
|
62
|
+
"NS_SYMBOL", "PARAM_NAME", "NAME", "SYMBOL_HEAD", "SYMBOL_REST",
|
|
63
|
+
"WS", "COMMENT", "TRASH",
|
|
64
|
+
];
|
|
65
|
+
constructor(input) {
|
|
66
|
+
super(input);
|
|
67
|
+
this.interpreter = new antlr.LexerATNSimulator(this, ClojureLexer._ATN, ClojureLexer.decisionsToDFA, new antlr.PredictionContextCache());
|
|
68
|
+
}
|
|
69
|
+
get grammarFileName() { return "Clojure.g4"; }
|
|
70
|
+
get literalNames() { return ClojureLexer.literalNames; }
|
|
71
|
+
get symbolicNames() { return ClojureLexer.symbolicNames; }
|
|
72
|
+
get ruleNames() { return ClojureLexer.ruleNames; }
|
|
73
|
+
get serializedATN() { return ClojureLexer._serializedATN; }
|
|
74
|
+
get channelNames() { return ClojureLexer.channelNames; }
|
|
75
|
+
get modeNames() { return ClojureLexer.modeNames; }
|
|
76
|
+
static _serializedATN = [
|
|
77
|
+
4, 0, 35, 358, 6, -1, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5,
|
|
78
|
+
2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2,
|
|
79
|
+
13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7,
|
|
80
|
+
19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2,
|
|
81
|
+
26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7,
|
|
82
|
+
32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2,
|
|
83
|
+
39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 1, 0, 1, 0, 1, 1, 1, 1,
|
|
84
|
+
1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 8, 1, 8, 1, 9,
|
|
85
|
+
1, 9, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14,
|
|
86
|
+
1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 1, 18, 1, 19,
|
|
87
|
+
1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 5, 20, 141, 8, 20, 10, 20, 12, 20, 144, 9, 20, 1, 20,
|
|
88
|
+
1, 20, 1, 21, 3, 21, 149, 8, 21, 1, 21, 4, 21, 152, 8, 21, 11, 21, 12, 21, 153, 1, 21,
|
|
89
|
+
1, 21, 3, 21, 158, 8, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21, 1, 21,
|
|
90
|
+
3, 21, 169, 8, 21, 1, 21, 1, 21, 1, 21, 3, 21, 174, 8, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1,
|
|
91
|
+
22, 3, 22, 181, 8, 22, 1, 23, 1, 23, 4, 23, 185, 8, 23, 11, 23, 12, 23, 186, 1, 24, 1,
|
|
92
|
+
24, 3, 24, 191, 8, 24, 1, 24, 4, 24, 194, 8, 24, 11, 24, 12, 24, 195, 1, 25, 1, 25, 1,
|
|
93
|
+
26, 1, 26, 1, 26, 4, 26, 203, 8, 26, 11, 26, 12, 26, 204, 1, 27, 1, 27, 1, 27, 4, 27, 210,
|
|
94
|
+
8, 27, 11, 27, 12, 27, 211, 1, 28, 3, 28, 215, 8, 28, 1, 28, 4, 28, 218, 8, 28, 11, 28,
|
|
95
|
+
12, 28, 219, 1, 28, 3, 28, 223, 8, 28, 1, 29, 3, 29, 226, 8, 29, 1, 29, 4, 29, 229, 8,
|
|
96
|
+
29, 11, 29, 12, 29, 230, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30, 1, 30,
|
|
97
|
+
1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
|
|
98
|
+
1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
|
|
99
|
+
1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31, 1, 31,
|
|
100
|
+
3, 31, 281, 8, 31, 1, 32, 1, 32, 1, 32, 1, 33, 1, 33, 1, 33, 1, 33, 1, 34, 1, 34, 1, 34,
|
|
101
|
+
1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 1, 34, 3, 34, 299, 8, 34, 1, 35, 1, 35, 3, 35, 303, 8,
|
|
102
|
+
35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 5, 37, 312, 8, 37, 10, 37, 12, 37,
|
|
103
|
+
315, 9, 37, 1, 37, 3, 37, 318, 8, 37, 1, 38, 1, 38, 5, 38, 322, 8, 38, 10, 38, 12, 38,
|
|
104
|
+
325, 9, 38, 1, 38, 1, 38, 4, 38, 329, 8, 38, 11, 38, 12, 38, 330, 5, 38, 333, 8, 38, 10,
|
|
105
|
+
38, 12, 38, 336, 9, 38, 1, 39, 1, 39, 1, 40, 1, 40, 3, 40, 342, 8, 40, 1, 41, 1, 41, 1,
|
|
106
|
+
42, 1, 42, 5, 42, 348, 8, 42, 10, 42, 12, 42, 351, 9, 42, 1, 43, 1, 43, 3, 43, 355, 8,
|
|
107
|
+
43, 1, 43, 1, 43, 0, 0, 44, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10,
|
|
108
|
+
21, 11, 23, 12, 25, 13, 27, 14, 29, 15, 31, 16, 33, 17, 35, 18, 37, 19, 39, 20, 41, 21,
|
|
109
|
+
43, 22, 45, 0, 47, 0, 49, 0, 51, 0, 53, 23, 55, 24, 57, 25, 59, 26, 61, 27, 63, 28, 65,
|
|
110
|
+
29, 67, 30, 69, 31, 71, 32, 73, 33, 75, 34, 77, 0, 79, 0, 81, 0, 83, 0, 85, 0, 87, 35,
|
|
111
|
+
1, 0, 14, 1, 0, 34, 34, 1, 0, 48, 57, 2, 0, 69, 69, 101, 101, 3, 0, 48, 57, 65, 70, 97,
|
|
112
|
+
102, 2, 0, 88, 88, 120, 120, 2, 0, 66, 66, 98, 98, 1, 0, 48, 49, 2, 0, 76, 76, 108, 108,
|
|
113
|
+
2, 0, 78, 78, 110, 110, 3, 0, 48, 57, 68, 70, 100, 102, 14, 0, 9, 10, 13, 13, 32, 32,
|
|
114
|
+
34, 35, 37, 37, 39, 41, 44, 44, 47, 58, 64, 64, 91, 91, 93, 94, 96, 96, 123, 123, 125,
|
|
115
|
+
126, 2, 0, 46, 46, 48, 57, 4, 0, 9, 10, 13, 13, 32, 32, 44, 44, 2, 0, 10, 10, 13, 13, 384,
|
|
116
|
+
0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 5, 1, 0, 0, 0, 0, 7, 1, 0, 0, 0, 0, 9, 1, 0, 0, 0, 0, 11,
|
|
117
|
+
1, 0, 0, 0, 0, 13, 1, 0, 0, 0, 0, 15, 1, 0, 0, 0, 0, 17, 1, 0, 0, 0, 0, 19, 1, 0, 0, 0, 0, 21,
|
|
118
|
+
1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 0, 27, 1, 0, 0, 0, 0, 29, 1, 0, 0, 0, 0, 31,
|
|
119
|
+
1, 0, 0, 0, 0, 33, 1, 0, 0, 0, 0, 35, 1, 0, 0, 0, 0, 37, 1, 0, 0, 0, 0, 39, 1, 0, 0, 0, 0, 41,
|
|
120
|
+
1, 0, 0, 0, 0, 43, 1, 0, 0, 0, 0, 53, 1, 0, 0, 0, 0, 55, 1, 0, 0, 0, 0, 57, 1, 0, 0, 0, 0, 59,
|
|
121
|
+
1, 0, 0, 0, 0, 61, 1, 0, 0, 0, 0, 63, 1, 0, 0, 0, 0, 65, 1, 0, 0, 0, 0, 67, 1, 0, 0, 0, 0, 69,
|
|
122
|
+
1, 0, 0, 0, 0, 71, 1, 0, 0, 0, 0, 73, 1, 0, 0, 0, 0, 75, 1, 0, 0, 0, 0, 87, 1, 0, 0, 0, 1, 89,
|
|
123
|
+
1, 0, 0, 0, 3, 91, 1, 0, 0, 0, 5, 93, 1, 0, 0, 0, 7, 95, 1, 0, 0, 0, 9, 97, 1, 0, 0, 0, 11, 99,
|
|
124
|
+
1, 0, 0, 0, 13, 101, 1, 0, 0, 0, 15, 104, 1, 0, 0, 0, 17, 106, 1, 0, 0, 0, 19, 108, 1, 0,
|
|
125
|
+
0, 0, 21, 110, 1, 0, 0, 0, 23, 113, 1, 0, 0, 0, 25, 115, 1, 0, 0, 0, 27, 117, 1, 0, 0, 0,
|
|
126
|
+
29, 119, 1, 0, 0, 0, 31, 122, 1, 0, 0, 0, 33, 125, 1, 0, 0, 0, 35, 128, 1, 0, 0, 0, 37, 131,
|
|
127
|
+
1, 0, 0, 0, 39, 134, 1, 0, 0, 0, 41, 136, 1, 0, 0, 0, 43, 173, 1, 0, 0, 0, 45, 180, 1, 0,
|
|
128
|
+
0, 0, 47, 182, 1, 0, 0, 0, 49, 188, 1, 0, 0, 0, 51, 197, 1, 0, 0, 0, 53, 199, 1, 0, 0, 0,
|
|
129
|
+
55, 206, 1, 0, 0, 0, 57, 214, 1, 0, 0, 0, 59, 225, 1, 0, 0, 0, 61, 234, 1, 0, 0, 0, 63, 241,
|
|
130
|
+
1, 0, 0, 0, 65, 282, 1, 0, 0, 0, 67, 285, 1, 0, 0, 0, 69, 298, 1, 0, 0, 0, 71, 302, 1, 0,
|
|
131
|
+
0, 0, 73, 304, 1, 0, 0, 0, 75, 308, 1, 0, 0, 0, 77, 319, 1, 0, 0, 0, 79, 337, 1, 0, 0, 0,
|
|
132
|
+
81, 341, 1, 0, 0, 0, 83, 343, 1, 0, 0, 0, 85, 345, 1, 0, 0, 0, 87, 354, 1, 0, 0, 0, 89, 90,
|
|
133
|
+
5, 40, 0, 0, 90, 2, 1, 0, 0, 0, 91, 92, 5, 41, 0, 0, 92, 4, 1, 0, 0, 0, 93, 94, 5, 91, 0, 0,
|
|
134
|
+
94, 6, 1, 0, 0, 0, 95, 96, 5, 93, 0, 0, 96, 8, 1, 0, 0, 0, 97, 98, 5, 123, 0, 0, 98, 10, 1,
|
|
135
|
+
0, 0, 0, 99, 100, 5, 125, 0, 0, 100, 12, 1, 0, 0, 0, 101, 102, 5, 35, 0, 0, 102, 103, 5,
|
|
136
|
+
123, 0, 0, 103, 14, 1, 0, 0, 0, 104, 105, 5, 39, 0, 0, 105, 16, 1, 0, 0, 0, 106, 107, 5,
|
|
137
|
+
96, 0, 0, 107, 18, 1, 0, 0, 0, 108, 109, 5, 126, 0, 0, 109, 20, 1, 0, 0, 0, 110, 111, 5,
|
|
138
|
+
126, 0, 0, 111, 112, 5, 64, 0, 0, 112, 22, 1, 0, 0, 0, 113, 114, 5, 94, 0, 0, 114, 24,
|
|
139
|
+
1, 0, 0, 0, 115, 116, 5, 64, 0, 0, 116, 26, 1, 0, 0, 0, 117, 118, 5, 35, 0, 0, 118, 28,
|
|
140
|
+
1, 0, 0, 0, 119, 120, 5, 35, 0, 0, 120, 121, 5, 40, 0, 0, 121, 30, 1, 0, 0, 0, 122, 123,
|
|
141
|
+
5, 35, 0, 0, 123, 124, 5, 94, 0, 0, 124, 32, 1, 0, 0, 0, 125, 126, 5, 35, 0, 0, 126, 127,
|
|
142
|
+
5, 39, 0, 0, 127, 34, 1, 0, 0, 0, 128, 129, 5, 35, 0, 0, 129, 130, 5, 43, 0, 0, 130, 36,
|
|
143
|
+
1, 0, 0, 0, 131, 132, 5, 35, 0, 0, 132, 133, 5, 95, 0, 0, 133, 38, 1, 0, 0, 0, 134, 135,
|
|
144
|
+
5, 58, 0, 0, 135, 40, 1, 0, 0, 0, 136, 142, 5, 34, 0, 0, 137, 141, 8, 0, 0, 0, 138, 139,
|
|
145
|
+
5, 92, 0, 0, 139, 141, 5, 34, 0, 0, 140, 137, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 141, 144,
|
|
146
|
+
1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 142, 143, 1, 0, 0, 0, 143, 145, 1, 0, 0, 0, 144, 142,
|
|
147
|
+
1, 0, 0, 0, 145, 146, 5, 34, 0, 0, 146, 42, 1, 0, 0, 0, 147, 149, 5, 45, 0, 0, 148, 147,
|
|
148
|
+
1, 0, 0, 0, 148, 149, 1, 0, 0, 0, 149, 151, 1, 0, 0, 0, 150, 152, 7, 1, 0, 0, 151, 150,
|
|
149
|
+
1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 151, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155,
|
|
150
|
+
1, 0, 0, 0, 155, 174, 3, 45, 22, 0, 156, 158, 5, 45, 0, 0, 157, 156, 1, 0, 0, 0, 157, 158,
|
|
151
|
+
1, 0, 0, 0, 158, 159, 1, 0, 0, 0, 159, 160, 5, 73, 0, 0, 160, 161, 5, 110, 0, 0, 161, 162,
|
|
152
|
+
5, 102, 0, 0, 162, 163, 5, 105, 0, 0, 163, 164, 5, 110, 0, 0, 164, 165, 5, 105, 0, 0,
|
|
153
|
+
165, 166, 5, 116, 0, 0, 166, 174, 5, 121, 0, 0, 167, 169, 5, 45, 0, 0, 168, 167, 1, 0,
|
|
154
|
+
0, 0, 168, 169, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 5, 78, 0, 0, 171, 172, 5, 97,
|
|
155
|
+
0, 0, 172, 174, 5, 78, 0, 0, 173, 148, 1, 0, 0, 0, 173, 157, 1, 0, 0, 0, 173, 168, 1, 0,
|
|
156
|
+
0, 0, 174, 44, 1, 0, 0, 0, 175, 176, 3, 47, 23, 0, 176, 177, 3, 49, 24, 0, 177, 181, 1,
|
|
157
|
+
0, 0, 0, 178, 181, 3, 47, 23, 0, 179, 181, 3, 49, 24, 0, 180, 175, 1, 0, 0, 0, 180, 178,
|
|
158
|
+
1, 0, 0, 0, 180, 179, 1, 0, 0, 0, 181, 46, 1, 0, 0, 0, 182, 184, 5, 46, 0, 0, 183, 185,
|
|
159
|
+
7, 1, 0, 0, 184, 183, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 184, 1, 0, 0, 0, 186, 187,
|
|
160
|
+
1, 0, 0, 0, 187, 48, 1, 0, 0, 0, 188, 190, 7, 2, 0, 0, 189, 191, 5, 45, 0, 0, 190, 189,
|
|
161
|
+
1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 193, 1, 0, 0, 0, 192, 194, 7, 1, 0, 0, 193, 192,
|
|
162
|
+
1, 0, 0, 0, 194, 195, 1, 0, 0, 0, 195, 193, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 50, 1,
|
|
163
|
+
0, 0, 0, 197, 198, 7, 3, 0, 0, 198, 52, 1, 0, 0, 0, 199, 200, 5, 48, 0, 0, 200, 202, 7,
|
|
164
|
+
4, 0, 0, 201, 203, 3, 51, 25, 0, 202, 201, 1, 0, 0, 0, 203, 204, 1, 0, 0, 0, 204, 202,
|
|
165
|
+
1, 0, 0, 0, 204, 205, 1, 0, 0, 0, 205, 54, 1, 0, 0, 0, 206, 207, 5, 48, 0, 0, 207, 209,
|
|
166
|
+
7, 5, 0, 0, 208, 210, 7, 6, 0, 0, 209, 208, 1, 0, 0, 0, 210, 211, 1, 0, 0, 0, 211, 209,
|
|
167
|
+
1, 0, 0, 0, 211, 212, 1, 0, 0, 0, 212, 56, 1, 0, 0, 0, 213, 215, 5, 45, 0, 0, 214, 213,
|
|
168
|
+
1, 0, 0, 0, 214, 215, 1, 0, 0, 0, 215, 217, 1, 0, 0, 0, 216, 218, 7, 1, 0, 0, 217, 216,
|
|
169
|
+
1, 0, 0, 0, 218, 219, 1, 0, 0, 0, 219, 217, 1, 0, 0, 0, 219, 220, 1, 0, 0, 0, 220, 222,
|
|
170
|
+
1, 0, 0, 0, 221, 223, 7, 7, 0, 0, 222, 221, 1, 0, 0, 0, 222, 223, 1, 0, 0, 0, 223, 58, 1,
|
|
171
|
+
0, 0, 0, 224, 226, 5, 45, 0, 0, 225, 224, 1, 0, 0, 0, 225, 226, 1, 0, 0, 0, 226, 228, 1,
|
|
172
|
+
0, 0, 0, 227, 229, 7, 1, 0, 0, 228, 227, 1, 0, 0, 0, 229, 230, 1, 0, 0, 0, 230, 228, 1,
|
|
173
|
+
0, 0, 0, 230, 231, 1, 0, 0, 0, 231, 232, 1, 0, 0, 0, 232, 233, 7, 8, 0, 0, 233, 60, 1, 0,
|
|
174
|
+
0, 0, 234, 235, 5, 92, 0, 0, 235, 236, 5, 117, 0, 0, 236, 237, 7, 9, 0, 0, 237, 238, 3,
|
|
175
|
+
51, 25, 0, 238, 239, 3, 51, 25, 0, 239, 240, 3, 51, 25, 0, 240, 62, 1, 0, 0, 0, 241, 280,
|
|
176
|
+
5, 92, 0, 0, 242, 243, 5, 110, 0, 0, 243, 244, 5, 101, 0, 0, 244, 245, 5, 119, 0, 0, 245,
|
|
177
|
+
246, 5, 108, 0, 0, 246, 247, 5, 105, 0, 0, 247, 248, 5, 110, 0, 0, 248, 281, 5, 101,
|
|
178
|
+
0, 0, 249, 250, 5, 114, 0, 0, 250, 251, 5, 101, 0, 0, 251, 252, 5, 116, 0, 0, 252, 253,
|
|
179
|
+
5, 117, 0, 0, 253, 254, 5, 114, 0, 0, 254, 281, 5, 110, 0, 0, 255, 256, 5, 115, 0, 0,
|
|
180
|
+
256, 257, 5, 112, 0, 0, 257, 258, 5, 97, 0, 0, 258, 259, 5, 99, 0, 0, 259, 281, 5, 101,
|
|
181
|
+
0, 0, 260, 261, 5, 116, 0, 0, 261, 262, 5, 97, 0, 0, 262, 281, 5, 98, 0, 0, 263, 264,
|
|
182
|
+
5, 102, 0, 0, 264, 265, 5, 111, 0, 0, 265, 266, 5, 114, 0, 0, 266, 267, 5, 109, 0, 0,
|
|
183
|
+
267, 268, 5, 102, 0, 0, 268, 269, 5, 101, 0, 0, 269, 270, 5, 101, 0, 0, 270, 281, 5,
|
|
184
|
+
100, 0, 0, 271, 272, 5, 98, 0, 0, 272, 273, 5, 97, 0, 0, 273, 274, 5, 99, 0, 0, 274, 275,
|
|
185
|
+
5, 107, 0, 0, 275, 276, 5, 115, 0, 0, 276, 277, 5, 112, 0, 0, 277, 278, 5, 97, 0, 0, 278,
|
|
186
|
+
279, 5, 99, 0, 0, 279, 281, 5, 101, 0, 0, 280, 242, 1, 0, 0, 0, 280, 249, 1, 0, 0, 0, 280,
|
|
187
|
+
255, 1, 0, 0, 0, 280, 260, 1, 0, 0, 0, 280, 263, 1, 0, 0, 0, 280, 271, 1, 0, 0, 0, 281,
|
|
188
|
+
64, 1, 0, 0, 0, 282, 283, 5, 92, 0, 0, 283, 284, 9, 0, 0, 0, 284, 66, 1, 0, 0, 0, 285, 286,
|
|
189
|
+
5, 110, 0, 0, 286, 287, 5, 105, 0, 0, 287, 288, 5, 108, 0, 0, 288, 68, 1, 0, 0, 0, 289,
|
|
190
|
+
290, 5, 116, 0, 0, 290, 291, 5, 114, 0, 0, 291, 292, 5, 117, 0, 0, 292, 299, 5, 101,
|
|
191
|
+
0, 0, 293, 294, 5, 102, 0, 0, 294, 295, 5, 97, 0, 0, 295, 296, 5, 108, 0, 0, 296, 297,
|
|
192
|
+
5, 115, 0, 0, 297, 299, 5, 101, 0, 0, 298, 289, 1, 0, 0, 0, 298, 293, 1, 0, 0, 0, 299,
|
|
193
|
+
70, 1, 0, 0, 0, 300, 303, 2, 46, 47, 0, 301, 303, 3, 77, 38, 0, 302, 300, 1, 0, 0, 0, 302,
|
|
194
|
+
301, 1, 0, 0, 0, 303, 72, 1, 0, 0, 0, 304, 305, 3, 77, 38, 0, 305, 306, 5, 47, 0, 0, 306,
|
|
195
|
+
307, 3, 71, 35, 0, 307, 74, 1, 0, 0, 0, 308, 317, 5, 37, 0, 0, 309, 313, 2, 49, 57, 0,
|
|
196
|
+
310, 312, 2, 48, 57, 0, 311, 310, 1, 0, 0, 0, 312, 315, 1, 0, 0, 0, 313, 311, 1, 0, 0,
|
|
197
|
+
0, 313, 314, 1, 0, 0, 0, 314, 318, 1, 0, 0, 0, 315, 313, 1, 0, 0, 0, 316, 318, 5, 38, 0,
|
|
198
|
+
0, 317, 309, 1, 0, 0, 0, 317, 316, 1, 0, 0, 0, 317, 318, 1, 0, 0, 0, 318, 76, 1, 0, 0, 0,
|
|
199
|
+
319, 323, 3, 79, 39, 0, 320, 322, 3, 81, 40, 0, 321, 320, 1, 0, 0, 0, 322, 325, 1, 0,
|
|
200
|
+
0, 0, 323, 321, 1, 0, 0, 0, 323, 324, 1, 0, 0, 0, 324, 334, 1, 0, 0, 0, 325, 323, 1, 0,
|
|
201
|
+
0, 0, 326, 328, 5, 58, 0, 0, 327, 329, 3, 81, 40, 0, 328, 327, 1, 0, 0, 0, 329, 330, 1,
|
|
202
|
+
0, 0, 0, 330, 328, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 333, 1, 0, 0, 0, 332, 326, 1,
|
|
203
|
+
0, 0, 0, 333, 336, 1, 0, 0, 0, 334, 332, 1, 0, 0, 0, 334, 335, 1, 0, 0, 0, 335, 78, 1, 0,
|
|
204
|
+
0, 0, 336, 334, 1, 0, 0, 0, 337, 338, 8, 10, 0, 0, 338, 80, 1, 0, 0, 0, 339, 342, 3, 79,
|
|
205
|
+
39, 0, 340, 342, 7, 11, 0, 0, 341, 339, 1, 0, 0, 0, 341, 340, 1, 0, 0, 0, 342, 82, 1, 0,
|
|
206
|
+
0, 0, 343, 344, 7, 12, 0, 0, 344, 84, 1, 0, 0, 0, 345, 349, 5, 59, 0, 0, 346, 348, 8, 13,
|
|
207
|
+
0, 0, 347, 346, 1, 0, 0, 0, 348, 351, 1, 0, 0, 0, 349, 347, 1, 0, 0, 0, 349, 350, 1, 0,
|
|
208
|
+
0, 0, 350, 86, 1, 0, 0, 0, 351, 349, 1, 0, 0, 0, 352, 355, 3, 83, 41, 0, 353, 355, 3, 85,
|
|
209
|
+
42, 0, 354, 352, 1, 0, 0, 0, 354, 353, 1, 0, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 6, 43,
|
|
210
|
+
0, 0, 357, 88, 1, 0, 0, 0, 30, 0, 140, 142, 148, 153, 157, 168, 173, 180, 186, 190,
|
|
211
|
+
195, 204, 211, 214, 219, 222, 225, 230, 280, 298, 302, 313, 317, 323, 330, 334,
|
|
212
|
+
341, 349, 354, 1, 0, 1, 0
|
|
213
|
+
];
|
|
214
|
+
static __ATN;
|
|
215
|
+
static get _ATN() {
|
|
216
|
+
if (!ClojureLexer.__ATN) {
|
|
217
|
+
ClojureLexer.__ATN = new antlr.ATNDeserializer().deserialize(ClojureLexer._serializedATN);
|
|
218
|
+
}
|
|
219
|
+
return ClojureLexer.__ATN;
|
|
220
|
+
}
|
|
221
|
+
static vocabulary = new antlr.Vocabulary(ClojureLexer.literalNames, ClojureLexer.symbolicNames, []);
|
|
222
|
+
get vocabulary() {
|
|
223
|
+
return ClojureLexer.vocabulary;
|
|
224
|
+
}
|
|
225
|
+
static decisionsToDFA = ClojureLexer._ATN.decisionToState.map((ds, index) => new antlr.DFA(ds, index));
|
|
226
|
+
}
|
|
227
|
+
//# sourceMappingURL=ClojureLexer.js.map
|