/dist/src/grammar/create/grammar.js

https://github.com/joereynolds/sql-lint · JavaScript · 509 lines · 504 code · 0 blank · 5 comment · 0 complexity · 8b8626335bd32fe7841af7db144b6da0 MD5 · raw file

  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", { value: true });
  3. // Generated automatically by nearley, version 2.19.2
  4. // http://github.com/Hardmath123/nearley
  5. // Bypasses TS6133. Allow declared but unused functions.
  6. // @ts-ignore
  7. function id(d) {
  8. return d[0];
  9. }
  10. const grammar = {
  11. Lexer: undefined,
  12. ParserRules: [
  13. { name: "_$ebnf$1", symbols: [] },
  14. {
  15. name: "_$ebnf$1",
  16. symbols: ["_$ebnf$1", "wschar"],
  17. postprocess: (d) => d[0].concat([d[1]]),
  18. },
  19. {
  20. name: "_",
  21. symbols: ["_$ebnf$1"],
  22. postprocess(d) {
  23. return null;
  24. },
  25. },
  26. { name: "__$ebnf$1", symbols: ["wschar"] },
  27. {
  28. name: "__$ebnf$1",
  29. symbols: ["__$ebnf$1", "wschar"],
  30. postprocess: (d) => d[0].concat([d[1]]),
  31. },
  32. {
  33. name: "__",
  34. symbols: ["__$ebnf$1"],
  35. postprocess(d) {
  36. return null;
  37. },
  38. },
  39. { name: "wschar", symbols: [/[ \t\n\v\f]/], postprocess: id },
  40. {
  41. name: "clause_database_or_schema$subexpression$1",
  42. symbols: [/[dD]/, /[aA]/, /[tT]/, /[aA]/, /[bB]/, /[aA]/, /[sS]/, /[eE]/],
  43. postprocess(d) {
  44. return d.join("");
  45. },
  46. },
  47. {
  48. name: "clause_database_or_schema",
  49. symbols: ["clause_database_or_schema$subexpression$1", "__"],
  50. },
  51. {
  52. name: "clause_database_or_schema$subexpression$2",
  53. symbols: [/[sS]/, /[cC]/, /[hH]/, /[eE]/, /[mM]/, /[aA]/],
  54. postprocess(d) {
  55. return d.join("");
  56. },
  57. },
  58. {
  59. name: "clause_database_or_schema",
  60. symbols: ["clause_database_or_schema$subexpression$2", "__"],
  61. },
  62. { name: "clause_if_exists", symbols: [] },
  63. {
  64. name: "clause_if_exists$subexpression$1",
  65. symbols: [/[iI]/, /[fF]/],
  66. postprocess(d) {
  67. return d.join("");
  68. },
  69. },
  70. {
  71. name: "clause_if_exists$subexpression$2",
  72. symbols: [/[eE]/, /[xX]/, /[iI]/, /[sS]/, /[tT]/, /[sS]/],
  73. postprocess(d) {
  74. return d.join("");
  75. },
  76. },
  77. {
  78. name: "clause_if_exists",
  79. symbols: [
  80. "clause_if_exists$subexpression$1",
  81. "__",
  82. "clause_if_exists$subexpression$2",
  83. "__",
  84. ],
  85. },
  86. { name: "clause_if_not_exists", symbols: [] },
  87. {
  88. name: "clause_if_not_exists$subexpression$1",
  89. symbols: [/[iI]/, /[fF]/],
  90. postprocess(d) {
  91. return d.join("");
  92. },
  93. },
  94. {
  95. name: "clause_if_not_exists$subexpression$2",
  96. symbols: [/[nN]/, /[oO]/, /[tT]/],
  97. postprocess(d) {
  98. return d.join("");
  99. },
  100. },
  101. {
  102. name: "clause_if_not_exists$subexpression$3",
  103. symbols: [/[eE]/, /[xX]/, /[iI]/, /[sS]/, /[tT]/, /[sS]/],
  104. postprocess(d) {
  105. return d.join("");
  106. },
  107. },
  108. {
  109. name: "clause_if_not_exists",
  110. symbols: [
  111. "clause_if_not_exists$subexpression$1",
  112. "__",
  113. "clause_if_not_exists$subexpression$2",
  114. "__",
  115. "clause_if_not_exists$subexpression$3",
  116. "__",
  117. ],
  118. },
  119. { name: "name$ebnf$1", symbols: [/[a-z]/] },
  120. {
  121. name: "name$ebnf$1",
  122. symbols: ["name$ebnf$1", /[a-z]/],
  123. postprocess: (d) => d[0].concat([d[1]]),
  124. },
  125. { name: "name", symbols: ["name$ebnf$1"] },
  126. { name: "name_list", symbols: ["name"] },
  127. {
  128. name: "name_list",
  129. symbols: ["name_list", "__", { literal: "," }, "name_list", "_"],
  130. },
  131. { name: "terminator", symbols: [{ literal: ";" }] },
  132. { name: "equals", symbols: [{ literal: "=" }] },
  133. { name: "yes", symbols: [{ literal: "Y" }] },
  134. { name: "no", symbols: [{ literal: "N" }] },
  135. { name: "yes_or_no", symbols: ["yes"] },
  136. { name: "yes_or_no", symbols: ["no"] },
  137. { name: "statement", symbols: ["create_statements", "_", "terminator"] },
  138. { name: "create_statements", symbols: ["create_database"] },
  139. {
  140. name: "create_view",
  141. symbols: [
  142. "keyword",
  143. "clause_or_replace",
  144. "clause_algorithm",
  145. "_",
  146. "clause_definer",
  147. "_",
  148. "clause_view",
  149. ],
  150. },
  151. {
  152. name: "create_index$string$1",
  153. symbols: [
  154. { literal: "I" },
  155. { literal: "N" },
  156. { literal: "D" },
  157. { literal: "E" },
  158. { literal: "X" },
  159. ],
  160. postprocess: (d) => d.join(""),
  161. },
  162. { name: "create_index$ebnf$1", symbols: [/[A-z]/] },
  163. {
  164. name: "create_index$ebnf$1",
  165. symbols: ["create_index$ebnf$1", /[A-z]/],
  166. postprocess: (d) => d[0].concat([d[1]]),
  167. },
  168. {
  169. name: "create_index",
  170. symbols: [
  171. "keyword",
  172. "clause_index",
  173. "_",
  174. "create_index$string$1",
  175. "_",
  176. "create_index$ebnf$1",
  177. "_",
  178. "clause_index_type",
  179. ],
  180. },
  181. {
  182. name: "create_database",
  183. symbols: [
  184. "keyword",
  185. "clause_database_or_schema",
  186. "clause_if_not_exists",
  187. "name",
  188. "__",
  189. "option_create_option",
  190. ],
  191. },
  192. {
  193. name: "keyword$subexpression$1",
  194. symbols: [/[cC]/, /[rR]/, /[eE]/, /[aA]/, /[tT]/, /[eE]/],
  195. postprocess(d) {
  196. return d.join("");
  197. },
  198. },
  199. {
  200. name: "keyword",
  201. symbols: ["keyword$subexpression$1", "__"],
  202. postprocess: (word) => word.join(""),
  203. },
  204. {
  205. name: "default$subexpression$1",
  206. symbols: [/[dD]/, /[eE]/, /[fF]/, /[aA]/, /[uU]/, /[lL]/, /[tT]/],
  207. postprocess(d) {
  208. return d.join("");
  209. },
  210. },
  211. { name: "default", symbols: ["default$subexpression$1", "__"] },
  212. {
  213. name: "character_set$subexpression$1",
  214. symbols: [
  215. /[cC]/,
  216. /[hH]/,
  217. /[aA]/,
  218. /[rR]/,
  219. /[aA]/,
  220. /[cC]/,
  221. /[tT]/,
  222. /[eE]/,
  223. /[rR]/,
  224. ],
  225. postprocess(d) {
  226. return d.join("");
  227. },
  228. },
  229. {
  230. name: "character_set$subexpression$2",
  231. symbols: [/[sS]/, /[eE]/, /[tT]/],
  232. postprocess(d) {
  233. return d.join("");
  234. },
  235. },
  236. {
  237. name: "character_set",
  238. symbols: [
  239. "character_set$subexpression$1",
  240. "__",
  241. "character_set$subexpression$2",
  242. "_",
  243. ],
  244. },
  245. {
  246. name: "collate$subexpression$1",
  247. symbols: [/[cC]/, /[oO]/, /[lL]/, /[lL]/, /[aA]/, /[tT]/, /[eE]/],
  248. postprocess(d) {
  249. return d.join("");
  250. },
  251. },
  252. { name: "collate", symbols: ["collate$subexpression$1", "__"] },
  253. {
  254. name: "encryption$subexpression$1",
  255. symbols: [
  256. /[eE]/,
  257. /[nN]/,
  258. /[cC]/,
  259. /[rR]/,
  260. /[yY]/,
  261. /[pP]/,
  262. /[tT]/,
  263. /[iI]/,
  264. /[oO]/,
  265. /[nN]/,
  266. ],
  267. postprocess(d) {
  268. return d.join("");
  269. },
  270. },
  271. { name: "encryption", symbols: ["encryption$subexpression$1", "__"] },
  272. { name: "character_set_choice$subexpression$1", symbols: [] },
  273. { name: "character_set_choice$subexpression$1", symbols: ["default"] },
  274. { name: "character_set_choice$subexpression$2", symbols: [] },
  275. { name: "character_set_choice$subexpression$2", symbols: ["equals"] },
  276. {
  277. name: "character_set_choice",
  278. symbols: [
  279. "character_set_choice$subexpression$1",
  280. "character_set",
  281. "character_set_choice$subexpression$2",
  282. "name",
  283. ],
  284. },
  285. { name: "collate_choice$subexpression$1", symbols: [] },
  286. { name: "collate_choice$subexpression$1", symbols: ["default"] },
  287. { name: "collate_choice$subexpression$2", symbols: [] },
  288. { name: "collate_choice$subexpression$2", symbols: ["equals"] },
  289. {
  290. name: "collate_choice",
  291. symbols: [
  292. "collate_choice$subexpression$1",
  293. "collate",
  294. "collate_choice$subexpression$2",
  295. "name",
  296. ],
  297. },
  298. { name: "encryption_choice$subexpression$1", symbols: [] },
  299. { name: "encryption_choice$subexpression$1", symbols: ["default"] },
  300. { name: "encryption_choice$subexpression$2", symbols: [] },
  301. { name: "encryption_choice$subexpression$2", symbols: ["equals"] },
  302. {
  303. name: "encryption_choice",
  304. symbols: [
  305. "encryption_choice$subexpression$1",
  306. "encryption",
  307. "encryption_choice$subexpression$2",
  308. "yes_or_no",
  309. ],
  310. },
  311. { name: "option_create_option", symbols: [] },
  312. {
  313. name: "option_create_option$subexpression$1",
  314. symbols: ["character_set_choice"],
  315. },
  316. {
  317. name: "option_create_option$subexpression$1",
  318. symbols: ["collate_choice"],
  319. },
  320. {
  321. name: "option_create_option$subexpression$1",
  322. symbols: ["encryption_choice"],
  323. },
  324. {
  325. name: "option_create_option",
  326. symbols: ["option_create_option$subexpression$1"],
  327. },
  328. {
  329. name: "clause_algorithm$string$1",
  330. symbols: [
  331. { literal: "U" },
  332. { literal: "N" },
  333. { literal: "D" },
  334. { literal: "E" },
  335. { literal: "F" },
  336. { literal: "I" },
  337. { literal: "N" },
  338. { literal: "E" },
  339. { literal: "D" },
  340. ],
  341. postprocess: (d) => d.join(""),
  342. },
  343. { name: "clause_algorithm", symbols: ["clause_algorithm$string$1"] },
  344. {
  345. name: "clause_algorithm$string$2",
  346. symbols: [
  347. { literal: "M" },
  348. { literal: "E" },
  349. { literal: "R" },
  350. { literal: "G" },
  351. { literal: "E" },
  352. ],
  353. postprocess: (d) => d.join(""),
  354. },
  355. { name: "clause_algorithm", symbols: ["clause_algorithm$string$2"] },
  356. {
  357. name: "clause_algorithm$string$3",
  358. symbols: [
  359. { literal: "T" },
  360. { literal: "E" },
  361. { literal: "M" },
  362. { literal: "P" },
  363. { literal: "T" },
  364. { literal: "A" },
  365. { literal: "B" },
  366. { literal: "L" },
  367. { literal: "E" },
  368. ],
  369. postprocess: (d) => d.join(""),
  370. },
  371. { name: "clause_algorithm", symbols: ["clause_algorithm$string$3"] },
  372. { name: "clause_algorithm", symbols: [] },
  373. {
  374. name: "clause_definer$string$1",
  375. symbols: [
  376. { literal: "u" },
  377. { literal: "s" },
  378. { literal: "e" },
  379. { literal: "r" },
  380. ],
  381. postprocess: (d) => d.join(""),
  382. },
  383. { name: "clause_definer", symbols: ["clause_definer$string$1"] },
  384. { name: "clause_definer", symbols: [] },
  385. {
  386. name: "clause_index$string$1",
  387. symbols: [
  388. { literal: "U" },
  389. { literal: "N" },
  390. { literal: "I" },
  391. { literal: "Q" },
  392. { literal: "U" },
  393. { literal: "E" },
  394. ],
  395. postprocess: (d) => d.join(""),
  396. },
  397. { name: "clause_index", symbols: ["clause_index$string$1"] },
  398. {
  399. name: "clause_index$string$2",
  400. symbols: [
  401. { literal: "F" },
  402. { literal: "U" },
  403. { literal: "L" },
  404. { literal: "L" },
  405. { literal: "T" },
  406. { literal: "E" },
  407. { literal: "X" },
  408. { literal: "T" },
  409. ],
  410. postprocess: (d) => d.join(""),
  411. },
  412. { name: "clause_index", symbols: ["clause_index$string$2"] },
  413. {
  414. name: "clause_index$string$3",
  415. symbols: [
  416. { literal: "S" },
  417. { literal: "P" },
  418. { literal: "A" },
  419. { literal: "T" },
  420. { literal: "I" },
  421. { literal: "A" },
  422. { literal: "L" },
  423. ],
  424. postprocess: (d) => d.join(""),
  425. },
  426. { name: "clause_index", symbols: ["clause_index$string$3"] },
  427. { name: "clause_index", symbols: [] },
  428. {
  429. name: "clause_index_type$string$1",
  430. symbols: [
  431. { literal: "U" },
  432. { literal: "S" },
  433. { literal: "I" },
  434. { literal: "N" },
  435. { literal: "G" },
  436. { literal: " " },
  437. { literal: "B" },
  438. { literal: "T" },
  439. { literal: "R" },
  440. { literal: "E" },
  441. { literal: "E" },
  442. ],
  443. postprocess: (d) => d.join(""),
  444. },
  445. { name: "clause_index_type", symbols: ["clause_index_type$string$1"] },
  446. {
  447. name: "clause_index_type$string$2",
  448. symbols: [
  449. { literal: "U" },
  450. { literal: "S" },
  451. { literal: "I" },
  452. { literal: "N" },
  453. { literal: "G" },
  454. { literal: " " },
  455. { literal: "H" },
  456. { literal: "A" },
  457. { literal: "S" },
  458. { literal: "H" },
  459. ],
  460. postprocess: (d) => d.join(""),
  461. },
  462. { name: "clause_index_type", symbols: ["clause_index_type$string$2"] },
  463. { name: "clause_index_type", symbols: [] },
  464. { name: "clause_or_replace", symbols: [] },
  465. {
  466. name: "clause_or_replace$string$1",
  467. symbols: [
  468. { literal: "O" },
  469. { literal: "R" },
  470. { literal: " " },
  471. { literal: "R" },
  472. { literal: "E" },
  473. { literal: "P" },
  474. { literal: "L" },
  475. { literal: "A" },
  476. { literal: "C" },
  477. { literal: "E" },
  478. ],
  479. postprocess: (d) => d.join(""),
  480. },
  481. {
  482. name: "clause_or_replace",
  483. symbols: ["clause_or_replace$string$1", "__"],
  484. },
  485. {
  486. name: "clause_view$string$1",
  487. symbols: [
  488. { literal: "V" },
  489. { literal: "I" },
  490. { literal: "E" },
  491. { literal: "W" },
  492. ],
  493. postprocess: (d) => d.join(""),
  494. },
  495. { name: "clause_view$ebnf$1", symbols: [/[A-z]/] },
  496. {
  497. name: "clause_view$ebnf$1",
  498. symbols: ["clause_view$ebnf$1", /[A-z]/],
  499. postprocess: (d) => d[0].concat([d[1]]),
  500. },
  501. {
  502. name: "clause_view",
  503. symbols: ["clause_view$string$1", "clause_view$ebnf$1"],
  504. },
  505. ],
  506. ParserStart: "statement",
  507. };
  508. exports.default = grammar;
  509. //# sourceMappingURL=grammar.js.map