diff --git a/.gitignore b/.gitignore index 34a193d..164a81a 100644 --- a/.gitignore +++ b/.gitignore @@ -23,3 +23,4 @@ data.json docs/.vitepress/dist docs/.vitepress/cache coverage/ +dist/ diff --git a/CHANGELOG.md b/CHANGELOG.md index ce3126c..ce35e53 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,6 @@ +# 0.10.0 +SQLSeal is not compatible with mobile! Plugin now uses SQL.JS instead of better-sqlite3 which is written in Web Assembly so no longer native binaries are needed. This makes plugin portable. + # 0.9.2 Adding checkbox method to display boolean values as checkboxes Fixing how updates are parsed diff --git a/README.md b/README.md index af11c16..9b2dab6 100644 --- a/README.md +++ b/README.md @@ -3,13 +3,8 @@ SQLSeal allows to transform your CSV files located in your vault into fully-fledged SQL database. You can use SQL statements to query this data however you like. ## Installation -Once the library is published in Obsidian Official Community Repository: just head to Community Tab in your Obisidian Settings page and search for "SQLSeal". -Note: Please note that this plugin is in early phase. Basic functionality should work just fine but I do not take any responsibility for potential data loss and damage to your Vault. - -On the first try plugin will download better_sqlite3.node binary to run database locally. This is due to the Obsidian restrictions to bundle everything in the `main.js`. The whole process of generating it is public and you can check it in the GitHub workflows. - -The plugin creates database file in configuration folder `.obsidian` named `sqlseal.db`. +You can install plugin from the Community Plugins directly from Obsidian, just look for SQLSeal in the marketplace. ### Manual Instalation To manually install the package, open [Releases](https://github.com/h-sphere/sql-seal/releases) and download .zip of the last one. Unzip it in your vault under `.obsidian/Plugins/sqlseal`. @@ -29,6 +24,9 @@ You can define multiple tables in a single snippet. You can also point to the ta For more comprehensive documentation head to [hypersphere.blog/sql-seal](https://hypersphere.blog/sql-seal). +# Disclaimer +The plugin authors do not take any resposibility for any potential data loss. Always backup your files before usage. That said, plugin does not modify any files in the Vault so you should be fine :) + # Stay in Touch! If you have any questions about the project, ideas or want to share your use-cases, [join our Discord Channel](https://discord.gg/ZMRnFeAWXb)! diff --git a/manifest.json b/manifest.json index c5d36c9..135c18f 100644 --- a/manifest.json +++ b/manifest.json @@ -1,11 +1,11 @@ { "id": "sqlseal", "name": "SQLSeal", - "version": "0.9.2", + "version": "0.10.0", "minAppVersion": "0.15.0", "description": "Use SQL in your notes to query your vault files and CSV content.", "author": "hypersphere", "authorUrl": "https://hypersphere.blog/", "fundingUrl": "ko-fi.com/hypersphere", - "isDesktopOnly": true + "isDesktopOnly": false } \ No newline at end of file diff --git a/package.json b/package.json index 8adc189..b7bf1f7 100644 --- a/package.json +++ b/package.json @@ -1,13 +1,13 @@ { "name": "sqlseal", - "version": "0.9.2", + "version": "0.10.0", "description": "A plugin for Obsidian that allows you to run SQL queries on your notes.", "main": "main.js", "scripts": { "dev": "node esbuild.config.mjs", "typecheck": "tsc -noEmit -skipLibCheck", "build": " node esbuild.config.mjs production", - "build-grammar": "antlr4ts -o src/grammar -Dlanguage=TypeScript -visitor SqlSealLang.g4", + "build-grammar": "npx antlr4-tool -o src/grammar --visitor SqlSealLang.g4", "version": "node version-bump.mjs && git add manifest.json versions.json", "rebuild": "electron-rebuild -f -w better-sqlite3", "docs:dev": "vitepress dev docs", @@ -27,6 +27,7 @@ "@types/sql.js": "^1.4.9", "@typescript-eslint/eslint-plugin": "5.29.0", "@typescript-eslint/parser": "5.29.0", + "antlr4-tool": "^1.1.1", "antlr4ts-cli": "0.5.0-alpha.4", "builtin-modules": "3.3.0", "electron": "^30.0.0", @@ -45,11 +46,14 @@ "dependencies": { "@ag-grid-community/theming": "^32.3.2", "ag-grid-community": "^32.3.2", - "antlr4ts": "0.5.0-alpha.4", + "antlr4": "^4.13.2", + "antlr4ts-browser": "0.5.0-alpha.4", + "antlr4ts-browser-cli": "0.5.0-alpha.7", "json5": "^2.2.3", "lodash": "^4.17.21", "node-sql-parser": "^5.0.0", "papaparse": "^5.4.1", - "sql.js": "^1.12.0" + "sql.js": "^1.12.0", + "util": "^0.12.5" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b19d141..cea6a4e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -14,9 +14,15 @@ importers: ag-grid-community: specifier: ^32.3.2 version: 32.3.2 - antlr4ts: + antlr4: + specifier: ^4.13.2 + version: 4.13.2 + antlr4ts-browser: specifier: 0.5.0-alpha.4 - version: 0.5.0-alpha.4 + version: 0.5.0-alpha.4(@babel/runtime@7.26.0) + antlr4ts-browser-cli: + specifier: 0.5.0-alpha.7 + version: 0.5.0-alpha.7 json5: specifier: ^2.2.3 version: 2.2.3 @@ -32,6 +38,9 @@ importers: sql.js: specifier: ^1.12.0 version: 1.12.0 + util: + specifier: ^0.12.5 + version: 0.12.5 devDependencies: '@jest/globals': specifier: ^29.7.0 @@ -57,6 +66,9 @@ importers: '@typescript-eslint/parser': specifier: 5.29.0 version: 5.29.0(eslint@8.57.0)(typescript@4.7.4) + antlr4-tool: + specifier: ^1.1.1 + version: 1.1.1 antlr4ts-cli: specifier: 0.5.0-alpha.4 version: 0.5.0-alpha.4 @@ -331,6 +343,10 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 + '@babel/runtime@7.26.0': + resolution: {integrity: sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw==} + engines: {node: '>=6.9.0'} + '@babel/template@7.25.0': resolution: {integrity: sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q==} engines: {node: '>=6.9.0'} @@ -907,6 +923,9 @@ packages: resolution: {integrity: sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==} engines: {node: '>= 10'} + '@types/antlr4@4.11.6': + resolution: {integrity: sha512-YtxtT6vYfLK6jC55zC4Pb2YwV6Z8exn4DbDlQgoSEc6VqlFZloi6bgm0AqZns/7U4XQCAVMhv/+vnGcfyCkPfg==} + '@types/babel__core@7.20.5': resolution: {integrity: sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==} @@ -1225,13 +1244,27 @@ packages: resolution: {integrity: sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==} engines: {node: '>=10'} + antlr4-tool@1.1.1: + resolution: {integrity: sha512-eACjIXKjVW07SlSmXcjqa2IBIEwUodXbWpnlfywSO3YAa5vr+5nQk/+34dooK/KLpPNeaZVyFcbiGRKgmPmK6Q==} + hasBin: true + + antlr4@4.13.2: + resolution: {integrity: sha512-QiVbZhyy4xAZ17UPEuG3YTOt8ZaoeOR1CvEAqrEsDBsOqINslaB147i9xqljZqoyf5S+EUlGStaj+t22LT9MOg==} + engines: {node: '>=16'} + + antlr4ts-browser-cli@0.5.0-alpha.7: + resolution: {integrity: sha512-5ktIJRhWxzC3pKRMUOxt8G1WNy5yJRPQTKahF5dbwgfWwAV1AJrQnjqwhLi7FM2VNXdcrD/3hc8T2kmriOxzbQ==} + hasBin: true + + antlr4ts-browser@0.5.0-alpha.4: + resolution: {integrity: sha512-H4P/amu2GgbrK9HWXpttH177LThMbJPDsUUwZ/LWIRAEB783W2vEi4nKW+bETv3FHYBciPBthpLKviyVOMgAjg==} + peerDependencies: + '@babel/runtime': ^7.14.0 + antlr4ts-cli@0.5.0-alpha.4: resolution: {integrity: sha512-lVPVBTA2CVHRYILSKilL6Jd4hAumhSZZWA7UbQNQrmaSSj7dPmmYaN4bOmZG79cOy0lS00i4LY68JZZjZMWVrw==} hasBin: true - antlr4ts@0.5.0-alpha.4: - resolution: {integrity: sha512-WPQDt1B74OfPv/IMS2ekXAKkTZIHl88uMetg6q3OTqgFxZ/dxDXI0EWLyZid/1Pe6hTftyg5N7gel5wNAGxXyQ==} - anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} @@ -1257,6 +1290,10 @@ packages: async@3.2.6: resolution: {integrity: sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==} + available-typed-arrays@1.0.7: + resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} + engines: {node: '>= 0.4'} + babel-jest@29.7.0: resolution: {integrity: sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1295,6 +1332,9 @@ packages: birpc@0.2.17: resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} + bl@1.2.3: + resolution: {integrity: sha512-pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==} + bl@4.1.0: resolution: {integrity: sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==} @@ -1323,9 +1363,18 @@ packages: bser@2.1.1: resolution: {integrity: sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==} + buffer-alloc-unsafe@1.1.0: + resolution: {integrity: sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==} + + buffer-alloc@1.2.0: + resolution: {integrity: sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==} + buffer-crc32@0.2.13: resolution: {integrity: sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==} + buffer-fill@1.0.0: + resolution: {integrity: sha512-T7zexNBwiiaCOGDg9xNX9PBmjrubblRkENuptryuI64URkXDFum9il/JGL8Lm8wYfAXpredVXXZz7eMHilimiQ==} + buffer-from@1.1.2: resolution: {integrity: sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==} @@ -1348,6 +1397,10 @@ packages: resolution: {integrity: sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg==} engines: {node: '>=8'} + call-bind@1.0.7: + resolution: {integrity: sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==} + engines: {node: '>= 0.4'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1375,6 +1428,13 @@ packages: resolution: {integrity: sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==} engines: {node: '>=10'} + chdir@0.0.0: + resolution: {integrity: sha512-4uF+X0GMPac82R3P1bZJCxDbEaJZvveosJELubRPC7mW8uku/PJLEl+Gv1TIR2YKOyDaoEmAcfw5/s2g8cJbhQ==} + engines: {node: '>=0.4.0'} + + chownr@1.1.4: + resolution: {integrity: sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==} + chownr@2.0.0: resolution: {integrity: sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==} engines: {node: '>=10'} @@ -1433,6 +1493,9 @@ packages: resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} hasBin: true + commander@2.20.3: + resolution: {integrity: sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==} + concat-map@0.0.1: resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} @@ -1446,6 +1509,9 @@ packages: resolution: {integrity: sha512-yCEafptTtb4bk7GLEQoM8KVJpxAfdBJYaXyzQEgQQQgYrZiDp8SJmGKlYza6CYjEDNstAdNdKA3UuoULlEbS6w==} engines: {node: '>=12.13'} + core-util-is@1.0.3: + resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} + create-jest@29.7.0: resolution: {integrity: sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} @@ -1523,10 +1589,17 @@ packages: resolution: {integrity: sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==} engines: {node: '>=8'} + directory-exists@2.0.1: + resolution: {integrity: sha512-+CEod3IzwjvhQOMXFSU6nrqdTwrhzOiacNzzXlwBVFm7C4y2rbuEWs5WaRsI/3IZeSWORA5F1q8FBh3gm4HSsw==} + doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} engines: {node: '>=6.0.0'} + ejs@2.7.4: + resolution: {integrity: sha512-7vmuyh5+kuUyJKePhQfRQBhXV5Ce+RnaeeQArKu1EAMpL3WbgMt5WG6uQZpEVvYSSsxMXRKOewtDk9RaTKXRlA==} + engines: {node: '>=0.10.0'} + ejs@3.1.10: resolution: {integrity: sha512-UeJmFfOrAQS8OJWPZ4qtgHyWExa088/MtK5UEyoJGFH67cDEXkZSviOiKRCZ4Xij0zxI3JECgYs3oKx+AizQBA==} engines: {node: '>=0.10.0'} @@ -1725,6 +1798,9 @@ packages: resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} engines: {node: '>=8'} + find-package-json@1.2.0: + resolution: {integrity: sha512-+SOGcLGYDJHtyqHd87ysBhmaeQ95oWspDKnMXBrnQ9Eq4OkLNqejgoaD8xVWu6GPa0B6roa6KinCMEMcVeqONw==} + find-up@4.1.0: resolution: {integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==} engines: {node: '>=8'} @@ -1743,6 +1819,12 @@ packages: focus-trap@7.5.4: resolution: {integrity: sha512-N7kHdlgsO/v+iD/dMoJKtsSqs5Dz/dXZVebRgJw23LDk+jMi/974zyiOYDziY2JPp8xivq9BmUGwIJMiuSBi7w==} + for-each@0.3.3: + resolution: {integrity: sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==} + + fs-constants@1.0.0: + resolution: {integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==} + fs-extra@10.1.0: resolution: {integrity: sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==} engines: {node: '>=12'} @@ -1867,6 +1949,10 @@ packages: resolution: {integrity: sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==} engines: {node: '>= 0.4'} + has-tostringtag@1.0.2: + resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} + engines: {node: '>= 0.4'} + has-unicode@2.0.1: resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} @@ -1944,9 +2030,17 @@ packages: resolution: {integrity: sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==} engines: {node: '>= 12'} + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} + is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-callable@1.2.7: + resolution: {integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==} + engines: {node: '>= 0.4'} + is-core-module@2.15.1: resolution: {integrity: sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ==} engines: {node: '>= 0.4'} @@ -1963,6 +2057,10 @@ packages: resolution: {integrity: sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==} engines: {node: '>=6'} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -1986,6 +2084,10 @@ packages: resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} engines: {node: '>=8'} + is-typed-array@1.1.13: + resolution: {integrity: sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==} + engines: {node: '>= 0.4'} + is-unicode-supported@0.1.0: resolution: {integrity: sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==} engines: {node: '>=10'} @@ -1994,6 +2096,9 @@ packages: resolution: {integrity: sha512-ZhMwEosbFJkA0YhFnNDgTM4ZxDRsS6HqTo7qsZM08fehyRYIYa0yHu5R6mgo1n/8MgaPBXiPimPD77baVFYg+A==} engines: {node: '>=12.13'} + isarray@1.0.0: + resolution: {integrity: sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==} + isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} @@ -2312,6 +2417,9 @@ packages: resolution: {integrity: sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==} engines: {node: '>=10'} + minimist@1.2.8: + resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} + minipass-collect@1.0.2: resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==} engines: {node: '>= 8'} @@ -2350,6 +2458,14 @@ packages: mitt@3.0.1: resolution: {integrity: sha512-vKivATfr97l2/QBCYAkXYDbrIWPM2IIKEl7YPhjCvKlG3kE2gm+uBo6nEXK3M5/Ffh/FLpKExzOQ3JJoJGFKBw==} + mkdir-recursive@0.4.0: + resolution: {integrity: sha512-gbTtiEu8P/GSMh1lAa0YYNr8XIfDzFgnWtetw3Hfz9nw6YXySHNYOZF/uUTgyp8GHvFnNw/EG7VhOkD6zfVb6A==} + engines: {node: '>=4'} + + mkdirp@0.5.6: + resolution: {integrity: sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==} + hasBin: true + mkdirp@1.0.4: resolution: {integrity: sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==} engines: {node: '>=10'} @@ -2386,6 +2502,10 @@ packages: node-api-version@0.1.4: resolution: {integrity: sha512-KGXihXdUChwJAOHO53bv9/vXcLmdUsZ6jIptbvYvkpKfth+r7jw44JkVxQFA3kX5nQjzjmGu1uAu/xNNLNlI5g==} + node-eval@2.0.0: + resolution: {integrity: sha512-Ap+L9HznXAVeJj3TJ1op6M6bg5xtTq8L5CU/PJxtkhea/DrIxdTknGKIECKd/v/Lgql95iuMAYvIzBNd0pmcMg==} + engines: {node: '>= 4'} + node-gyp-build@4.8.1: resolution: {integrity: sha512-OSs33Z9yWr148JZcbZd5WiAXhh/n9z8TxQcdMhIOlpN9AhWpLfvVFO73+m77bBABQMaY9XSvIa+qk0jlI7Gcaw==} hasBin: true @@ -2531,6 +2651,10 @@ packages: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} engines: {node: '>=8'} + possible-typed-array-names@1.0.0: + resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} + engines: {node: '>= 0.4'} + postcss@8.4.41: resolution: {integrity: sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ==} engines: {node: ^10 || ^12 || >=14} @@ -2551,6 +2675,9 @@ packages: resolution: {integrity: sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + process-nextick-args@2.0.1: + resolution: {integrity: sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==} + progress@2.0.3: resolution: {integrity: sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==} engines: {node: '>=0.4.0'} @@ -2571,6 +2698,9 @@ packages: resolution: {integrity: sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==} engines: {node: '>= 6'} + pump@1.0.3: + resolution: {integrity: sha512-8k0JupWme55+9tCVE+FS5ULT3K6AbgqrGa58lTT49RpyfwwcGedHqaC5LlQNdEAumn/wFsu6aPwkuPMioy8kqw==} + pump@3.0.0: resolution: {integrity: sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==} @@ -2591,10 +2721,16 @@ packages: react-is@18.3.1: resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==} + readable-stream@2.3.8: + resolution: {integrity: sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==} + readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} engines: {node: '>= 6'} + regenerator-runtime@0.14.1: + resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} + regexpp@3.2.0: resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==} engines: {node: '>=8'} @@ -2661,6 +2797,9 @@ packages: run-parallel@1.2.0: resolution: {integrity: sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==} + safe-buffer@5.1.2: + resolution: {integrity: sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==} + safe-buffer@5.2.1: resolution: {integrity: sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==} @@ -2689,6 +2828,10 @@ packages: set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} + set-function-length@1.2.2: + resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} + engines: {node: '>= 0.4'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -2766,6 +2909,9 @@ packages: resolution: {integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==} engines: {node: '>=8'} + string_decoder@1.1.1: + resolution: {integrity: sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==} + string_decoder@1.3.0: resolution: {integrity: sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==} @@ -2815,10 +2961,20 @@ packages: tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} + tar-fs@1.16.3: + resolution: {integrity: sha512-NvCeXpYx7OsmOh8zIOP/ebG55zZmxLE0etfWRbWok+q2Qo8x/vOR/IJT1taADXPe+jsiu9axDb3X4B+iIgNlKw==} + + tar-stream@1.6.2: + resolution: {integrity: sha512-rzS0heiNf8Xn7/mpdSVVSMAWAoy9bfb1WOTYC78Z0UQKeKa/CWS8FOq0lKGNa8DWKAn9gxjCvMLYc5PGXYlK2A==} + engines: {node: '>= 0.8.0'} + tar@6.2.1: resolution: {integrity: sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==} engines: {node: '>=10'} + targz@1.0.1: + resolution: {integrity: sha512-6q4tP9U55mZnRuMTBqnqc3nwYQY3kv+QthCFZuMk+Tn1qYUnMPmL/JZ/mzgXINzFpSqfU+242IFmFU9VPvqaQw==} + test-exclude@6.0.0: resolution: {integrity: sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==} engines: {node: '>=8'} @@ -2829,6 +2985,9 @@ packages: tmpl@1.0.5: resolution: {integrity: sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==} + to-buffer@1.1.1: + resolution: {integrity: sha512-lx9B5iv7msuFYE3dytT+KE5tap+rNYw+K4jVkb9R/asAb+pbBSM17jtunHplhBe6RRJdZx3Pn2Jph24O32mOVg==} + to-fast-properties@2.0.0: resolution: {integrity: sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==} engines: {node: '>=4'} @@ -2932,6 +3091,9 @@ packages: util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} + util@0.12.5: + resolution: {integrity: sha512-kZf/K6hEIrWHI6XqOFUiiMa+79wE/D8Q+NCNAWclkyg3b4d2k7s0QGepNjiABc+aR3N1PAyHL7p6UcLY6LmrnA==} + v8-to-istanbul@9.3.0: resolution: {integrity: sha512-kiGUalWN+rgBJ/1OHZsBtU4rXZOfj/7rKQxULKlIzwzQSvMJUUNgPwJEEh7gU6xEVxC0ahoOBvN2YI8GH6FNgA==} engines: {node: '>=10.12.0'} @@ -3007,6 +3169,10 @@ packages: wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} + which-typed-array@1.1.15: + resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} + engines: {node: '>= 0.4'} + which@2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -3030,6 +3196,10 @@ packages: resolution: {integrity: sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} + xtend@4.0.2: + resolution: {integrity: sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==} + engines: {node: '>=0.4'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -3351,6 +3521,10 @@ snapshots: '@babel/core': 7.25.2 '@babel/helper-plugin-utils': 7.24.8 + '@babel/runtime@7.26.0': + dependencies: + regenerator-runtime: 0.14.1 + '@babel/template@7.25.0': dependencies: '@babel/code-frame': 7.24.7 @@ -3884,6 +4058,8 @@ snapshots: '@tootallnate/once@2.0.0': {} + '@types/antlr4@4.11.6': {} + '@types/babel__core@7.20.5': dependencies: '@babel/parser': 7.25.4 @@ -4267,9 +4443,30 @@ snapshots: ansi-styles@5.2.0: {} - antlr4ts-cli@0.5.0-alpha.4: {} + antlr4-tool@1.1.1: + dependencies: + '@types/antlr4': 4.11.6 + antlr4: 4.13.2 + chalk: 2.4.2 + chdir: 0.0.0 + commander: 2.20.3 + directory-exists: 2.0.1 + ejs: 2.7.4 + find-package-json: 1.2.0 + lodash: 4.17.21 + mkdir-recursive: 0.4.0 + node-eval: 2.0.0 + targz: 1.0.1 - antlr4ts@0.5.0-alpha.4: {} + antlr4@4.13.2: {} + + antlr4ts-browser-cli@0.5.0-alpha.7: {} + + antlr4ts-browser@0.5.0-alpha.4(@babel/runtime@7.26.0): + dependencies: + '@babel/runtime': 7.26.0 + + antlr4ts-cli@0.5.0-alpha.4: {} anymatch@3.1.3: dependencies: @@ -4293,6 +4490,10 @@ snapshots: async@3.2.6: {} + available-typed-arrays@1.0.7: + dependencies: + possible-typed-array-names: 1.0.0 + babel-jest@29.7.0(@babel/core@7.25.2): dependencies: '@babel/core': 7.25.2 @@ -4356,6 +4557,11 @@ snapshots: birpc@0.2.17: {} + bl@1.2.3: + dependencies: + readable-stream: 2.3.8 + safe-buffer: 5.2.1 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -4393,8 +4599,17 @@ snapshots: dependencies: node-int64: 0.4.0 + buffer-alloc-unsafe@1.1.0: {} + + buffer-alloc@1.2.0: + dependencies: + buffer-alloc-unsafe: 1.1.0 + buffer-fill: 1.0.0 + buffer-crc32@0.2.13: {} + buffer-fill@1.0.0: {} + buffer-from@1.1.2: {} buffer@5.7.1: @@ -4439,6 +4654,14 @@ snapshots: normalize-url: 6.1.0 responselike: 2.0.1 + call-bind@1.0.7: + dependencies: + es-define-property: 1.0.0 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + set-function-length: 1.2.2 + callsites@3.1.0: {} camelcase@5.3.1: {} @@ -4460,6 +4683,10 @@ snapshots: char-regex@1.0.2: {} + chdir@0.0.0: {} + + chownr@1.1.4: {} + chownr@2.0.0: {} ci-info@3.9.0: {} @@ -4504,6 +4731,8 @@ snapshots: color-support@1.1.3: {} + commander@2.20.3: {} + concat-map@0.0.1: {} console-control-strings@1.1.0: {} @@ -4514,6 +4743,8 @@ snapshots: dependencies: is-what: 4.1.16 + core-util-is@1.0.3: {} + create-jest@29.7.0(@types/node@22.5.0): dependencies: '@jest/types': 29.6.3 @@ -4562,7 +4793,6 @@ snapshots: es-define-property: 1.0.0 es-errors: 1.3.0 gopd: 1.0.1 - optional: true define-properties@1.2.1: dependencies: @@ -4586,10 +4816,14 @@ snapshots: dependencies: path-type: 4.0.0 + directory-exists@2.0.1: {} + doctrine@3.0.0: dependencies: esutils: 2.0.3 + ejs@2.7.4: {} + ejs@3.1.10: dependencies: jake: 10.9.2 @@ -4650,10 +4884,8 @@ snapshots: es-define-property@1.0.0: dependencies: get-intrinsic: 1.2.4 - optional: true - es-errors@1.3.0: - optional: true + es-errors@1.3.0: {} es6-error@4.1.1: optional: true @@ -4879,6 +5111,8 @@ snapshots: dependencies: to-regex-range: 5.0.1 + find-package-json@1.2.0: {} + find-up@4.1.0: dependencies: locate-path: 5.0.0 @@ -4901,6 +5135,12 @@ snapshots: dependencies: tabbable: 6.2.0 + for-each@0.3.3: + dependencies: + is-callable: 1.2.7 + + fs-constants@1.0.0: {} + fs-extra@10.1.0: dependencies: graceful-fs: 4.2.11 @@ -4948,7 +5188,6 @@ snapshots: has-proto: 1.0.3 has-symbols: 1.0.3 hasown: 2.0.2 - optional: true get-package-type@0.1.0: {} @@ -5017,7 +5256,6 @@ snapshots: gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 - optional: true got@11.8.6: dependencies: @@ -5044,13 +5282,14 @@ snapshots: has-property-descriptors@1.0.2: dependencies: es-define-property: 1.0.0 - optional: true - has-proto@1.0.3: - optional: true + has-proto@1.0.3: {} - has-symbols@1.0.3: - optional: true + has-symbols@1.0.3: {} + + has-tostringtag@1.0.2: + dependencies: + has-symbols: 1.0.3 has-unicode@2.0.1: {} @@ -5127,8 +5366,15 @@ snapshots: jsbn: 1.1.0 sprintf-js: 1.1.3 + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 + is-arrayish@0.2.1: {} + is-callable@1.2.7: {} + is-core-module@2.15.1: dependencies: hasown: 2.0.2 @@ -5139,6 +5385,10 @@ snapshots: is-generator-fn@2.1.0: {} + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 @@ -5153,10 +5403,16 @@ snapshots: is-stream@2.0.1: {} + is-typed-array@1.1.13: + dependencies: + which-typed-array: 1.1.15 + is-unicode-supported@0.1.0: {} is-what@4.1.16: {} + isarray@1.0.0: {} + isexe@2.0.0: {} istanbul-lib-coverage@3.2.2: {} @@ -5701,6 +5957,8 @@ snapshots: dependencies: brace-expansion: 2.0.1 + minimist@1.2.8: {} + minipass-collect@1.0.2: dependencies: minipass: 3.3.6 @@ -5740,6 +5998,12 @@ snapshots: mitt@3.0.1: {} + mkdir-recursive@0.4.0: {} + + mkdirp@0.5.6: + dependencies: + minimist: 1.2.8 + mkdirp@1.0.4: {} moment@2.29.4: {} @@ -5764,6 +6028,10 @@ snapshots: dependencies: semver: 7.6.3 + node-eval@2.0.0: + dependencies: + path-is-absolute: 1.0.1 + node-gyp-build@4.8.1: {} node-gyp@9.4.1: @@ -5911,6 +6179,8 @@ snapshots: dependencies: find-up: 4.1.0 + possible-typed-array-names@1.0.0: {} + postcss@8.4.41: dependencies: nanoid: 3.3.7 @@ -5929,6 +6199,8 @@ snapshots: ansi-styles: 5.2.0 react-is: 18.3.1 + process-nextick-args@2.0.1: {} + progress@2.0.3: {} promise-inflight@1.0.1: {} @@ -5943,6 +6215,11 @@ snapshots: kleur: 3.0.3 sisteransi: 1.0.5 + pump@1.0.3: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + pump@3.0.0: dependencies: end-of-stream: 1.4.4 @@ -5958,12 +6235,24 @@ snapshots: react-is@18.3.1: {} + readable-stream@2.3.8: + dependencies: + core-util-is: 1.0.3 + inherits: 2.0.4 + isarray: 1.0.0 + process-nextick-args: 2.0.1 + safe-buffer: 5.1.2 + string_decoder: 1.1.1 + util-deprecate: 1.0.2 + readable-stream@3.6.2: dependencies: inherits: 2.0.4 string_decoder: 1.3.0 util-deprecate: 1.0.2 + regenerator-runtime@0.14.1: {} + regexpp@3.2.0: {} require-directory@2.1.1: {} @@ -6041,6 +6330,8 @@ snapshots: dependencies: queue-microtask: 1.2.3 + safe-buffer@5.1.2: {} + safe-buffer@5.2.1: {} safer-buffer@2.1.2: @@ -6062,6 +6353,15 @@ snapshots: set-blocking@2.0.0: {} + set-function-length@1.2.2: + dependencies: + define-data-property: 1.1.4 + es-errors: 1.3.0 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-property-descriptors: 1.0.2 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -6132,6 +6432,10 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 + string_decoder@1.1.1: + dependencies: + safe-buffer: 5.1.2 + string_decoder@1.3.0: dependencies: safe-buffer: 5.2.1 @@ -6174,6 +6478,23 @@ snapshots: tabbable@6.2.0: {} + tar-fs@1.16.3: + dependencies: + chownr: 1.1.4 + mkdirp: 0.5.6 + pump: 1.0.3 + tar-stream: 1.6.2 + + tar-stream@1.6.2: + dependencies: + bl: 1.2.3 + buffer-alloc: 1.2.0 + end-of-stream: 1.4.4 + fs-constants: 1.0.0 + readable-stream: 2.3.8 + to-buffer: 1.1.1 + xtend: 4.0.2 + tar@6.2.1: dependencies: chownr: 2.0.0 @@ -6183,6 +6504,10 @@ snapshots: mkdirp: 1.0.4 yallist: 4.0.0 + targz@1.0.1: + dependencies: + tar-fs: 1.16.3 + test-exclude@6.0.0: dependencies: '@istanbuljs/schema': 0.1.3 @@ -6193,6 +6518,8 @@ snapshots: tmpl@1.0.5: {} + to-buffer@1.1.1: {} + to-fast-properties@2.0.0: {} to-regex-range@5.0.1: @@ -6271,6 +6598,14 @@ snapshots: util-deprecate@1.0.2: {} + util@0.12.5: + dependencies: + inherits: 2.0.4 + is-arguments: 1.1.1 + is-generator-function: 1.0.10 + is-typed-array: 1.1.13 + which-typed-array: 1.1.15 + v8-to-istanbul@9.3.0: dependencies: '@jridgewell/trace-mapping': 0.3.25 @@ -6358,6 +6693,14 @@ snapshots: dependencies: defaults: 1.0.4 + which-typed-array@1.1.15: + dependencies: + available-typed-arrays: 1.0.7 + call-bind: 1.0.7 + for-each: 0.3.3 + gopd: 1.0.1 + has-tostringtag: 1.0.2 + which@2.0.2: dependencies: isexe: 2.0.0 @@ -6381,6 +6724,8 @@ snapshots: imurmurhash: 0.1.4 signal-exit: 3.0.7 + xtend@4.0.2: {} + y18n@5.0.8: {} yallist@3.1.1: {} diff --git a/src/grammar/SqlSealLang.interp b/src/grammar/SqlSealLang.interp index fb542c0..06d9690 100644 --- a/src/grammar/SqlSealLang.interp +++ b/src/grammar/SqlSealLang.interp @@ -42,4 +42,4 @@ selectBody atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 3, 15, 163, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 3, 2, 6, 2, 20, 10, 2, 13, 2, 14, 2, 21, 3, 2, 3, 2, 3, 3, 3, 3, 5, 3, 28, 10, 3, 3, 4, 3, 4, 6, 4, 32, 10, 4, 13, 4, 14, 4, 33, 3, 4, 3, 4, 7, 4, 38, 10, 4, 12, 4, 14, 4, 41, 11, 4, 3, 4, 3, 4, 7, 4, 45, 10, 4, 12, 4, 14, 4, 48, 11, 4, 3, 4, 3, 4, 7, 4, 52, 10, 4, 12, 4, 14, 4, 55, 11, 4, 3, 4, 3, 4, 7, 4, 59, 10, 4, 12, 4, 14, 4, 62, 11, 4, 3, 4, 3, 4, 7, 4, 66, 10, 4, 12, 4, 14, 4, 69, 11, 4, 3, 4, 3, 4, 7, 4, 73, 10, 4, 12, 4, 14, 4, 76, 11, 4, 3, 5, 5, 5, 79, 10, 5, 3, 5, 3, 5, 7, 5, 83, 10, 5, 12, 5, 14, 5, 86, 11, 5, 3, 6, 3, 6, 6, 6, 90, 10, 6, 13, 6, 14, 6, 91, 3, 6, 3, 6, 7, 6, 96, 10, 6, 12, 6, 14, 6, 99, 11, 6, 3, 6, 3, 6, 7, 6, 103, 10, 6, 12, 6, 14, 6, 106, 11, 6, 3, 6, 7, 6, 109, 10, 6, 12, 6, 14, 6, 112, 11, 6, 3, 6, 7, 6, 115, 10, 6, 12, 6, 14, 6, 118, 11, 6, 3, 7, 3, 7, 6, 7, 122, 10, 7, 13, 7, 14, 7, 123, 3, 7, 3, 7, 7, 7, 128, 10, 7, 12, 7, 14, 7, 131, 11, 7, 3, 7, 3, 7, 7, 7, 135, 10, 7, 12, 7, 14, 7, 138, 11, 7, 3, 7, 3, 7, 7, 7, 142, 10, 7, 12, 7, 14, 7, 145, 11, 7, 3, 7, 3, 7, 3, 8, 3, 8, 6, 8, 151, 10, 8, 13, 8, 14, 8, 152, 3, 8, 3, 8, 3, 9, 7, 9, 158, 10, 9, 12, 9, 14, 9, 161, 11, 9, 3, 9, 3, 159, 2, 2, 10, 2, 2, 4, 2, 6, 2, 8, 2, 10, 2, 12, 2, 14, 2, 16, 2, 2, 2, 2, 176, 2, 19, 3, 2, 2, 2, 4, 27, 3, 2, 2, 2, 6, 29, 3, 2, 2, 2, 8, 78, 3, 2, 2, 2, 10, 87, 3, 2, 2, 2, 12, 119, 3, 2, 2, 2, 14, 148, 3, 2, 2, 2, 16, 159, 3, 2, 2, 2, 18, 20, 5, 4, 3, 2, 19, 18, 3, 2, 2, 2, 20, 21, 3, 2, 2, 2, 21, 19, 3, 2, 2, 2, 21, 22, 3, 2, 2, 2, 22, 23, 3, 2, 2, 2, 23, 24, 7, 2, 2, 3, 24, 3, 3, 2, 2, 2, 25, 28, 5, 6, 4, 2, 26, 28, 5, 8, 5, 2, 27, 25, 3, 2, 2, 2, 27, 26, 3, 2, 2, 2, 28, 5, 3, 2, 2, 2, 29, 31, 7, 7, 2, 2, 30, 32, 7, 14, 2, 2, 31, 30, 3, 2, 2, 2, 32, 33, 3, 2, 2, 2, 33, 31, 3, 2, 2, 2, 33, 34, 3, 2, 2, 2, 34, 35, 3, 2, 2, 2, 35, 39, 7, 12, 2, 2, 36, 38, 7, 14, 2, 2, 37, 36, 3, 2, 2, 2, 38, 41, 3, 2, 2, 2, 39, 37, 3, 2, 2, 2, 39, 40, 3, 2, 2, 2, 40, 42, 3, 2, 2, 2, 41, 39, 3, 2, 2, 2, 42, 46, 7, 3, 2, 2, 43, 45, 7, 14, 2, 2, 44, 43, 3, 2, 2, 2, 45, 48, 3, 2, 2, 2, 46, 44, 3, 2, 2, 2, 46, 47, 3, 2, 2, 2, 47, 49, 3, 2, 2, 2, 48, 46, 3, 2, 2, 2, 49, 53, 7, 8, 2, 2, 50, 52, 7, 14, 2, 2, 51, 50, 3, 2, 2, 2, 52, 55, 3, 2, 2, 2, 53, 51, 3, 2, 2, 2, 53, 54, 3, 2, 2, 2, 54, 56, 3, 2, 2, 2, 55, 53, 3, 2, 2, 2, 56, 60, 7, 4, 2, 2, 57, 59, 7, 14, 2, 2, 58, 57, 3, 2, 2, 2, 59, 62, 3, 2, 2, 2, 60, 58, 3, 2, 2, 2, 60, 61, 3, 2, 2, 2, 61, 63, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 63, 67, 7, 13, 2, 2, 64, 66, 7, 14, 2, 2, 65, 64, 3, 2, 2, 2, 66, 69, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 70, 3, 2, 2, 2, 69, 67, 3, 2, 2, 2, 70, 74, 7, 5, 2, 2, 71, 73, 7, 14, 2, 2, 72, 71, 3, 2, 2, 2, 73, 76, 3, 2, 2, 2, 74, 72, 3, 2, 2, 2, 74, 75, 3, 2, 2, 2, 75, 7, 3, 2, 2, 2, 76, 74, 3, 2, 2, 2, 77, 79, 5, 10, 6, 2, 78, 77, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 80, 3, 2, 2, 2, 80, 84, 5, 14, 8, 2, 81, 83, 7, 14, 2, 2, 82, 81, 3, 2, 2, 2, 83, 86, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 85, 9, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 87, 89, 7, 9, 2, 2, 88, 90, 7, 14, 2, 2, 89, 88, 3, 2, 2, 2, 90, 91, 3, 2, 2, 2, 91, 89, 3, 2, 2, 2, 91, 92, 3, 2, 2, 2, 92, 93, 3, 2, 2, 2, 93, 110, 5, 12, 7, 2, 94, 96, 7, 14, 2, 2, 95, 94, 3, 2, 2, 2, 96, 99, 3, 2, 2, 2, 97, 95, 3, 2, 2, 2, 97, 98, 3, 2, 2, 2, 98, 100, 3, 2, 2, 2, 99, 97, 3, 2, 2, 2, 100, 104, 7, 6, 2, 2, 101, 103, 7, 14, 2, 2, 102, 101, 3, 2, 2, 2, 103, 106, 3, 2, 2, 2, 104, 102, 3, 2, 2, 2, 104, 105, 3, 2, 2, 2, 105, 107, 3, 2, 2, 2, 106, 104, 3, 2, 2, 2, 107, 109, 5, 12, 7, 2, 108, 97, 3, 2, 2, 2, 109, 112, 3, 2, 2, 2, 110, 108, 3, 2, 2, 2, 110, 111, 3, 2, 2, 2, 111, 116, 3, 2, 2, 2, 112, 110, 3, 2, 2, 2, 113, 115, 7, 14, 2, 2, 114, 113, 3, 2, 2, 2, 115, 118, 3, 2, 2, 2, 116, 114, 3, 2, 2, 2, 116, 117, 3, 2, 2, 2, 117, 11, 3, 2, 2, 2, 118, 116, 3, 2, 2, 2, 119, 121, 7, 12, 2, 2, 120, 122, 7, 14, 2, 2, 121, 120, 3, 2, 2, 2, 122, 123, 3, 2, 2, 2, 123, 121, 3, 2, 2, 2, 123, 124, 3, 2, 2, 2, 124, 125, 3, 2, 2, 2, 125, 129, 7, 10, 2, 2, 126, 128, 7, 14, 2, 2, 127, 126, 3, 2, 2, 2, 128, 131, 3, 2, 2, 2, 129, 127, 3, 2, 2, 2, 129, 130, 3, 2, 2, 2, 130, 132, 3, 2, 2, 2, 131, 129, 3, 2, 2, 2, 132, 136, 7, 4, 2, 2, 133, 135, 7, 14, 2, 2, 134, 133, 3, 2, 2, 2, 135, 138, 3, 2, 2, 2, 136, 134, 3, 2, 2, 2, 136, 137, 3, 2, 2, 2, 137, 139, 3, 2, 2, 2, 138, 136, 3, 2, 2, 2, 139, 143, 5, 14, 8, 2, 140, 142, 7, 14, 2, 2, 141, 140, 3, 2, 2, 2, 142, 145, 3, 2, 2, 2, 143, 141, 3, 2, 2, 2, 143, 144, 3, 2, 2, 2, 144, 146, 3, 2, 2, 2, 145, 143, 3, 2, 2, 2, 146, 147, 7, 5, 2, 2, 147, 13, 3, 2, 2, 2, 148, 150, 7, 11, 2, 2, 149, 151, 7, 14, 2, 2, 150, 149, 3, 2, 2, 2, 151, 152, 3, 2, 2, 2, 152, 150, 3, 2, 2, 2, 152, 153, 3, 2, 2, 2, 153, 154, 3, 2, 2, 2, 154, 155, 5, 16, 9, 2, 155, 15, 3, 2, 2, 2, 156, 158, 11, 2, 2, 2, 157, 156, 3, 2, 2, 2, 158, 161, 3, 2, 2, 2, 159, 160, 3, 2, 2, 2, 159, 157, 3, 2, 2, 2, 160, 17, 3, 2, 2, 2, 161, 159, 3, 2, 2, 2, 24, 21, 27, 33, 39, 46, 53, 60, 67, 74, 78, 84, 91, 97, 104, 110, 116, 123, 129, 136, 143, 152, 159] \ No newline at end of file +[4, 1, 13, 161, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 1, 0, 4, 0, 18, 8, 0, 11, 0, 12, 0, 19, 1, 0, 1, 0, 1, 1, 1, 1, 3, 1, 26, 8, 1, 1, 2, 1, 2, 4, 2, 30, 8, 2, 11, 2, 12, 2, 31, 1, 2, 1, 2, 5, 2, 36, 8, 2, 10, 2, 12, 2, 39, 9, 2, 1, 2, 1, 2, 5, 2, 43, 8, 2, 10, 2, 12, 2, 46, 9, 2, 1, 2, 1, 2, 5, 2, 50, 8, 2, 10, 2, 12, 2, 53, 9, 2, 1, 2, 1, 2, 5, 2, 57, 8, 2, 10, 2, 12, 2, 60, 9, 2, 1, 2, 1, 2, 5, 2, 64, 8, 2, 10, 2, 12, 2, 67, 9, 2, 1, 2, 1, 2, 5, 2, 71, 8, 2, 10, 2, 12, 2, 74, 9, 2, 1, 3, 3, 3, 77, 8, 3, 1, 3, 1, 3, 5, 3, 81, 8, 3, 10, 3, 12, 3, 84, 9, 3, 1, 4, 1, 4, 4, 4, 88, 8, 4, 11, 4, 12, 4, 89, 1, 4, 1, 4, 5, 4, 94, 8, 4, 10, 4, 12, 4, 97, 9, 4, 1, 4, 1, 4, 5, 4, 101, 8, 4, 10, 4, 12, 4, 104, 9, 4, 1, 4, 5, 4, 107, 8, 4, 10, 4, 12, 4, 110, 9, 4, 1, 4, 5, 4, 113, 8, 4, 10, 4, 12, 4, 116, 9, 4, 1, 5, 1, 5, 4, 5, 120, 8, 5, 11, 5, 12, 5, 121, 1, 5, 1, 5, 5, 5, 126, 8, 5, 10, 5, 12, 5, 129, 9, 5, 1, 5, 1, 5, 5, 5, 133, 8, 5, 10, 5, 12, 5, 136, 9, 5, 1, 5, 1, 5, 5, 5, 140, 8, 5, 10, 5, 12, 5, 143, 9, 5, 1, 5, 1, 5, 1, 6, 1, 6, 4, 6, 149, 8, 6, 11, 6, 12, 6, 150, 1, 6, 1, 6, 1, 7, 5, 7, 156, 8, 7, 10, 7, 12, 7, 159, 9, 7, 1, 7, 1, 157, 0, 8, 0, 2, 4, 6, 8, 10, 12, 14, 0, 0, 174, 0, 17, 1, 0, 0, 0, 2, 25, 1, 0, 0, 0, 4, 27, 1, 0, 0, 0, 6, 76, 1, 0, 0, 0, 8, 85, 1, 0, 0, 0, 10, 117, 1, 0, 0, 0, 12, 146, 1, 0, 0, 0, 14, 157, 1, 0, 0, 0, 16, 18, 3, 2, 1, 0, 17, 16, 1, 0, 0, 0, 18, 19, 1, 0, 0, 0, 19, 17, 1, 0, 0, 0, 19, 20, 1, 0, 0, 0, 20, 21, 1, 0, 0, 0, 21, 22, 5, 0, 0, 1, 22, 1, 1, 0, 0, 0, 23, 26, 3, 4, 2, 0, 24, 26, 3, 6, 3, 0, 25, 23, 1, 0, 0, 0, 25, 24, 1, 0, 0, 0, 26, 3, 1, 0, 0, 0, 27, 29, 5, 5, 0, 0, 28, 30, 5, 12, 0, 0, 29, 28, 1, 0, 0, 0, 30, 31, 1, 0, 0, 0, 31, 29, 1, 0, 0, 0, 31, 32, 1, 0, 0, 0, 32, 33, 1, 0, 0, 0, 33, 37, 5, 10, 0, 0, 34, 36, 5, 12, 0, 0, 35, 34, 1, 0, 0, 0, 36, 39, 1, 0, 0, 0, 37, 35, 1, 0, 0, 0, 37, 38, 1, 0, 0, 0, 38, 40, 1, 0, 0, 0, 39, 37, 1, 0, 0, 0, 40, 44, 5, 1, 0, 0, 41, 43, 5, 12, 0, 0, 42, 41, 1, 0, 0, 0, 43, 46, 1, 0, 0, 0, 44, 42, 1, 0, 0, 0, 44, 45, 1, 0, 0, 0, 45, 47, 1, 0, 0, 0, 46, 44, 1, 0, 0, 0, 47, 51, 5, 6, 0, 0, 48, 50, 5, 12, 0, 0, 49, 48, 1, 0, 0, 0, 50, 53, 1, 0, 0, 0, 51, 49, 1, 0, 0, 0, 51, 52, 1, 0, 0, 0, 52, 54, 1, 0, 0, 0, 53, 51, 1, 0, 0, 0, 54, 58, 5, 2, 0, 0, 55, 57, 5, 12, 0, 0, 56, 55, 1, 0, 0, 0, 57, 60, 1, 0, 0, 0, 58, 56, 1, 0, 0, 0, 58, 59, 1, 0, 0, 0, 59, 61, 1, 0, 0, 0, 60, 58, 1, 0, 0, 0, 61, 65, 5, 11, 0, 0, 62, 64, 5, 12, 0, 0, 63, 62, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 68, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 72, 5, 3, 0, 0, 69, 71, 5, 12, 0, 0, 70, 69, 1, 0, 0, 0, 71, 74, 1, 0, 0, 0, 72, 70, 1, 0, 0, 0, 72, 73, 1, 0, 0, 0, 73, 5, 1, 0, 0, 0, 74, 72, 1, 0, 0, 0, 75, 77, 3, 8, 4, 0, 76, 75, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 78, 1, 0, 0, 0, 78, 82, 3, 12, 6, 0, 79, 81, 5, 12, 0, 0, 80, 79, 1, 0, 0, 0, 81, 84, 1, 0, 0, 0, 82, 80, 1, 0, 0, 0, 82, 83, 1, 0, 0, 0, 83, 7, 1, 0, 0, 0, 84, 82, 1, 0, 0, 0, 85, 87, 5, 7, 0, 0, 86, 88, 5, 12, 0, 0, 87, 86, 1, 0, 0, 0, 88, 89, 1, 0, 0, 0, 89, 87, 1, 0, 0, 0, 89, 90, 1, 0, 0, 0, 90, 91, 1, 0, 0, 0, 91, 108, 3, 10, 5, 0, 92, 94, 5, 12, 0, 0, 93, 92, 1, 0, 0, 0, 94, 97, 1, 0, 0, 0, 95, 93, 1, 0, 0, 0, 95, 96, 1, 0, 0, 0, 96, 98, 1, 0, 0, 0, 97, 95, 1, 0, 0, 0, 98, 102, 5, 4, 0, 0, 99, 101, 5, 12, 0, 0, 100, 99, 1, 0, 0, 0, 101, 104, 1, 0, 0, 0, 102, 100, 1, 0, 0, 0, 102, 103, 1, 0, 0, 0, 103, 105, 1, 0, 0, 0, 104, 102, 1, 0, 0, 0, 105, 107, 3, 10, 5, 0, 106, 95, 1, 0, 0, 0, 107, 110, 1, 0, 0, 0, 108, 106, 1, 0, 0, 0, 108, 109, 1, 0, 0, 0, 109, 114, 1, 0, 0, 0, 110, 108, 1, 0, 0, 0, 111, 113, 5, 12, 0, 0, 112, 111, 1, 0, 0, 0, 113, 116, 1, 0, 0, 0, 114, 112, 1, 0, 0, 0, 114, 115, 1, 0, 0, 0, 115, 9, 1, 0, 0, 0, 116, 114, 1, 0, 0, 0, 117, 119, 5, 10, 0, 0, 118, 120, 5, 12, 0, 0, 119, 118, 1, 0, 0, 0, 120, 121, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 121, 122, 1, 0, 0, 0, 122, 123, 1, 0, 0, 0, 123, 127, 5, 8, 0, 0, 124, 126, 5, 12, 0, 0, 125, 124, 1, 0, 0, 0, 126, 129, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 128, 1, 0, 0, 0, 128, 130, 1, 0, 0, 0, 129, 127, 1, 0, 0, 0, 130, 134, 5, 2, 0, 0, 131, 133, 5, 12, 0, 0, 132, 131, 1, 0, 0, 0, 133, 136, 1, 0, 0, 0, 134, 132, 1, 0, 0, 0, 134, 135, 1, 0, 0, 0, 135, 137, 1, 0, 0, 0, 136, 134, 1, 0, 0, 0, 137, 141, 3, 12, 6, 0, 138, 140, 5, 12, 0, 0, 139, 138, 1, 0, 0, 0, 140, 143, 1, 0, 0, 0, 141, 139, 1, 0, 0, 0, 141, 142, 1, 0, 0, 0, 142, 144, 1, 0, 0, 0, 143, 141, 1, 0, 0, 0, 144, 145, 5, 3, 0, 0, 145, 11, 1, 0, 0, 0, 146, 148, 5, 9, 0, 0, 147, 149, 5, 12, 0, 0, 148, 147, 1, 0, 0, 0, 149, 150, 1, 0, 0, 0, 150, 148, 1, 0, 0, 0, 150, 151, 1, 0, 0, 0, 151, 152, 1, 0, 0, 0, 152, 153, 3, 14, 7, 0, 153, 13, 1, 0, 0, 0, 154, 156, 9, 0, 0, 0, 155, 154, 1, 0, 0, 0, 156, 159, 1, 0, 0, 0, 157, 158, 1, 0, 0, 0, 157, 155, 1, 0, 0, 0, 158, 15, 1, 0, 0, 0, 159, 157, 1, 0, 0, 0, 22, 19, 25, 31, 37, 44, 51, 58, 65, 72, 76, 82, 89, 95, 102, 108, 114, 121, 127, 134, 141, 150, 157] \ No newline at end of file diff --git a/src/grammar/SqlSealLangLexer.interp b/src/grammar/SqlSealLangLexer.interp index 71e838b..2cb9f3c 100644 --- a/src/grammar/SqlSealLangLexer.interp +++ b/src/grammar/SqlSealLangLexer.interp @@ -53,4 +53,4 @@ mode names: DEFAULT_MODE atn: -[3, 51485, 51898, 1421, 44986, 20307, 1543, 60043, 49729, 2, 15, 82, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 10, 3, 11, 3, 11, 7, 11, 66, 10, 11, 12, 11, 14, 11, 69, 11, 11, 3, 12, 6, 12, 72, 10, 12, 13, 12, 14, 12, 73, 3, 13, 6, 13, 77, 10, 13, 13, 13, 14, 13, 78, 3, 14, 3, 14, 2, 2, 2, 15, 3, 2, 3, 5, 2, 4, 7, 2, 5, 9, 2, 6, 11, 2, 7, 13, 2, 8, 15, 2, 9, 17, 2, 10, 19, 2, 11, 21, 2, 12, 23, 2, 13, 25, 2, 14, 27, 2, 15, 3, 2, 6, 5, 2, 67, 92, 97, 97, 99, 124, 6, 2, 50, 59, 67, 92, 97, 97, 99, 124, 7, 2, 47, 59, 67, 92, 94, 94, 97, 97, 99, 124, 5, 2, 11, 12, 15, 15, 34, 34, 2, 84, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 3, 29, 3, 2, 2, 2, 5, 31, 3, 2, 2, 2, 7, 33, 3, 2, 2, 2, 9, 35, 3, 2, 2, 2, 11, 37, 3, 2, 2, 2, 13, 43, 3, 2, 2, 2, 15, 48, 3, 2, 2, 2, 17, 53, 3, 2, 2, 2, 19, 56, 3, 2, 2, 2, 21, 63, 3, 2, 2, 2, 23, 71, 3, 2, 2, 2, 25, 76, 3, 2, 2, 2, 27, 80, 3, 2, 2, 2, 29, 30, 7, 63, 2, 2, 30, 4, 3, 2, 2, 2, 31, 32, 7, 42, 2, 2, 32, 6, 3, 2, 2, 2, 33, 34, 7, 43, 2, 2, 34, 8, 3, 2, 2, 2, 35, 36, 7, 46, 2, 2, 36, 10, 3, 2, 2, 2, 37, 38, 7, 86, 2, 2, 38, 39, 7, 67, 2, 2, 39, 40, 7, 68, 2, 2, 40, 41, 7, 78, 2, 2, 41, 42, 7, 71, 2, 2, 42, 12, 3, 2, 2, 2, 43, 44, 7, 104, 2, 2, 44, 45, 7, 107, 2, 2, 45, 46, 7, 110, 2, 2, 46, 47, 7, 103, 2, 2, 47, 14, 3, 2, 2, 2, 48, 49, 7, 89, 2, 2, 49, 50, 7, 75, 2, 2, 50, 51, 7, 86, 2, 2, 51, 52, 7, 74, 2, 2, 52, 16, 3, 2, 2, 2, 53, 54, 7, 67, 2, 2, 54, 55, 7, 85, 2, 2, 55, 18, 3, 2, 2, 2, 56, 57, 7, 85, 2, 2, 57, 58, 7, 71, 2, 2, 58, 59, 7, 78, 2, 2, 59, 60, 7, 71, 2, 2, 60, 61, 7, 69, 2, 2, 61, 62, 7, 86, 2, 2, 62, 20, 3, 2, 2, 2, 63, 67, 9, 2, 2, 2, 64, 66, 9, 3, 2, 2, 65, 64, 3, 2, 2, 2, 66, 69, 3, 2, 2, 2, 67, 65, 3, 2, 2, 2, 67, 68, 3, 2, 2, 2, 68, 22, 3, 2, 2, 2, 69, 67, 3, 2, 2, 2, 70, 72, 9, 4, 2, 2, 71, 70, 3, 2, 2, 2, 72, 73, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 73, 74, 3, 2, 2, 2, 74, 24, 3, 2, 2, 2, 75, 77, 9, 5, 2, 2, 76, 75, 3, 2, 2, 2, 77, 78, 3, 2, 2, 2, 78, 76, 3, 2, 2, 2, 78, 79, 3, 2, 2, 2, 79, 26, 3, 2, 2, 2, 80, 81, 11, 2, 2, 2, 81, 28, 3, 2, 2, 2, 6, 2, 67, 73, 78, 2] \ No newline at end of file +[4, 0, 13, 80, 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, 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, 1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 5, 9, 64, 8, 9, 10, 9, 12, 9, 67, 9, 9, 1, 10, 4, 10, 70, 8, 10, 11, 10, 12, 10, 71, 1, 11, 4, 11, 75, 8, 11, 11, 11, 12, 11, 76, 1, 12, 1, 12, 0, 0, 13, 1, 1, 3, 2, 5, 3, 7, 4, 9, 5, 11, 6, 13, 7, 15, 8, 17, 9, 19, 10, 21, 11, 23, 12, 25, 13, 1, 0, 4, 3, 0, 65, 90, 95, 95, 97, 122, 4, 0, 48, 57, 65, 90, 95, 95, 97, 122, 5, 0, 45, 57, 65, 90, 92, 92, 95, 95, 97, 122, 3, 0, 9, 10, 13, 13, 32, 32, 82, 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, 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, 1, 0, 0, 0, 0, 23, 1, 0, 0, 0, 0, 25, 1, 0, 0, 0, 1, 27, 1, 0, 0, 0, 3, 29, 1, 0, 0, 0, 5, 31, 1, 0, 0, 0, 7, 33, 1, 0, 0, 0, 9, 35, 1, 0, 0, 0, 11, 41, 1, 0, 0, 0, 13, 46, 1, 0, 0, 0, 15, 51, 1, 0, 0, 0, 17, 54, 1, 0, 0, 0, 19, 61, 1, 0, 0, 0, 21, 69, 1, 0, 0, 0, 23, 74, 1, 0, 0, 0, 25, 78, 1, 0, 0, 0, 27, 28, 5, 61, 0, 0, 28, 2, 1, 0, 0, 0, 29, 30, 5, 40, 0, 0, 30, 4, 1, 0, 0, 0, 31, 32, 5, 41, 0, 0, 32, 6, 1, 0, 0, 0, 33, 34, 5, 44, 0, 0, 34, 8, 1, 0, 0, 0, 35, 36, 5, 84, 0, 0, 36, 37, 5, 65, 0, 0, 37, 38, 5, 66, 0, 0, 38, 39, 5, 76, 0, 0, 39, 40, 5, 69, 0, 0, 40, 10, 1, 0, 0, 0, 41, 42, 5, 102, 0, 0, 42, 43, 5, 105, 0, 0, 43, 44, 5, 108, 0, 0, 44, 45, 5, 101, 0, 0, 45, 12, 1, 0, 0, 0, 46, 47, 5, 87, 0, 0, 47, 48, 5, 73, 0, 0, 48, 49, 5, 84, 0, 0, 49, 50, 5, 72, 0, 0, 50, 14, 1, 0, 0, 0, 51, 52, 5, 65, 0, 0, 52, 53, 5, 83, 0, 0, 53, 16, 1, 0, 0, 0, 54, 55, 5, 83, 0, 0, 55, 56, 5, 69, 0, 0, 56, 57, 5, 76, 0, 0, 57, 58, 5, 69, 0, 0, 58, 59, 5, 67, 0, 0, 59, 60, 5, 84, 0, 0, 60, 18, 1, 0, 0, 0, 61, 65, 7, 0, 0, 0, 62, 64, 7, 1, 0, 0, 63, 62, 1, 0, 0, 0, 64, 67, 1, 0, 0, 0, 65, 63, 1, 0, 0, 0, 65, 66, 1, 0, 0, 0, 66, 20, 1, 0, 0, 0, 67, 65, 1, 0, 0, 0, 68, 70, 7, 2, 0, 0, 69, 68, 1, 0, 0, 0, 70, 71, 1, 0, 0, 0, 71, 69, 1, 0, 0, 0, 71, 72, 1, 0, 0, 0, 72, 22, 1, 0, 0, 0, 73, 75, 7, 3, 0, 0, 74, 73, 1, 0, 0, 0, 75, 76, 1, 0, 0, 0, 76, 74, 1, 0, 0, 0, 76, 77, 1, 0, 0, 0, 77, 24, 1, 0, 0, 0, 78, 79, 9, 0, 0, 0, 79, 26, 1, 0, 0, 0, 4, 0, 65, 71, 76, 0] \ No newline at end of file diff --git a/src/grammar/SqlSealLangLexer.ts b/src/grammar/SqlSealLangLexer.ts index 8a6990d..4fb1ce0 100644 --- a/src/grammar/SqlSealLangLexer.ts +++ b/src/grammar/SqlSealLangLexer.ts @@ -1,21 +1,17 @@ -// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT - - -import { ATN } from "antlr4ts/atn/ATN"; -import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer"; -import { CharStream } from "antlr4ts/CharStream"; -import { Lexer } from "antlr4ts/Lexer"; -import { LexerATNSimulator } from "antlr4ts/atn/LexerATNSimulator"; -import { NotNull } from "antlr4ts/Decorators"; -import { Override } from "antlr4ts/Decorators"; -import { RuleContext } from "antlr4ts/RuleContext"; -import { Vocabulary } from "antlr4ts/Vocabulary"; -import { VocabularyImpl } from "antlr4ts/VocabularyImpl"; - -import * as Utils from "antlr4ts/misc/Utils"; - - -export class SqlSealLangLexer extends Lexer { +// Generated from SqlSealLang.g4 by ANTLR 4.13.2 +// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols +import { + ATN, + ATNDeserializer, + CharStream, + DecisionState, DFA, + Lexer, + LexerATNSimulator, + RuleContext, + PredictionContextCache, + Token +} from "antlr4"; +export default class SqlSealLangLexer extends Lexer { public static readonly T__0 = 1; public static readonly T__1 = 2; public static readonly T__2 = 3; @@ -29,103 +25,81 @@ export class SqlSealLangLexer extends Lexer { public static readonly FILE_URL = 11; public static readonly WS = 12; public static readonly ANY = 13; + public static readonly EOF = Token.EOF; - // tslint:disable:no-trailing-whitespace - public static readonly channelNames: string[] = [ - "DEFAULT_TOKEN_CHANNEL", "HIDDEN", - ]; - - // tslint:disable:no-trailing-whitespace - public static readonly modeNames: string[] = [ - "DEFAULT_MODE", - ]; + public static readonly channelNames: string[] = [ "DEFAULT_TOKEN_CHANNEL", "HIDDEN" ]; + public static readonly literalNames: (string | null)[] = [ null, "'='", + "'('", "')'", + "','", "'TABLE'", + "'file'", "'WITH'", + "'AS'", "'SELECT'" ]; + public static readonly symbolicNames: (string | null)[] = [ null, null, + null, null, + null, "TABLE", + "FILE", "WITH", + "AS", "SELECT", + "ID", "FILE_URL", + "WS", "ANY" ]; + public static readonly modeNames: string[] = [ "DEFAULT_MODE", ]; public static readonly ruleNames: string[] = [ "T__0", "T__1", "T__2", "T__3", "TABLE", "FILE", "WITH", "AS", "SELECT", "ID", "FILE_URL", "WS", "ANY", ]; - private static readonly _LITERAL_NAMES: Array = [ - undefined, "'='", "'('", "')'", "','", "'TABLE'", "'file'", "'WITH'", - "'AS'", "'SELECT'", - ]; - private static readonly _SYMBOLIC_NAMES: Array = [ - undefined, undefined, undefined, undefined, undefined, "TABLE", "FILE", - "WITH", "AS", "SELECT", "ID", "FILE_URL", "WS", "ANY", - ]; - public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(SqlSealLangLexer._LITERAL_NAMES, SqlSealLangLexer._SYMBOLIC_NAMES, []); - - // @Override - // @NotNull - public get vocabulary(): Vocabulary { - return SqlSealLangLexer.VOCABULARY; - } - // tslint:enable:no-trailing-whitespace - constructor(input: CharStream) { super(input); - this._interp = new LexerATNSimulator(SqlSealLangLexer._ATN, this); + this._interp = new LexerATNSimulator(this, SqlSealLangLexer._ATN, SqlSealLangLexer.DecisionsToDFA, new PredictionContextCache()); } - // @Override public get grammarFileName(): string { return "SqlSealLang.g4"; } - // @Override + public get literalNames(): (string | null)[] { return SqlSealLangLexer.literalNames; } + public get symbolicNames(): (string | null)[] { return SqlSealLangLexer.symbolicNames; } public get ruleNames(): string[] { return SqlSealLangLexer.ruleNames; } - // @Override - public get serializedATN(): string { return SqlSealLangLexer._serializedATN; } + public get serializedATN(): number[] { return SqlSealLangLexer._serializedATN; } - // @Override public get channelNames(): string[] { return SqlSealLangLexer.channelNames; } - // @Override public get modeNames(): string[] { return SqlSealLangLexer.modeNames; } - public static readonly _serializedATN: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x02\x0FR\b\x01\x04" + - "\x02\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04" + - "\x07\t\x07\x04\b\t\b\x04\t\t\t\x04\n\t\n\x04\v\t\v\x04\f\t\f\x04\r\t\r" + - "\x04\x0E\t\x0E\x03\x02\x03\x02\x03\x03\x03\x03\x03\x04\x03\x04\x03\x05" + - "\x03\x05\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x06\x03\x07\x03\x07" + - "\x03\x07\x03\x07\x03\x07\x03\b\x03\b\x03\b\x03\b\x03\b\x03\t\x03\t\x03" + - "\t\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\n\x03\v\x03\v\x07\vB\n\v\f" + - "\v\x0E\vE\v\v\x03\f\x06\fH\n\f\r\f\x0E\fI\x03\r\x06\rM\n\r\r\r\x0E\rN" + - "\x03\x0E\x03\x0E\x02\x02\x02\x0F\x03\x02\x03\x05\x02\x04\x07\x02\x05\t" + - "\x02\x06\v\x02\x07\r\x02\b\x0F\x02\t\x11\x02\n\x13\x02\v\x15\x02\f\x17" + - "\x02\r\x19\x02\x0E\x1B\x02\x0F\x03\x02\x06\x05\x02C\\aac|\x06\x022;C\\" + - "aac|\x07\x02/;C\\^^aac|\x05\x02\v\f\x0F\x0F\"\"\x02T\x02\x03\x03\x02\x02" + - "\x02\x02\x05\x03\x02\x02\x02\x02\x07\x03\x02\x02\x02\x02\t\x03\x02\x02" + - "\x02\x02\v\x03\x02\x02\x02\x02\r\x03\x02\x02\x02\x02\x0F\x03\x02\x02\x02" + - "\x02\x11\x03\x02\x02\x02\x02\x13\x03\x02\x02\x02\x02\x15\x03\x02\x02\x02" + - "\x02\x17\x03\x02\x02\x02\x02\x19\x03\x02\x02\x02\x02\x1B\x03\x02\x02\x02" + - "\x03\x1D\x03\x02\x02\x02\x05\x1F\x03\x02\x02\x02\x07!\x03\x02\x02\x02" + - "\t#\x03\x02\x02\x02\v%\x03\x02\x02\x02\r+\x03\x02\x02\x02\x0F0\x03\x02" + - "\x02\x02\x115\x03\x02\x02\x02\x138\x03\x02\x02\x02\x15?\x03\x02\x02\x02" + - "\x17G\x03\x02\x02\x02\x19L\x03\x02\x02\x02\x1BP\x03\x02\x02\x02\x1D\x1E" + - "\x07?\x02\x02\x1E\x04\x03\x02\x02\x02\x1F \x07*\x02\x02 \x06\x03\x02\x02" + - "\x02!\"\x07+\x02\x02\"\b\x03\x02\x02\x02#$\x07.\x02\x02$\n\x03\x02\x02" + - "\x02%&\x07V\x02\x02&\'\x07C\x02\x02\'(\x07D\x02\x02()\x07N\x02\x02)*\x07" + - "G\x02\x02*\f\x03\x02\x02\x02+,\x07h\x02\x02,-\x07k\x02\x02-.\x07n\x02" + - "\x02./\x07g\x02\x02/\x0E\x03\x02\x02\x0201\x07Y\x02\x0212\x07K\x02\x02" + - "23\x07V\x02\x0234\x07J\x02\x024\x10\x03\x02\x02\x0256\x07C\x02\x0267\x07" + - "U\x02\x027\x12\x03\x02\x02\x0289\x07U\x02\x029:\x07G\x02\x02:;\x07N\x02" + - "\x02;<\x07G\x02\x02<=\x07E\x02\x02=>\x07V\x02\x02>\x14\x03\x02\x02\x02" + - "?C\t\x02\x02\x02@B\t\x03\x02\x02A@\x03\x02\x02\x02BE\x03\x02\x02\x02C" + - "A\x03\x02\x02\x02CD\x03\x02\x02\x02D\x16\x03\x02\x02\x02EC\x03\x02\x02" + - "\x02FH\t\x04\x02\x02GF\x03\x02\x02\x02HI\x03\x02\x02\x02IG\x03\x02\x02" + - "\x02IJ\x03\x02\x02\x02J\x18\x03\x02\x02\x02KM\t\x05\x02\x02LK\x03\x02" + - "\x02\x02MN\x03\x02\x02\x02NL\x03\x02\x02\x02NO\x03\x02\x02\x02O\x1A\x03" + - "\x02\x02\x02PQ\v\x02\x02\x02Q\x1C\x03\x02\x02\x02\x06\x02CIN\x02"; - public static __ATN: ATN; + public static readonly _serializedATN: number[] = [4,0,13,80,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,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,1,0,1,0,1,1,1,1,1,2,1,2,1,3,1,3,1,4,1,4, + 1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,8, + 1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,5,9,64,8,9,10,9,12,9,67,9,9,1,10,4,10,70, + 8,10,11,10,12,10,71,1,11,4,11,75,8,11,11,11,12,11,76,1,12,1,12,0,0,13,1, + 1,3,2,5,3,7,4,9,5,11,6,13,7,15,8,17,9,19,10,21,11,23,12,25,13,1,0,4,3,0, + 65,90,95,95,97,122,4,0,48,57,65,90,95,95,97,122,5,0,45,57,65,90,92,92,95, + 95,97,122,3,0,9,10,13,13,32,32,82,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,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,1,0,0,0,0,23,1,0,0,0,0,25,1,0,0,0,1,27,1,0,0,0,3,29, + 1,0,0,0,5,31,1,0,0,0,7,33,1,0,0,0,9,35,1,0,0,0,11,41,1,0,0,0,13,46,1,0, + 0,0,15,51,1,0,0,0,17,54,1,0,0,0,19,61,1,0,0,0,21,69,1,0,0,0,23,74,1,0,0, + 0,25,78,1,0,0,0,27,28,5,61,0,0,28,2,1,0,0,0,29,30,5,40,0,0,30,4,1,0,0,0, + 31,32,5,41,0,0,32,6,1,0,0,0,33,34,5,44,0,0,34,8,1,0,0,0,35,36,5,84,0,0, + 36,37,5,65,0,0,37,38,5,66,0,0,38,39,5,76,0,0,39,40,5,69,0,0,40,10,1,0,0, + 0,41,42,5,102,0,0,42,43,5,105,0,0,43,44,5,108,0,0,44,45,5,101,0,0,45,12, + 1,0,0,0,46,47,5,87,0,0,47,48,5,73,0,0,48,49,5,84,0,0,49,50,5,72,0,0,50, + 14,1,0,0,0,51,52,5,65,0,0,52,53,5,83,0,0,53,16,1,0,0,0,54,55,5,83,0,0,55, + 56,5,69,0,0,56,57,5,76,0,0,57,58,5,69,0,0,58,59,5,67,0,0,59,60,5,84,0,0, + 60,18,1,0,0,0,61,65,7,0,0,0,62,64,7,1,0,0,63,62,1,0,0,0,64,67,1,0,0,0,65, + 63,1,0,0,0,65,66,1,0,0,0,66,20,1,0,0,0,67,65,1,0,0,0,68,70,7,2,0,0,69,68, + 1,0,0,0,70,71,1,0,0,0,71,69,1,0,0,0,71,72,1,0,0,0,72,22,1,0,0,0,73,75,7, + 3,0,0,74,73,1,0,0,0,75,76,1,0,0,0,76,74,1,0,0,0,76,77,1,0,0,0,77,24,1,0, + 0,0,78,79,9,0,0,0,79,26,1,0,0,0,4,0,65,71,76,0]; + + private static __ATN: ATN; public static get _ATN(): ATN { if (!SqlSealLangLexer.__ATN) { - SqlSealLangLexer.__ATN = new ATNDeserializer().deserialize(Utils.toCharArray(SqlSealLangLexer._serializedATN)); + SqlSealLangLexer.__ATN = new ATNDeserializer().deserialize(SqlSealLangLexer._serializedATN); } return SqlSealLangLexer.__ATN; } -} + static DecisionsToDFA = SqlSealLangLexer._ATN.decisionToState.map( (ds: DecisionState, index: number) => new DFA(ds, index) ); +} \ No newline at end of file diff --git a/src/grammar/SqlSealLangListener.ts b/src/grammar/SqlSealLangListener.ts index 320fddd..8879d23 100644 --- a/src/grammar/SqlSealLangListener.ts +++ b/src/grammar/SqlSealLangListener.ts @@ -1,23 +1,23 @@ -// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT +// Generated from SqlSealLang.g4 by ANTLR 4.13.2 + +import {ParseTreeListener} from "antlr4"; -import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; - -import { ParseContext } from "./SqlSealLangParser"; -import { StatementContext } from "./SqlSealLangParser"; -import { TableStatementContext } from "./SqlSealLangParser"; -import { QueryStatementContext } from "./SqlSealLangParser"; -import { WithClauseContext } from "./SqlSealLangParser"; -import { CteDefinitionContext } from "./SqlSealLangParser"; -import { SelectStatementContext } from "./SqlSealLangParser"; -import { SelectBodyContext } from "./SqlSealLangParser"; +import { ParseContext } from "./SqlSealLangParser.js"; +import { StatementContext } from "./SqlSealLangParser.js"; +import { TableStatementContext } from "./SqlSealLangParser.js"; +import { QueryStatementContext } from "./SqlSealLangParser.js"; +import { WithClauseContext } from "./SqlSealLangParser.js"; +import { CteDefinitionContext } from "./SqlSealLangParser.js"; +import { SelectStatementContext } from "./SqlSealLangParser.js"; +import { SelectBodyContext } from "./SqlSealLangParser.js"; /** * This interface defines a complete listener for a parse tree produced by * `SqlSealLangParser`. */ -export interface SqlSealLangListener extends ParseTreeListener { +export default class SqlSealLangListener extends ParseTreeListener { /** * Enter a parse tree produced by `SqlSealLangParser.parse`. * @param ctx the parse tree @@ -28,7 +28,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitParse?: (ctx: ParseContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.statement`. * @param ctx the parse tree @@ -39,7 +38,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitStatement?: (ctx: StatementContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.tableStatement`. * @param ctx the parse tree @@ -50,7 +48,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitTableStatement?: (ctx: TableStatementContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.queryStatement`. * @param ctx the parse tree @@ -61,7 +58,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitQueryStatement?: (ctx: QueryStatementContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.withClause`. * @param ctx the parse tree @@ -72,7 +68,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitWithClause?: (ctx: WithClauseContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.cteDefinition`. * @param ctx the parse tree @@ -83,7 +78,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitCteDefinition?: (ctx: CteDefinitionContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.selectStatement`. * @param ctx the parse tree @@ -94,7 +88,6 @@ export interface SqlSealLangListener extends ParseTreeListener { * @param ctx the parse tree */ exitSelectStatement?: (ctx: SelectStatementContext) => void; - /** * Enter a parse tree produced by `SqlSealLangParser.selectBody`. * @param ctx the parse tree diff --git a/src/grammar/SqlSealLangParser.ts b/src/grammar/SqlSealLangParser.ts index b058cb5..8f4bf5e 100644 --- a/src/grammar/SqlSealLangParser.ts +++ b/src/grammar/SqlSealLangParser.ts @@ -1,33 +1,24 @@ -// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT +// Generated from SqlSealLang.g4 by ANTLR 4.13.2 +// noinspection ES6UnusedImports,JSUnusedGlobalSymbols,JSUnusedLocalSymbols +import { + ATN, + ATNDeserializer, DecisionState, DFA, FailedPredicateException, + RecognitionException, NoViableAltException, BailErrorStrategy, + Parser, ParserATNSimulator, + RuleContext, ParserRuleContext, PredictionMode, PredictionContextCache, + TerminalNode, RuleNode, + Token, TokenStream, + Interval, IntervalSet +} from 'antlr4'; +import SqlSealLangListener from "./SqlSealLangListener.js"; +import SqlSealLangVisitor from "./SqlSealLangVisitor.js"; -import { ATN } from "antlr4ts/atn/ATN"; -import { ATNDeserializer } from "antlr4ts/atn/ATNDeserializer"; -import { FailedPredicateException } from "antlr4ts/FailedPredicateException"; -import { NotNull } from "antlr4ts/Decorators"; -import { NoViableAltException } from "antlr4ts/NoViableAltException"; -import { Override } from "antlr4ts/Decorators"; -import { Parser } from "antlr4ts/Parser"; -import { ParserRuleContext } from "antlr4ts/ParserRuleContext"; -import { ParserATNSimulator } from "antlr4ts/atn/ParserATNSimulator"; -import { ParseTreeListener } from "antlr4ts/tree/ParseTreeListener"; -import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor"; -import { RecognitionException } from "antlr4ts/RecognitionException"; -import { RuleContext } from "antlr4ts/RuleContext"; -//import { RuleVersion } from "antlr4ts/RuleVersion"; -import { TerminalNode } from "antlr4ts/tree/TerminalNode"; -import { Token } from "antlr4ts/Token"; -import { TokenStream } from "antlr4ts/TokenStream"; -import { Vocabulary } from "antlr4ts/Vocabulary"; -import { VocabularyImpl } from "antlr4ts/VocabularyImpl"; +// for running tests with parameters, TODO: discuss strategy for typed parameters in CI +// eslint-disable-next-line no-unused-vars +type int = number; -import * as Utils from "antlr4ts/misc/Utils"; - -import { SqlSealLangListener } from "./SqlSealLangListener"; -import { SqlSealLangVisitor } from "./SqlSealLangVisitor"; - - -export class SqlSealLangParser extends Parser { +export default class SqlSealLangParser extends Parser { public static readonly T__0 = 1; public static readonly T__1 = 2; public static readonly T__2 = 3; @@ -41,6 +32,7 @@ export class SqlSealLangParser extends Parser { public static readonly FILE_URL = 11; public static readonly WS = 12; public static readonly ANY = 13; + public static override readonly EOF = Token.EOF; public static readonly RULE_parse = 0; public static readonly RULE_statement = 1; public static readonly RULE_tableStatement = 2; @@ -49,37 +41,28 @@ export class SqlSealLangParser extends Parser { public static readonly RULE_cteDefinition = 5; public static readonly RULE_selectStatement = 6; public static readonly RULE_selectBody = 7; + public static readonly literalNames: (string | null)[] = [ null, "'='", + "'('", "')'", + "','", "'TABLE'", + "'file'", "'WITH'", + "'AS'", "'SELECT'" ]; + public static readonly symbolicNames: (string | null)[] = [ null, null, + null, null, + null, "TABLE", + "FILE", "WITH", + "AS", "SELECT", + "ID", "FILE_URL", + "WS", "ANY" ]; // tslint:disable:no-trailing-whitespace public static readonly ruleNames: string[] = [ "parse", "statement", "tableStatement", "queryStatement", "withClause", "cteDefinition", "selectStatement", "selectBody", ]; - - private static readonly _LITERAL_NAMES: Array = [ - undefined, "'='", "'('", "')'", "','", "'TABLE'", "'file'", "'WITH'", - "'AS'", "'SELECT'", - ]; - private static readonly _SYMBOLIC_NAMES: Array = [ - undefined, undefined, undefined, undefined, undefined, "TABLE", "FILE", - "WITH", "AS", "SELECT", "ID", "FILE_URL", "WS", "ANY", - ]; - public static readonly VOCABULARY: Vocabulary = new VocabularyImpl(SqlSealLangParser._LITERAL_NAMES, SqlSealLangParser._SYMBOLIC_NAMES, []); - - // @Override - // @NotNull - public get vocabulary(): Vocabulary { - return SqlSealLangParser.VOCABULARY; - } - // tslint:enable:no-trailing-whitespace - - // @Override public get grammarFileName(): string { return "SqlSealLang.g4"; } - - // @Override + public get literalNames(): (string | null)[] { return SqlSealLangParser.literalNames; } + public get symbolicNames(): (string | null)[] { return SqlSealLangParser.symbolicNames; } public get ruleNames(): string[] { return SqlSealLangParser.ruleNames; } - - // @Override - public get serializedATN(): string { return SqlSealLangParser._serializedATN; } + public get serializedATN(): number[] { return SqlSealLangParser._serializedATN; } protected createFailedPredicateException(predicate?: string, message?: string): FailedPredicateException { return new FailedPredicateException(this, predicate, message); @@ -87,15 +70,15 @@ export class SqlSealLangParser extends Parser { constructor(input: TokenStream) { super(input); - this._interp = new ParserATNSimulator(SqlSealLangParser._ATN, this); + this._interp = new ParserATNSimulator(this, SqlSealLangParser._ATN, SqlSealLangParser.DecisionsToDFA, new PredictionContextCache()); } // @RuleVersion(0) public parse(): ParseContext { - let _localctx: ParseContext = new ParseContext(this._ctx, this.state); - this.enterRule(_localctx, 0, SqlSealLangParser.RULE_parse); + let localctx: ParseContext = new ParseContext(this, this._ctx, this.state); + this.enterRule(localctx, 0, SqlSealLangParser.RULE_parse); let _la: number; try { - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 17; this._errHandler.sync(this); @@ -110,14 +93,14 @@ export class SqlSealLangParser extends Parser { this.state = 19; this._errHandler.sync(this); _la = this._input.LA(1); - } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & ((1 << SqlSealLangParser.TABLE) | (1 << SqlSealLangParser.WITH) | (1 << SqlSealLangParser.SELECT))) !== 0)); + } while ((((_la) & ~0x1F) === 0 && ((1 << _la) & 672) !== 0)); this.state = 21; this.match(SqlSealLangParser.EOF); } } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -127,26 +110,26 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public statement(): StatementContext { - let _localctx: StatementContext = new StatementContext(this._ctx, this.state); - this.enterRule(_localctx, 2, SqlSealLangParser.RULE_statement); + let localctx: StatementContext = new StatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 2, SqlSealLangParser.RULE_statement); try { this.state = 25; this._errHandler.sync(this); switch (this._input.LA(1)) { - case SqlSealLangParser.TABLE: - this.enterOuterAlt(_localctx, 1); + case 5: + this.enterOuterAlt(localctx, 1); { this.state = 23; this.tableStatement(); } break; - case SqlSealLangParser.WITH: - case SqlSealLangParser.SELECT: - this.enterOuterAlt(_localctx, 2); + case 7: + case 9: + this.enterOuterAlt(localctx, 2); { this.state = 24; this.queryStatement(); @@ -158,7 +141,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -168,15 +151,15 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public tableStatement(): TableStatementContext { - let _localctx: TableStatementContext = new TableStatementContext(this._ctx, this.state); - this.enterRule(_localctx, 4, SqlSealLangParser.RULE_tableStatement); + let localctx: TableStatementContext = new TableStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 4, SqlSealLangParser.RULE_tableStatement); let _la: number; try { - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 27; this.match(SqlSealLangParser.TABLE); @@ -193,13 +176,13 @@ export class SqlSealLangParser extends Parser { this.state = 31; this._errHandler.sync(this); _la = this._input.LA(1); - } while (_la === SqlSealLangParser.WS); + } while (_la===12); this.state = 33; this.match(SqlSealLangParser.ID); this.state = 37; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 34; @@ -215,7 +198,7 @@ export class SqlSealLangParser extends Parser { this.state = 44; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 41; @@ -231,7 +214,7 @@ export class SqlSealLangParser extends Parser { this.state = 51; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 48; @@ -247,7 +230,7 @@ export class SqlSealLangParser extends Parser { this.state = 58; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 55; @@ -263,7 +246,7 @@ export class SqlSealLangParser extends Parser { this.state = 65; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 62; @@ -279,7 +262,7 @@ export class SqlSealLangParser extends Parser { this.state = 72; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 69; @@ -294,7 +277,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -304,20 +287,20 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public queryStatement(): QueryStatementContext { - let _localctx: QueryStatementContext = new QueryStatementContext(this._ctx, this.state); - this.enterRule(_localctx, 6, SqlSealLangParser.RULE_queryStatement); + let localctx: QueryStatementContext = new QueryStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 6, SqlSealLangParser.RULE_queryStatement); let _la: number; try { - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 76; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la === SqlSealLangParser.WITH) { + if (_la===7) { { this.state = 75; this.withClause(); @@ -329,7 +312,7 @@ export class SqlSealLangParser extends Parser { this.state = 82; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 79; @@ -344,7 +327,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -354,16 +337,16 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public withClause(): WithClauseContext { - let _localctx: WithClauseContext = new WithClauseContext(this._ctx, this.state); - this.enterRule(_localctx, 8, SqlSealLangParser.RULE_withClause); + let localctx: WithClauseContext = new WithClauseContext(this, this._ctx, this.state); + this.enterRule(localctx, 8, SqlSealLangParser.RULE_withClause); let _la: number; try { let _alt: number; - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 85; this.match(SqlSealLangParser.WITH); @@ -380,12 +363,12 @@ export class SqlSealLangParser extends Parser { this.state = 89; this._errHandler.sync(this); _la = this._input.LA(1); - } while (_la === SqlSealLangParser.WS); + } while (_la===12); this.state = 91; this.cteDefinition(); this.state = 108; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 14, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { @@ -393,7 +376,7 @@ export class SqlSealLangParser extends Parser { this.state = 95; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 92; @@ -409,7 +392,7 @@ export class SqlSealLangParser extends Parser { this.state = 102; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 99; @@ -427,12 +410,12 @@ export class SqlSealLangParser extends Parser { } this.state = 110; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 14, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 14, this._ctx); } this.state = 114; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 111; @@ -447,7 +430,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -457,15 +440,15 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public cteDefinition(): CteDefinitionContext { - let _localctx: CteDefinitionContext = new CteDefinitionContext(this._ctx, this.state); - this.enterRule(_localctx, 10, SqlSealLangParser.RULE_cteDefinition); + let localctx: CteDefinitionContext = new CteDefinitionContext(this, this._ctx, this.state); + this.enterRule(localctx, 10, SqlSealLangParser.RULE_cteDefinition); let _la: number; try { - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 117; this.match(SqlSealLangParser.ID); @@ -482,13 +465,13 @@ export class SqlSealLangParser extends Parser { this.state = 121; this._errHandler.sync(this); _la = this._input.LA(1); - } while (_la === SqlSealLangParser.WS); + } while (_la===12); this.state = 123; this.match(SqlSealLangParser.AS); this.state = 127; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 124; @@ -504,7 +487,7 @@ export class SqlSealLangParser extends Parser { this.state = 134; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 131; @@ -520,7 +503,7 @@ export class SqlSealLangParser extends Parser { this.state = 141; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la === SqlSealLangParser.WS) { + while (_la===12) { { { this.state = 138; @@ -537,7 +520,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -547,15 +530,15 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public selectStatement(): SelectStatementContext { - let _localctx: SelectStatementContext = new SelectStatementContext(this._ctx, this.state); - this.enterRule(_localctx, 12, SqlSealLangParser.RULE_selectStatement); + let localctx: SelectStatementContext = new SelectStatementContext(this, this._ctx, this.state); + this.enterRule(localctx, 12, SqlSealLangParser.RULE_selectStatement); try { let _alt: number; - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 146; this.match(SqlSealLangParser.SELECT); @@ -577,7 +560,7 @@ export class SqlSealLangParser extends Parser { } this.state = 150; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 20, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 20, this._ctx); } while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER); this.state = 152; this.selectBody(); @@ -585,7 +568,7 @@ export class SqlSealLangParser extends Parser { } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -595,19 +578,19 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } // @RuleVersion(0) public selectBody(): SelectBodyContext { - let _localctx: SelectBodyContext = new SelectBodyContext(this._ctx, this.state); - this.enterRule(_localctx, 14, SqlSealLangParser.RULE_selectBody); + let localctx: SelectBodyContext = new SelectBodyContext(this, this._ctx, this.state); + this.enterRule(localctx, 14, SqlSealLangParser.RULE_selectBody); try { let _alt: number; - this.enterOuterAlt(_localctx, 1); + this.enterOuterAlt(localctx, 1); { this.state = 157; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 21, this._ctx); while (_alt !== 1 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1 + 1) { { @@ -619,13 +602,13 @@ export class SqlSealLangParser extends Parser { } this.state = 159; this._errHandler.sync(this); - _alt = this.interpreter.adaptivePredict(this._input, 21, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 21, this._ctx); } } } catch (re) { if (re instanceof RecognitionException) { - _localctx.exception = re; + localctx.exception = re; this._errHandler.reportError(this, re); this._errHandler.recover(this, re); } else { @@ -635,116 +618,100 @@ export class SqlSealLangParser extends Parser { finally { this.exitRule(); } - return _localctx; + return localctx; } - public static readonly _serializedATN: string = - "\x03\uC91D\uCABA\u058D\uAFBA\u4F53\u0607\uEA8B\uC241\x03\x0F\xA3\x04\x02" + - "\t\x02\x04\x03\t\x03\x04\x04\t\x04\x04\x05\t\x05\x04\x06\t\x06\x04\x07" + - "\t\x07\x04\b\t\b\x04\t\t\t\x03\x02\x06\x02\x14\n\x02\r\x02\x0E\x02\x15" + - "\x03\x02\x03\x02\x03\x03\x03\x03\x05\x03\x1C\n\x03\x03\x04\x03\x04\x06" + - "\x04 \n\x04\r\x04\x0E\x04!\x03\x04\x03\x04\x07\x04&\n\x04\f\x04\x0E\x04" + - ")\v\x04\x03\x04\x03\x04\x07\x04-\n\x04\f\x04\x0E\x040\v\x04\x03\x04\x03" + - "\x04\x07\x044\n\x04\f\x04\x0E\x047\v\x04\x03\x04\x03\x04\x07\x04;\n\x04" + - "\f\x04\x0E\x04>\v\x04\x03\x04\x03\x04\x07\x04B\n\x04\f\x04\x0E\x04E\v" + - "\x04\x03\x04\x03\x04\x07\x04I\n\x04\f\x04\x0E\x04L\v\x04\x03\x05\x05\x05" + - "O\n\x05\x03\x05\x03\x05\x07\x05S\n\x05\f\x05\x0E\x05V\v\x05\x03\x06\x03" + - "\x06\x06\x06Z\n\x06\r\x06\x0E\x06[\x03\x06\x03\x06\x07\x06`\n\x06\f\x06" + - "\x0E\x06c\v\x06\x03\x06\x03\x06\x07\x06g\n\x06\f\x06\x0E\x06j\v\x06\x03" + - "\x06\x07\x06m\n\x06\f\x06\x0E\x06p\v\x06\x03\x06\x07\x06s\n\x06\f\x06" + - "\x0E\x06v\v\x06\x03\x07\x03\x07\x06\x07z\n\x07\r\x07\x0E\x07{\x03\x07" + - "\x03\x07\x07\x07\x80\n\x07\f\x07\x0E\x07\x83\v\x07\x03\x07\x03\x07\x07" + - "\x07\x87\n\x07\f\x07\x0E\x07\x8A\v\x07\x03\x07\x03\x07\x07\x07\x8E\n\x07" + - "\f\x07\x0E\x07\x91\v\x07\x03\x07\x03\x07\x03\b\x03\b\x06\b\x97\n\b\r\b" + - "\x0E\b\x98\x03\b\x03\b\x03\t\x07\t\x9E\n\t\f\t\x0E\t\xA1\v\t\x03\t\x03" + - "\x9F\x02\x02\n\x02\x02\x04\x02\x06\x02\b\x02\n\x02\f\x02\x0E\x02\x10\x02" + - "\x02\x02\x02\xB0\x02\x13\x03\x02\x02\x02\x04\x1B\x03\x02\x02\x02\x06\x1D" + - "\x03\x02\x02\x02\bN\x03\x02\x02\x02\nW\x03\x02\x02\x02\fw\x03\x02\x02" + - "\x02\x0E\x94\x03\x02\x02\x02\x10\x9F\x03\x02\x02\x02\x12\x14\x05\x04\x03" + - "\x02\x13\x12\x03\x02\x02\x02\x14\x15\x03\x02\x02\x02\x15\x13\x03\x02\x02" + - "\x02\x15\x16\x03\x02\x02\x02\x16\x17\x03\x02\x02\x02\x17\x18\x07\x02\x02" + - "\x03\x18\x03\x03\x02\x02\x02\x19\x1C\x05\x06\x04\x02\x1A\x1C\x05\b\x05" + - "\x02\x1B\x19\x03\x02\x02\x02\x1B\x1A\x03\x02\x02\x02\x1C\x05\x03\x02\x02" + - "\x02\x1D\x1F\x07\x07\x02\x02\x1E \x07\x0E\x02\x02\x1F\x1E\x03\x02\x02" + - "\x02 !\x03\x02\x02\x02!\x1F\x03\x02\x02\x02!\"\x03\x02\x02\x02\"#\x03" + - "\x02\x02\x02#\'\x07\f\x02\x02$&\x07\x0E\x02\x02%$\x03\x02\x02\x02&)\x03" + - "\x02\x02\x02\'%\x03\x02\x02\x02\'(\x03\x02\x02\x02(*\x03\x02\x02\x02)" + - "\'\x03\x02\x02\x02*.\x07\x03\x02\x02+-\x07\x0E\x02\x02,+\x03\x02\x02\x02" + - "-0\x03\x02\x02\x02.,\x03\x02\x02\x02./\x03\x02\x02\x02/1\x03\x02\x02\x02" + - "0.\x03\x02\x02\x0215\x07\b\x02\x0224\x07\x0E\x02\x0232\x03\x02\x02\x02" + - "47\x03\x02\x02\x0253\x03\x02\x02\x0256\x03\x02\x02\x0268\x03\x02\x02\x02" + - "75\x03\x02\x02\x028<\x07\x04\x02\x029;\x07\x0E\x02\x02:9\x03\x02\x02\x02" + - ";>\x03\x02\x02\x02<:\x03\x02\x02\x02<=\x03\x02\x02\x02=?\x03\x02\x02\x02" + - "><\x03\x02\x02\x02?C\x07\r\x02\x02@B\x07\x0E\x02\x02A@\x03\x02\x02\x02" + - "BE\x03\x02\x02\x02CA\x03\x02\x02\x02CD\x03\x02\x02\x02DF\x03\x02\x02\x02" + - "EC\x03\x02\x02\x02FJ\x07\x05\x02\x02GI\x07\x0E\x02\x02HG\x03\x02\x02\x02" + - "IL\x03\x02\x02\x02JH\x03\x02\x02\x02JK\x03\x02\x02\x02K\x07\x03\x02\x02" + - "\x02LJ\x03\x02\x02\x02MO\x05\n\x06\x02NM\x03\x02\x02\x02NO\x03\x02\x02" + - "\x02OP\x03\x02\x02\x02PT\x05\x0E\b\x02QS\x07\x0E\x02\x02RQ\x03\x02\x02" + - "\x02SV\x03\x02\x02\x02TR\x03\x02\x02\x02TU\x03\x02\x02\x02U\t\x03\x02" + - "\x02\x02VT\x03\x02\x02\x02WY\x07\t\x02\x02XZ\x07\x0E\x02\x02YX\x03\x02" + - "\x02\x02Z[\x03\x02\x02\x02[Y\x03\x02\x02\x02[\\\x03\x02\x02\x02\\]\x03" + - "\x02\x02\x02]n\x05\f\x07\x02^`\x07\x0E\x02\x02_^\x03\x02\x02\x02`c\x03" + - "\x02\x02\x02a_\x03\x02\x02\x02ab\x03\x02\x02\x02bd\x03\x02\x02\x02ca\x03" + - "\x02\x02\x02dh\x07\x06\x02\x02eg\x07\x0E\x02\x02fe\x03\x02\x02\x02gj\x03" + - "\x02\x02\x02hf\x03\x02\x02\x02hi\x03\x02\x02\x02ik\x03\x02\x02\x02jh\x03" + - "\x02\x02\x02km\x05\f\x07\x02la\x03\x02\x02\x02mp\x03\x02\x02\x02nl\x03" + - "\x02\x02\x02no\x03\x02\x02\x02ot\x03\x02\x02\x02pn\x03\x02\x02\x02qs\x07" + - "\x0E\x02\x02rq\x03\x02\x02\x02sv\x03\x02\x02\x02tr\x03\x02\x02\x02tu\x03" + - "\x02\x02\x02u\v\x03\x02\x02\x02vt\x03\x02\x02\x02wy\x07\f\x02\x02xz\x07" + - "\x0E\x02\x02yx\x03\x02\x02\x02z{\x03\x02\x02\x02{y\x03\x02\x02\x02{|\x03" + - "\x02\x02\x02|}\x03\x02\x02\x02}\x81\x07\n\x02\x02~\x80\x07\x0E\x02\x02" + - "\x7F~\x03\x02\x02\x02\x80\x83\x03\x02\x02\x02\x81\x7F\x03\x02\x02\x02" + - "\x81\x82\x03\x02\x02\x02\x82\x84\x03\x02\x02\x02\x83\x81\x03\x02\x02\x02" + - "\x84\x88\x07\x04\x02\x02\x85\x87\x07\x0E\x02\x02\x86\x85\x03\x02\x02\x02" + - "\x87\x8A\x03\x02\x02\x02\x88\x86\x03\x02\x02\x02\x88\x89\x03\x02\x02\x02" + - "\x89\x8B\x03\x02\x02\x02\x8A\x88\x03\x02\x02\x02\x8B\x8F\x05\x0E\b\x02" + - "\x8C\x8E\x07\x0E\x02\x02\x8D\x8C\x03\x02\x02\x02\x8E\x91\x03\x02\x02\x02" + - "\x8F\x8D\x03\x02\x02\x02\x8F\x90\x03\x02\x02\x02\x90\x92\x03\x02\x02\x02" + - "\x91\x8F\x03\x02\x02\x02\x92\x93\x07\x05\x02\x02\x93\r\x03\x02\x02\x02" + - "\x94\x96\x07\v\x02\x02\x95\x97\x07\x0E\x02\x02\x96\x95\x03\x02\x02\x02" + - "\x97\x98\x03\x02\x02\x02\x98\x96\x03\x02\x02\x02\x98\x99\x03\x02\x02\x02" + - "\x99\x9A\x03\x02\x02\x02\x9A\x9B\x05\x10\t\x02\x9B\x0F\x03\x02\x02\x02" + - "\x9C\x9E\v\x02\x02\x02\x9D\x9C\x03\x02\x02\x02\x9E\xA1\x03\x02\x02\x02" + - "\x9F\xA0\x03\x02\x02\x02\x9F\x9D\x03\x02\x02\x02\xA0\x11\x03\x02\x02\x02" + - "\xA1\x9F\x03\x02\x02\x02\x18\x15\x1B!\'.5 new DFA(ds, index) ); + } export class ParseContext extends ParserRuleContext { - public EOF(): TerminalNode { return this.getToken(SqlSealLangParser.EOF, 0); } - public statement(): StatementContext[]; - public statement(i: number): StatementContext; - public statement(i?: number): StatementContext | StatementContext[] { - if (i === undefined) { - return this.getRuleContexts(StatementContext); - } else { - return this.getRuleContext(i, StatementContext); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public EOF(): TerminalNode { + return this.getToken(SqlSealLangParser.EOF, 0); + } + public statement_list(): StatementContext[] { + return this.getTypedRuleContexts(StatementContext) as StatementContext[]; + } + public statement(i: number): StatementContext { + return this.getTypedRuleContext(StatementContext, i) as StatementContext; + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_parse; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_parse; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterParse) { - listener.enterParse(this); + if(listener.enterParse) { + listener.enterParse(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitParse) { - listener.exitParse(this); + if(listener.exitParse) { + listener.exitParse(this); } } // @Override @@ -759,27 +726,27 @@ export class ParseContext extends ParserRuleContext { export class StatementContext extends ParserRuleContext { - public tableStatement(): TableStatementContext | undefined { - return this.tryGetRuleContext(0, TableStatementContext); - } - public queryStatement(): QueryStatementContext | undefined { - return this.tryGetRuleContext(0, QueryStatementContext); - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public tableStatement(): TableStatementContext { + return this.getTypedRuleContext(TableStatementContext, 0) as TableStatementContext; + } + public queryStatement(): QueryStatementContext { + return this.getTypedRuleContext(QueryStatementContext, 0) as QueryStatementContext; + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_statement; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_statement; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterStatement) { - listener.enterStatement(this); + if(listener.enterStatement) { + listener.enterStatement(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitStatement) { - listener.exitStatement(this); + if(listener.exitStatement) { + listener.exitStatement(this); } } // @Override @@ -794,34 +761,39 @@ export class StatementContext extends ParserRuleContext { export class TableStatementContext extends ParserRuleContext { - public TABLE(): TerminalNode { return this.getToken(SqlSealLangParser.TABLE, 0); } - public ID(): TerminalNode { return this.getToken(SqlSealLangParser.ID, 0); } - public FILE(): TerminalNode { return this.getToken(SqlSealLangParser.FILE, 0); } - public FILE_URL(): TerminalNode { return this.getToken(SqlSealLangParser.FILE_URL, 0); } - public WS(): TerminalNode[]; - public WS(i: number): TerminalNode; - public WS(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(SqlSealLangParser.WS); - } else { - return this.getToken(SqlSealLangParser.WS, i); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public TABLE(): TerminalNode { + return this.getToken(SqlSealLangParser.TABLE, 0); + } + public ID(): TerminalNode { + return this.getToken(SqlSealLangParser.ID, 0); + } + public FILE(): TerminalNode { + return this.getToken(SqlSealLangParser.FILE, 0); + } + public FILE_URL(): TerminalNode { + return this.getToken(SqlSealLangParser.FILE_URL, 0); + } + public WS_list(): TerminalNode[] { + return this.getTokens(SqlSealLangParser.WS); + } + public WS(i: number): TerminalNode { + return this.getToken(SqlSealLangParser.WS, i); + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_tableStatement; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_tableStatement; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterTableStatement) { - listener.enterTableStatement(this); + if(listener.enterTableStatement) { + listener.enterTableStatement(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitTableStatement) { - listener.exitTableStatement(this); + if(listener.exitTableStatement) { + listener.exitTableStatement(this); } } // @Override @@ -836,36 +808,33 @@ export class TableStatementContext extends ParserRuleContext { export class QueryStatementContext extends ParserRuleContext { - public selectStatement(): SelectStatementContext { - return this.getRuleContext(0, SelectStatementContext); - } - public withClause(): WithClauseContext | undefined { - return this.tryGetRuleContext(0, WithClauseContext); - } - public WS(): TerminalNode[]; - public WS(i: number): TerminalNode; - public WS(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(SqlSealLangParser.WS); - } else { - return this.getToken(SqlSealLangParser.WS, i); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public selectStatement(): SelectStatementContext { + return this.getTypedRuleContext(SelectStatementContext, 0) as SelectStatementContext; + } + public withClause(): WithClauseContext { + return this.getTypedRuleContext(WithClauseContext, 0) as WithClauseContext; + } + public WS_list(): TerminalNode[] { + return this.getTokens(SqlSealLangParser.WS); + } + public WS(i: number): TerminalNode { + return this.getToken(SqlSealLangParser.WS, i); + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_queryStatement; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_queryStatement; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterQueryStatement) { - listener.enterQueryStatement(this); + if(listener.enterQueryStatement) { + listener.enterQueryStatement(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitQueryStatement) { - listener.exitQueryStatement(this); + if(listener.exitQueryStatement) { + listener.exitQueryStatement(this); } } // @Override @@ -880,40 +849,36 @@ export class QueryStatementContext extends ParserRuleContext { export class WithClauseContext extends ParserRuleContext { - public WITH(): TerminalNode { return this.getToken(SqlSealLangParser.WITH, 0); } - public cteDefinition(): CteDefinitionContext[]; - public cteDefinition(i: number): CteDefinitionContext; - public cteDefinition(i?: number): CteDefinitionContext | CteDefinitionContext[] { - if (i === undefined) { - return this.getRuleContexts(CteDefinitionContext); - } else { - return this.getRuleContext(i, CteDefinitionContext); - } - } - public WS(): TerminalNode[]; - public WS(i: number): TerminalNode; - public WS(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(SqlSealLangParser.WS); - } else { - return this.getToken(SqlSealLangParser.WS, i); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public WITH(): TerminalNode { + return this.getToken(SqlSealLangParser.WITH, 0); + } + public cteDefinition_list(): CteDefinitionContext[] { + return this.getTypedRuleContexts(CteDefinitionContext) as CteDefinitionContext[]; + } + public cteDefinition(i: number): CteDefinitionContext { + return this.getTypedRuleContext(CteDefinitionContext, i) as CteDefinitionContext; + } + public WS_list(): TerminalNode[] { + return this.getTokens(SqlSealLangParser.WS); + } + public WS(i: number): TerminalNode { + return this.getToken(SqlSealLangParser.WS, i); + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_withClause; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_withClause; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterWithClause) { - listener.enterWithClause(this); + if(listener.enterWithClause) { + listener.enterWithClause(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitWithClause) { - listener.exitWithClause(this); + if(listener.exitWithClause) { + listener.exitWithClause(this); } } // @Override @@ -928,35 +893,36 @@ export class WithClauseContext extends ParserRuleContext { export class CteDefinitionContext extends ParserRuleContext { - public ID(): TerminalNode { return this.getToken(SqlSealLangParser.ID, 0); } - public AS(): TerminalNode { return this.getToken(SqlSealLangParser.AS, 0); } - public selectStatement(): SelectStatementContext { - return this.getRuleContext(0, SelectStatementContext); - } - public WS(): TerminalNode[]; - public WS(i: number): TerminalNode; - public WS(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(SqlSealLangParser.WS); - } else { - return this.getToken(SqlSealLangParser.WS, i); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public ID(): TerminalNode { + return this.getToken(SqlSealLangParser.ID, 0); + } + public AS(): TerminalNode { + return this.getToken(SqlSealLangParser.AS, 0); + } + public selectStatement(): SelectStatementContext { + return this.getTypedRuleContext(SelectStatementContext, 0) as SelectStatementContext; + } + public WS_list(): TerminalNode[] { + return this.getTokens(SqlSealLangParser.WS); + } + public WS(i: number): TerminalNode { + return this.getToken(SqlSealLangParser.WS, i); + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_cteDefinition; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_cteDefinition; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterCteDefinition) { - listener.enterCteDefinition(this); + if(listener.enterCteDefinition) { + listener.enterCteDefinition(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitCteDefinition) { - listener.exitCteDefinition(this); + if(listener.exitCteDefinition) { + listener.exitCteDefinition(this); } } // @Override @@ -971,34 +937,33 @@ export class CteDefinitionContext extends ParserRuleContext { export class SelectStatementContext extends ParserRuleContext { - public SELECT(): TerminalNode { return this.getToken(SqlSealLangParser.SELECT, 0); } - public selectBody(): SelectBodyContext { - return this.getRuleContext(0, SelectBodyContext); - } - public WS(): TerminalNode[]; - public WS(i: number): TerminalNode; - public WS(i?: number): TerminalNode | TerminalNode[] { - if (i === undefined) { - return this.getTokens(SqlSealLangParser.WS); - } else { - return this.getToken(SqlSealLangParser.WS, i); - } - } - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public SELECT(): TerminalNode { + return this.getToken(SqlSealLangParser.SELECT, 0); + } + public selectBody(): SelectBodyContext { + return this.getTypedRuleContext(SelectBodyContext, 0) as SelectBodyContext; + } + public WS_list(): TerminalNode[] { + return this.getTokens(SqlSealLangParser.WS); + } + public WS(i: number): TerminalNode { + return this.getToken(SqlSealLangParser.WS, i); + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_selectStatement; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_selectStatement; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterSelectStatement) { - listener.enterSelectStatement(this); + if(listener.enterSelectStatement) { + listener.enterSelectStatement(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitSelectStatement) { - listener.exitSelectStatement(this); + if(listener.exitSelectStatement) { + listener.exitSelectStatement(this); } } // @Override @@ -1013,21 +978,21 @@ export class SelectStatementContext extends ParserRuleContext { export class SelectBodyContext extends ParserRuleContext { - constructor(parent: ParserRuleContext | undefined, invokingState: number) { + constructor(parser?: SqlSealLangParser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return SqlSealLangParser.RULE_selectBody; } - // @Override - public get ruleIndex(): number { return SqlSealLangParser.RULE_selectBody; } - // @Override public enterRule(listener: SqlSealLangListener): void { - if (listener.enterSelectBody) { - listener.enterSelectBody(this); + if(listener.enterSelectBody) { + listener.enterSelectBody(this); } } - // @Override public exitRule(listener: SqlSealLangListener): void { - if (listener.exitSelectBody) { - listener.exitSelectBody(this); + if(listener.exitSelectBody) { + listener.exitSelectBody(this); } } // @Override @@ -1039,5 +1004,3 @@ export class SelectBodyContext extends ParserRuleContext { } } } - - diff --git a/src/grammar/SqlSealLangVisitor.ts b/src/grammar/SqlSealLangVisitor.ts index a96c2b3..f1d3715 100644 --- a/src/grammar/SqlSealLangVisitor.ts +++ b/src/grammar/SqlSealLangVisitor.ts @@ -1,16 +1,16 @@ -// Generated from SqlSealLang.g4 by ANTLR 4.9.0-SNAPSHOT +// Generated from SqlSealLang.g4 by ANTLR 4.13.2 + +import {ParseTreeVisitor} from 'antlr4'; -import { ParseTreeVisitor } from "antlr4ts/tree/ParseTreeVisitor"; - -import { ParseContext } from "./SqlSealLangParser"; -import { StatementContext } from "./SqlSealLangParser"; -import { TableStatementContext } from "./SqlSealLangParser"; -import { QueryStatementContext } from "./SqlSealLangParser"; -import { WithClauseContext } from "./SqlSealLangParser"; -import { CteDefinitionContext } from "./SqlSealLangParser"; -import { SelectStatementContext } from "./SqlSealLangParser"; -import { SelectBodyContext } from "./SqlSealLangParser"; +import { ParseContext } from "./SqlSealLangParser.js"; +import { StatementContext } from "./SqlSealLangParser.js"; +import { TableStatementContext } from "./SqlSealLangParser.js"; +import { QueryStatementContext } from "./SqlSealLangParser.js"; +import { WithClauseContext } from "./SqlSealLangParser.js"; +import { CteDefinitionContext } from "./SqlSealLangParser.js"; +import { SelectStatementContext } from "./SqlSealLangParser.js"; +import { SelectBodyContext } from "./SqlSealLangParser.js"; /** @@ -20,56 +20,49 @@ import { SelectBodyContext } from "./SqlSealLangParser"; * @param The return type of the visit operation. Use `void` for * operations with no return type. */ -export interface SqlSealLangVisitor extends ParseTreeVisitor { +export default class SqlSealLangVisitor extends ParseTreeVisitor { /** * Visit a parse tree produced by `SqlSealLangParser.parse`. * @param ctx the parse tree * @return the visitor result */ visitParse?: (ctx: ParseContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.statement`. * @param ctx the parse tree * @return the visitor result */ visitStatement?: (ctx: StatementContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.tableStatement`. * @param ctx the parse tree * @return the visitor result */ visitTableStatement?: (ctx: TableStatementContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.queryStatement`. * @param ctx the parse tree * @return the visitor result */ visitQueryStatement?: (ctx: QueryStatementContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.withClause`. * @param ctx the parse tree * @return the visitor result */ visitWithClause?: (ctx: WithClauseContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.cteDefinition`. * @param ctx the parse tree * @return the visitor result */ visitCteDefinition?: (ctx: CteDefinitionContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.selectStatement`. * @param ctx the parse tree * @return the visitor result */ visitSelectStatement?: (ctx: SelectStatementContext) => Result; - /** * Visit a parse tree produced by `SqlSealLangParser.selectBody`. * @param ctx the parse tree diff --git a/src/grammar/parser.ts b/src/grammar/parser.ts index bf13c70..ae86030 100644 --- a/src/grammar/parser.ts +++ b/src/grammar/parser.ts @@ -1,8 +1,9 @@ -import { ANTLRErrorListener, CharStreams, CommonTokenStream, RecognitionException, Recognizer } from 'antlr4ts'; -import { SqlSealLangLexer } from './SqlSealLangLexer'; -import { QueryStatementContext, TableStatementContext, SqlSealLangParser, ParseContext, StatementContext, WithClauseContext, SelectStatementContext } from './SqlSealLangParser'; -import { SqlSealLangVisitor } from './SqlSealLangVisitor'; -import { AbstractParseTreeVisitor } from 'antlr4ts/tree/AbstractParseTreeVisitor'; +import { CommonTokenStream, ErrorListener, ParseTreeVisitor, RecognitionException } from 'antlr4'; +import SqlSealLangLexer from './SqlSealLangLexer'; +import { QueryStatementContext, TableStatementContext, ParseContext, StatementContext, WithClauseContext, SelectStatementContext } from './SqlSealLangParser'; +import SqlSealLangParser from './SqlSealLangParser'; +import SqlSealLangVisitor from './SqlSealLangVisitor'; +import { CharStream, TokenStream } from 'antlr4'; export interface TableStatement { name: string; @@ -17,10 +18,10 @@ export interface ParsedLanguage { } -class ErrorListener implements ANTLRErrorListener { +class SQLSealErrorListener extends ErrorListener { private errors: string[] = []; - syntaxError(recognizer: Recognizer, offendingSymbol: any, line: number, charPositionInLine: number, msg: string, e: RecognitionException | undefined): void { + syntaxError(recognizer, offendingSymbol: any, line: number, charPositionInLine: number, msg: string, e: RecognitionException | undefined): void { this.errors.push(`Line ${line}:${charPositionInLine} ${msg}`); } @@ -31,9 +32,13 @@ class ErrorListener implements ANTLRErrorListener { getErrors(): string { return this.errors.join('\n'); } + + reportAttemtpingFullContext() { + + } } -export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor implements SqlSealLangVisitor { +export class SqlSealLangVisitorImpl extends ParseTreeVisitor implements SqlSealLangVisitor { private tables: TableStatement[] = []; private queryPart: string | null = null; @@ -42,7 +47,7 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor this.visit(stmt)); + ctx.statement_list().forEach(stmt => this.visit(stmt)); return this.defaultResult(); } @@ -56,11 +61,11 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor child.text).join(''); + const tableStmt = ctx.children!.map(child => child.getText()).join(''); this.tables.push({ name: tableName, @@ -73,7 +78,7 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor child.text).join(''); + this.queryPart = ctx.children!.map(child => child.getText()).join(''); return this.defaultResult(); } @@ -89,12 +94,16 @@ export class SqlSealLangVisitorImpl extends AbstractParseTreeVisitor