Libraryless. Click here for Pure Java version (3213L/20K).
1 | static ALQLLine agiBlue_parseQueryLine(S s) { |
2 | LS tok = javaTokWithBrackets(s); |
3 | |
4 | // TODO: improve jmatch and use here |
5 | if (eqGet(tok, 1, "return") && isIdentifier(get(tok, 3))) { |
6 | LS l = tok_splitAtComma(subList(tok, 2)); |
7 | if (l(l) == 1) |
8 | ret ALQLReturn(first(l)); |
9 | else |
10 | ret ALQLReturnTuple(l); |
11 | } |
12 | |
13 | T3S t = agiBlue_parseTriple(tok); |
14 | if (t != null) |
15 | ret ALQLTriple(t); |
16 | |
17 | if (lCodeTokens(tok) == 2 && eqGet(tok, 1, "lock")) { |
18 | t = agiBlue_parseTriple(uncurly(tok.get(3))); |
19 | if (t == null) fail("Bad lock statement: " + s); |
20 | ret ALQLLockStatement(t); |
21 | } |
22 | |
23 | if (lCodeTokens(tok) == 2 && eqGet(tok, 1, "page")) { |
24 | S page = uncurly(tok.get(3)); |
25 | S method = containsDollarVars(page) ? "flexMatchDollarVarsIC_first" : "eqic"; |
26 | ret ALQLPage(page, method); |
27 | } |
28 | |
29 | if (lCodeTokens(tok) == 3 && eqGet(tok, 1, "slice")) { |
30 | S slice = unquote(tok.get(3)); |
31 | S contents = uncurly(tok.get(5)); |
32 | ret ALQLSlice(slice, agiBlue_parseQueryScript(print(+contents))); |
33 | } |
34 | |
35 | fail("Can't parse ALQL line: " + s); |
36 | } |
Began life as a copy of #1024260
download show line numbers debug dex old transpilations
Travelled to 6 computer(s): bhatertpkbcr, mqqgnosmbjvj, pyentgdyhuwx, pzhvpgtvlbxg, tvejysmllsmz, vouqrxazstgt
No comments. add comment
Snippet ID: | #1024261 |
Snippet name: | agiBlue_parseQueryLine |
Eternal ID of this version: | #1024261/12 |
Text MD5: | 89f875274312bd5231fb0a97d080fa6a |
Transpilation MD5: | 855db322ced48ceb9c4d41e3eaf0f070 |
Author: | stefan |
Category: | javax / agi.blue |
Type: | JavaX fragment (include) |
Public (visible to everyone): | Yes |
Archived (hidden from active list): | No |
Created/modified: | 2019-10-03 17:00:34 |
Source code size: | 1104 bytes / 36 lines |
Pitched / IR pitched: | No / No |
Views / Downloads: | 282 / 417 |
Version history: | 11 change(s) |
Referenced in: | [show references] |