@sap/cds-dk 10.0.6 → 10.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +107 -0
- package/bin/add.js +7 -23
- package/bin/bind.js +10 -0
- package/bin/build.js +20 -34
- package/bin/cds.js +1 -1
- package/bin/compile/index.js +15 -41
- package/bin/completion/completionFs.js +11 -8
- package/bin/completion/index.js +592 -80
- package/bin/completion/scripts/cds.fish +568 -0
- package/bin/completion/scripts/cds.ps1 +329 -0
- package/bin/completion/scripts/cds.sh +261 -0
- package/bin/completion/scripts/cds.zsh +230 -0
- package/bin/completion/templates/cds-tmpl.fish +65 -0
- package/bin/completion/templates/cds-tmpl.ps1 +208 -0
- package/bin/completion/templates/cds-tmpl.sh +93 -0
- package/bin/completion/templates/cds-tmpl.zsh +74 -0
- package/bin/deploy/index.js +7 -1
- package/bin/deploy/options.js +25 -0
- package/{lib → bin}/deploy/to-hana/hana.js +8 -8
- package/{lib → bin}/deploy/to-hana/hdiDeployUtil.js +1 -1
- package/bin/deploy/{to-hana.js → to-hana/index.js} +1 -1
- package/{lib → bin}/deploy/to-hana/mtaUtil.js +1 -1
- package/bin/deploy/to-sql.js +0 -2
- package/bin/export.js +35 -5
- package/bin/help/export.md +3 -0
- package/bin/help.js +1 -5
- package/bin/import.js +6 -0
- package/bin/init.js +5 -24
- package/bin/inspect.js +6 -0
- package/bin/login.js +26 -20
- package/bin/pull.js +19 -6
- package/bin/push.js +19 -6
- package/bin/up.js +14 -11
- package/{lib → bin}/upgrade/constants.js +1 -1
- package/bin/{upgrade.js → upgrade/index.js} +2 -2
- package/{lib → bin}/upgrade/preflight/consistency.js +1 -1
- package/{lib → bin}/upgrade/preflight/index.js +1 -1
- package/{lib → bin}/upgrade/steps/analyze/index.js +1 -1
- package/{lib → bin}/upgrade/steps/install.js +1 -1
- package/{lib → bin}/upgrade/steps/openrewrite.js +1 -1
- package/{lib → bin}/upgrade/steps/removals.js +1 -1
- package/{lib → bin}/upgrade/steps/rewrite.js +1 -1
- package/{lib → bin}/upgrade/steps/verify.js +1 -1
- package/{lib/upgrade/index.js → bin/upgrade/upgrade.js} +2 -2
- package/{lib → bin}/upgrade/util/pom.js +2 -2
- package/{lib → bin}/upgrade/util/prompt.js +1 -1
- package/bin/util/containerize.js +8 -4
- package/bin/version.js +10 -1
- package/{lib → bin}/watch/hot-reload.js +1 -1
- package/bin/{watch.js → watch/index.js} +17 -9
- package/{lib → bin}/watch/livereload-connect.js +1 -1
- package/{lib → bin}/watch/vite-watch.js +1 -1
- package/{lib → bin}/watch/watched.js +2 -2
- package/lib/build/constants.js +1 -1
- package/lib/build/plugins/fiori/index.js +31 -2
- package/lib/build/plugins/internal.js +4 -2
- package/lib/build/plugins/mtx-sidecar/index.js +7 -8
- package/lib/build/plugins/nodejs/index.js +64 -7
- package/lib/compile/to_asyncapi.js +1 -1
- package/lib/env/schema.js +16 -0
- package/lib/env/schemas/cds-rc.js +1 -76
- package/lib/import/importapi.js +2 -3
- package/lib/import/message.js +0 -2
- package/lib/init/constants.js +2 -1
- package/lib/init/index.js +2 -2
- package/lib/init/merge.js +123 -280
- package/lib/init/plugin.js +3 -1
- package/lib/init/projectReader.js +22 -6
- package/lib/init/registries/xs-app.js +3 -5
- package/lib/init/template/ai/files/mta.yaml.hbs +1 -1
- package/lib/init/template/ai/index.js +14 -2
- package/lib/init/template/ams/index.js +2 -2
- package/lib/init/template/app-frontend/files/containerize.yaml.hbs +2 -2
- package/lib/init/template/app-frontend/index.js +4 -4
- package/lib/init/template/application-logging/index.js +2 -2
- package/lib/init/template/approuter/files/package.json +1 -1
- package/lib/init/template/approuter/index.js +8 -3
- package/lib/init/template/attachments/files/package.json.hbs +1 -1
- package/lib/init/template/attachments/index.js +2 -2
- package/lib/init/template/audit-logging/index.js +2 -2
- package/lib/init/template/cloud-logging/files/package.json.hbs +4 -4
- package/lib/init/template/cloud-logging/index.js +2 -2
- package/lib/init/template/completion/completionSetup.js +36 -39
- package/lib/init/template/connectivity/index.js +2 -2
- package/lib/init/template/data/as-csv.js +15 -5
- package/lib/init/template/data/as-json.js +114 -42
- package/lib/init/template/data/index.js +16 -2
- package/lib/init/template/destination/index.js +2 -2
- package/lib/init/template/dynatrace/files/package.json.hbs +3 -3
- package/lib/init/template/dynatrace/index.js +2 -2
- package/lib/init/template/enterprise-messaging/index.js +2 -2
- package/lib/init/template/enterprise-messaging-shared/index.js +2 -2
- package/lib/init/template/extensibility/files/mta.yaml.hbs +11 -0
- package/lib/init/template/extensibility/files/xs-security.json.hbs +1 -1
- package/lib/init/template/extensibility/index.js +3 -3
- package/lib/init/template/github-actions/index.js +2 -2
- package/lib/init/template/hana/index.js +3 -2
- package/lib/init/template/hana-serverless/files/db/package.json +14 -0
- package/lib/init/template/hana-serverless/files/identity.values.yaml.hbs +10 -0
- package/lib/init/template/hana-serverless/files/mta.yaml.hbs +64 -0
- package/lib/init/template/hana-serverless/files/package.json.hbs +35 -0
- package/lib/init/template/hana-serverless/files/src/.hdiconfig +139 -0
- package/lib/init/template/hana-serverless/files/undeploy.json +7 -0
- package/lib/init/template/hana-serverless/files/values.yaml.hbs +18 -0
- package/lib/init/template/hana-serverless/index.js +184 -0
- package/lib/init/template/html5-repo/files/containerize.yaml.hbs +2 -2
- package/lib/init/template/html5-repo/files/mta.yaml.hbs +5 -0
- package/lib/init/template/html5-repo/index.js +18 -14
- package/lib/init/template/http/index.js +123 -26
- package/lib/init/template/ias/index.js +2 -2
- package/lib/init/template/kafka/index.js +2 -2
- package/lib/init/template/kyma/index.js +7 -5
- package/lib/init/template/malware-scanner/index.js +2 -2
- package/lib/init/template/mta/files/mta.yaml.hbs +1 -1
- package/lib/init/template/multitenancy/index.js +18 -3
- package/lib/init/template/nodejs/index.js +4 -2
- package/lib/init/template/notifications/index.js +2 -2
- package/lib/init/template/portal/files/mta.yaml.hbs +4 -0
- package/lib/init/template/portal/index.js +13 -8
- package/lib/init/template/postgres/index.js +2 -2
- package/lib/init/template/redis/index.js +2 -2
- package/lib/init/template/sample/files/db/currencies.cds +2 -0
- package/lib/init/template/sample/files/db/data/sap.capire.bookshop-Authors.csv +1 -1
- package/lib/init/template/tiny-sample/files/nodejs/db/data/CatalogService.Books.csv +2 -2
- package/lib/init/template/workzone-standard/index.js +5 -5
- package/lib/init/template/xsuaa/index.js +20 -2
- package/lib/lint/eslintHelp.json +1 -1
- package/lib/mtx/auth_manager.js +103 -37
- package/lib/mtx/params.js +3 -2
- package/lib/mtx/settings_manager.js +45 -28
- package/lib/mtx/tenant_action.js +0 -1
- package/lib/mtx/util/credentials.js +62 -0
- package/node_modules/@cap-js/openapi/lib/compile/csdl.js +3 -3
- package/node_modules/@cap-js/openapi/lib/compile/csdl2openapi.js +111 -103
- package/node_modules/@cap-js/openapi/lib/compile/diagram.js +4 -4
- package/node_modules/@cap-js/openapi/lib/compile/types.d.ts +3 -1
- package/node_modules/@cap-js/openapi/package.json +3 -3
- package/node_modules/@sap/cds/CHANGELOG.md +64 -0
- package/node_modules/@sap/cds/app/index.js +5 -4
- package/node_modules/@sap/cds/eslint.config.mjs +1 -0
- package/node_modules/@sap/cds/lib/compile/for/nodejs.js +1 -0
- package/node_modules/@sap/cds/lib/compile/minify.js +14 -10
- package/node_modules/@sap/cds/lib/env/cds-env.js +1 -1
- package/node_modules/@sap/cds/lib/env/cds-requires.js +22 -11
- package/node_modules/@sap/cds/lib/env/defaults.js +4 -1
- package/node_modules/@sap/cds/lib/env/schemas/cds-rc.js +5 -2
- package/node_modules/@sap/cds/lib/plugins.js +9 -5
- package/node_modules/@sap/cds/lib/req/spawn.js +1 -1
- package/node_modules/@sap/cds/lib/srv/srv-dispatch.js +1 -1
- package/node_modules/@sap/cds/lib/srv/srv-models.js +1 -1
- package/node_modules/@sap/cds/lib/utils/cds-utils.js +2 -1
- package/node_modules/@sap/cds/libx/_runtime/common/generic/assert.js +2 -3
- package/node_modules/@sap/cds/libx/_runtime/common/generic/auth/restrict.js +8 -1
- package/node_modules/@sap/cds/libx/_runtime/common/generic/crud.js +18 -8
- package/node_modules/@sap/cds/libx/_runtime/fiori/lean-draft.js +25 -17
- package/node_modules/@sap/cds/libx/_runtime/messaging/common-utils/authorizedRequest.js +3 -2
- package/node_modules/@sap/cds/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +9 -3
- package/node_modules/@sap/cds/libx/_runtime/remote/Service.js +4 -19
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/LruCache.js +42 -0
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/client.js +14 -4
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/cloudSdkProvider.js +2 -9
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/destinationClient.js +150 -0
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/error.js +13 -0
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/fetchClient.js +26 -18
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/query.js +34 -23
- package/node_modules/@sap/cds/libx/_runtime/remote/utils/token.js +82 -0
- package/node_modules/@sap/cds/libx/_runtime/ucl/Service.js +36 -189
- package/node_modules/@sap/cds/libx/common/utils/streaming.js +16 -16
- package/node_modules/@sap/cds/libx/http/location.js +3 -3
- package/node_modules/@sap/cds/libx/odata/middleware/batch.js +16 -10
- package/node_modules/@sap/cds/libx/odata/middleware/metadata.js +9 -6
- package/node_modules/@sap/cds/libx/odata/middleware/service-document.js +1 -1
- package/node_modules/@sap/cds/libx/odata/parse/afterburner.js +19 -3
- package/node_modules/@sap/cds/libx/odata/parse/cqn2odata.js +83 -86
- package/node_modules/@sap/cds/libx/queue/SchedulingService.js +17 -2
- package/node_modules/@sap/cds/libx/queue/processing.js +1 -3
- package/node_modules/@sap/cds/libx/rest/RestAdapter.js +3 -7
- package/node_modules/@sap/cds/libx/rest/middleware/delete.js +3 -3
- package/node_modules/@sap/cds/libx/rest/middleware/parse.js +13 -8
- package/node_modules/@sap/cds/libx/rest/middleware/read.js +3 -3
- package/node_modules/@sap/cds/libx/rest/middleware/upsert.js +2 -2
- package/node_modules/@sap/cds/package.json +1 -1
- package/node_modules/@sap/cds-compiler/CHANGELOG.md +60 -8
- package/node_modules/@sap/cds-compiler/bin/cdsc.js +2 -2
- package/node_modules/@sap/cds-compiler/doc/IncompatibleChanges_v7.md +46 -19
- package/node_modules/@sap/cds-compiler/lib/api/main.js +10 -7
- package/node_modules/@sap/cds-compiler/lib/api/options.js +8 -2
- package/node_modules/@sap/cds-compiler/lib/base/csnRefs.js +5 -2
- package/node_modules/@sap/cds-compiler/lib/base/message-registry.js +4 -0
- package/node_modules/@sap/cds-compiler/lib/base/optionProcessor.js +12 -0
- package/node_modules/@sap/cds-compiler/lib/checks/enricher.js +1 -0
- package/node_modules/@sap/cds-compiler/lib/compiler/assert-consistency.js +8 -7
- package/node_modules/@sap/cds-compiler/lib/compiler/checks.js +3 -3
- package/node_modules/@sap/cds-compiler/lib/compiler/define.js +301 -75
- package/node_modules/@sap/cds-compiler/lib/compiler/dictionaries.js +2 -0
- package/node_modules/@sap/cds-compiler/lib/compiler/extend.js +40 -26
- package/node_modules/@sap/cds-compiler/lib/compiler/populate.js +45 -60
- package/node_modules/@sap/cds-compiler/lib/compiler/propagator.js +16 -7
- package/node_modules/@sap/cds-compiler/lib/compiler/resolve.js +41 -15
- package/node_modules/@sap/cds-compiler/lib/compiler/shared.js +7 -6
- package/node_modules/@sap/cds-compiler/lib/compiler/tweak-assocs.js +62 -50
- package/node_modules/@sap/cds-compiler/lib/compiler/utils.js +29 -14
- package/node_modules/@sap/cds-compiler/lib/edm/edmAnnoPreprocessor.js +6 -5
- package/node_modules/@sap/cds-compiler/lib/gen/CdlGrammar.checksum +1 -1
- package/node_modules/@sap/cds-compiler/lib/gen/CdlParser.js +1119 -1109
- package/node_modules/@sap/cds-compiler/lib/gen/Dictionary.json +19 -3
- package/node_modules/@sap/cds-compiler/lib/json/from-csn.js +10 -16
- package/node_modules/@sap/cds-compiler/lib/json/to-csn.js +58 -39
- package/node_modules/@sap/cds-compiler/lib/main.d.ts +8 -0
- package/node_modules/@sap/cds-compiler/lib/main.js +1 -0
- package/node_modules/@sap/cds-compiler/lib/model/csnUtils.js +2 -0
- package/node_modules/@sap/cds-compiler/lib/parsers/AstBuildingParser.js +2 -1
- package/node_modules/@sap/cds-compiler/lib/parsers/XprTree.js +8 -0
- package/node_modules/@sap/cds-compiler/lib/render/toCdl.js +22 -1
- package/node_modules/@sap/cds-compiler/lib/render/toSql.js +17 -2
- package/node_modules/@sap/cds-compiler/lib/render/utils/common.js +6 -1
- package/node_modules/@sap/cds-compiler/lib/render/utils/operators.js +27 -0
- package/node_modules/@sap/cds-compiler/lib/render/utils/standardDatabaseFunctions.js +125 -3
- package/node_modules/@sap/cds-compiler/lib/tool-lib/revealInternalProperties.js +2 -1
- package/node_modules/@sap/cds-compiler/lib/transform/db/applyTransformations.js +3 -0
- package/node_modules/@sap/cds-compiler/lib/transform/db/associations.js +8 -2
- package/node_modules/@sap/cds-compiler/lib/transform/db/backlinks.js +22 -6
- package/node_modules/@sap/cds-compiler/lib/transform/db/constraints.js +62 -1
- package/node_modules/@sap/cds-compiler/lib/transform/effective/annotations.js +40 -0
- package/node_modules/@sap/cds-compiler/lib/transform/effective/main.js +1 -0
- package/node_modules/@sap/cds-compiler/lib/transform/forRelationalDB.js +6 -1
- package/node_modules/@sap/cds-compiler/lib/transform/translateAssocsToJoins.js +19 -8
- package/node_modules/@sap/cds-compiler/package.json +1 -1
- package/node_modules/@sap/cds-mtxs/CHANGELOG.md +51 -0
- package/node_modules/@sap/cds-mtxs/bin/cds-mtx-migrate.js +32 -48
- package/node_modules/@sap/cds-mtxs/bin/cds-mtx.js +35 -16
- package/node_modules/@sap/cds-mtxs/cds-plugin.js +18 -0
- package/node_modules/@sap/cds-mtxs/lib/migration/migration.js +3 -408
- package/node_modules/@sap/cds-mtxs/lib/utils.js +19 -4
- package/node_modules/@sap/cds-mtxs/package.json +1 -1
- package/node_modules/@sap/cds-mtxs/srv/cf/abstract-provisioning-service.js +6 -7
- package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/annotations.js +5 -2
- package/node_modules/@sap/cds-mtxs/srv/extensibility/linter/index.js +6 -5
- package/node_modules/@sap/cds-mtxs/srv/extensibility-service.cds +0 -11
- package/node_modules/@sap/cds-mtxs/srv/extensibility-service.js +34 -35
- package/node_modules/@sap/cds-mtxs/srv/jobs-service.js +30 -24
- package/node_modules/@sap/cds-mtxs/srv/model-provider.js +19 -4
- package/node_modules/@sap/cds-mtxs/srv/plugins/hana/ctnr-mgr-base.js +6 -3
- package/node_modules/@sap/cds-mtxs/srv/plugins/hana/hdi.js +5 -3
- package/node_modules/@sap/cds-mtxs/srv/plugins/hana/srv-mgr.js +3 -2
- package/node_modules/@sap/cds-mtxs/srv/plugins/hana/tms.js +17 -0
- package/node_modules/@sap/cds-mtxs/srv/plugins/hana.js +18 -21
- package/node_modules/@sap/xsenv/CHANGELOG.md +7 -0
- package/node_modules/@sap/xsenv/package.json +10 -7
- package/node_modules/body-parser/node_modules/content-type/README.md +2 -0
- package/node_modules/body-parser/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/body-parser/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/body-parser/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/body-parser/node_modules/content-type/package.json +1 -1
- package/node_modules/hdb/cfg/VERSION +1 -1
- package/node_modules/hdb/lib/protocol/ClientInfo.js +16 -3
- package/node_modules/hdb/lib/protocol/Connection.js +1 -0
- package/node_modules/hdb/package.json +3 -2
- package/node_modules/negotiator/lib/accept.js +54 -0
- package/node_modules/negotiator/lib/charset.js +10 -34
- package/node_modules/negotiator/lib/encoding.js +9 -30
- package/node_modules/negotiator/lib/language.js +15 -36
- package/node_modules/negotiator/lib/mediaType.js +16 -134
- package/node_modules/negotiator/node_modules/content-type/LICENSE +22 -0
- package/node_modules/negotiator/node_modules/content-type/README.md +71 -0
- package/node_modules/negotiator/node_modules/content-type/dist/index.d.ts +46 -0
- package/node_modules/negotiator/node_modules/content-type/dist/index.js +176 -0
- package/node_modules/negotiator/node_modules/content-type/dist/index.js.map +1 -0
- package/node_modules/negotiator/node_modules/content-type/package.json +52 -0
- package/node_modules/negotiator/package.json +16 -10
- package/node_modules/qs/.github/THREAT_MODEL.md +3 -3
- package/node_modules/qs/CHANGELOG.md +15 -0
- package/node_modules/qs/README.md +19 -1
- package/node_modules/qs/dist/qs.js +21 -21
- package/node_modules/qs/eslint.config.mjs +1 -1
- package/node_modules/qs/lib/parse.js +3 -4
- package/node_modules/qs/lib/stringify.js +23 -8
- package/node_modules/qs/lib/utils.js +10 -3
- package/node_modules/qs/package.json +4 -4
- package/node_modules/qs/test/parse.js +192 -3
- package/node_modules/qs/test/stringify.js +317 -0
- package/node_modules/qs/test/utils.js +12 -0
- package/node_modules/sax/lib/sax.js +27 -9
- package/node_modules/sax/package.json +1 -1
- package/node_modules/type-is/node_modules/content-type/README.md +2 -0
- package/node_modules/type-is/node_modules/content-type/dist/index.d.ts +20 -0
- package/node_modules/type-is/node_modules/content-type/dist/index.js +20 -14
- package/node_modules/type-is/node_modules/content-type/dist/index.js.map +1 -1
- package/node_modules/type-is/node_modules/content-type/package.json +1 -1
- package/node_modules/ws/lib/permessage-deflate.js +3 -1
- package/node_modules/ws/package.json +1 -1
- package/package.json +5 -5
- package/bin/completion/scripts/cds-bash.sh +0 -20
- package/bin/completion/scripts/cds-fish.fish +0 -13
- package/bin/completion/scripts/cds-ps.ps1 +0 -19
- package/bin/completion/scripts/cds-zsh.sh +0 -13
- package/lib/deploy/index.js +0 -25
- package/lib/import/asyncapi/importAsyncAPI.js +0 -33
- package/lib/import/asyncapi/index.js +0 -18
- package/lib/import/asyncapi/parserContext.js +0 -372
- package/lib/import/asyncapi/utils.js +0 -49
- package/lib/init/template/nodejs/files/.gitignore.hbs +0 -34
- package/node_modules/@sap/cds/libx/_runtime/ucl/queries.js +0 -61
- package/node_modules/@sap/cds-mtxs/lib/migration/extension-project-builder.js +0 -129
- package/node_modules/@sap/cds-mtxs/lib/migration/extension-project.js +0 -89
- package/node_modules/@sap/cds-mtxs/lib/migration/mtx-adapter.js +0 -230
- package/node_modules/negotiator/HISTORY.md +0 -114
- /package/{lib → bin}/upgrade/context.js +0 -0
- /package/{lib → bin}/upgrade/migrations/cds10/migrations.json +0 -0
- /package/{lib → bin}/upgrade/preflight/cds-version.js +0 -0
- /package/{lib → bin}/upgrade/preflight/project-type.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/classification.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/detector.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/evaluator.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/reporter.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/setup.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/utils/detection.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/utils/files.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/utils/grep.js +0 -0
- /package/{lib → bin}/upgrade/steps/analyze/utils/yaml.js +0 -0
- /package/{lib → bin}/upgrade/util/workspaces.js +0 -0
- /package/{lib → bin}/watch/esm-resolve-registration.js +0 -0
- /package/{lib → bin}/watch/livereload-server.js +0 -0
- /package/{lib → bin}/watch/node-watch.js +0 -0
- /package/{lib → bin}/watch/open.js +0 -0
- /package/{lib → bin}/watch/watcher.js +0 -0
|
@@ -133,7 +133,7 @@ EOF:3,
|
|
|
133
133
|
},
|
|
134
134
|
['m',0,'}',,,'afterBrace'],
|
|
135
135
|
'artifactDefOrExtend',
|
|
136
|
-
{'@':[10,
|
|
136
|
+
{'@':[10,784],'':11},
|
|
137
137
|
{
|
|
138
138
|
type:12,view:'type',event:'type',action:'type',aspect:'type',entity:'type',context:'type',service:'type',abstract:'type',function:'type',annotation:'type',
|
|
139
139
|
define:['ck',12],
|
|
@@ -198,22 +198,22 @@ Id:[22,31],
|
|
|
198
198
|
'serviceDef',
|
|
199
199
|
['mk',44,'service',,,'vocabularyRestriction'],
|
|
200
200
|
[45,35],
|
|
201
|
-
{'@':[45,
|
|
201
|
+
{'@':[45,790],'':46},
|
|
202
202
|
{'{':[0,5],'':0},
|
|
203
203
|
'contextDef',
|
|
204
204
|
['mk',49,'context',,,'vocabularyRestriction'],
|
|
205
205
|
[50,35],
|
|
206
|
-
{'@':[50,
|
|
206
|
+
{'@':[50,790],'':51},
|
|
207
207
|
{'{':[0,5],'':0},
|
|
208
208
|
'annotationDef',
|
|
209
209
|
['mk',54,'annotation'],
|
|
210
210
|
[55,35],
|
|
211
|
-
{'@':[55,
|
|
211
|
+
{'@':[55,790],'':56},
|
|
212
212
|
[0,357],
|
|
213
213
|
'typeDef',
|
|
214
214
|
['mk',59,'type'],
|
|
215
215
|
[60,35],
|
|
216
|
-
{'@':[60,
|
|
216
|
+
{'@':[60,790],'':61},
|
|
217
217
|
[0,357],
|
|
218
218
|
'aspectDef',
|
|
219
219
|
{
|
|
@@ -222,7 +222,7 @@ abstract:['ck',64,,'hide_'],
|
|
|
222
222
|
},
|
|
223
223
|
['mk',65,'entity'],
|
|
224
224
|
[66,35],
|
|
225
|
-
{'@':[66,
|
|
225
|
+
{'@':[66,790],'':67},
|
|
226
226
|
{
|
|
227
227
|
'{':[71,157],
|
|
228
228
|
':':['c',68],
|
|
@@ -239,7 +239,7 @@ abstract:['ck',64,,'hide_'],
|
|
|
239
239
|
'entityDef',
|
|
240
240
|
['mk',74,'entity'],
|
|
241
241
|
[75,35],
|
|
242
|
-
{'@':[75,
|
|
242
|
+
{'@':[75,790],'':76},
|
|
243
243
|
{'(':[77,141],'':77},
|
|
244
244
|
{
|
|
245
245
|
'{':81,
|
|
@@ -258,13 +258,13 @@ as:['ck',82],
|
|
|
258
258
|
projection:['g',83,,,'sloppyOn','afterBrace'],
|
|
259
259
|
},
|
|
260
260
|
[84,455,,,'sloppyOn','afterBrace'],
|
|
261
|
-
{group:[85,
|
|
262
|
-
{limit:[86,
|
|
261
|
+
{group:[85,621],where:'group',having:'group','':85},
|
|
262
|
+
{limit:[86,633],order:'limit','':86},
|
|
263
263
|
{actions:[0,124],'':0},
|
|
264
264
|
'viewDef',
|
|
265
265
|
['mk',89,'view'],
|
|
266
266
|
[90,35],
|
|
267
|
-
{'@':[90,
|
|
267
|
+
{'@':[90,790],'':91},
|
|
268
268
|
{
|
|
269
269
|
'(':[97,141],
|
|
270
270
|
with:['ck',92,,'hide_'],
|
|
@@ -280,7 +280,7 @@ with:['ck',92,,'hide_'],
|
|
|
280
280
|
'eventDef',
|
|
281
281
|
['mk',101,'event'],
|
|
282
282
|
[102,35],
|
|
283
|
-
{'@':[102,
|
|
283
|
+
{'@':[102,790],'':103},
|
|
284
284
|
{
|
|
285
285
|
'{':[0,157],
|
|
286
286
|
':':['c',104],
|
|
@@ -298,17 +298,17 @@ projection:[0,455,[]],
|
|
|
298
298
|
'{':109,
|
|
299
299
|
},
|
|
300
300
|
[0,157],
|
|
301
|
-
{'@':[110,
|
|
301
|
+
{'@':[110,784],'':0},
|
|
302
302
|
'actionMainDef',
|
|
303
303
|
['mk',113,'action'],
|
|
304
304
|
[114,35],
|
|
305
|
-
{'@':[114,
|
|
305
|
+
{'@':[114,790],'':115},
|
|
306
306
|
[116,141],
|
|
307
307
|
{returns:[0,153],'':0},
|
|
308
308
|
'functionMainDef',
|
|
309
309
|
['mk',119,'function'],
|
|
310
310
|
[120,35],
|
|
311
|
-
{'@':[120,
|
|
311
|
+
{'@':[120,790],'':121},
|
|
312
312
|
[122,141],
|
|
313
313
|
[0,153],
|
|
314
314
|
'actionsBlock',
|
|
@@ -322,17 +322,17 @@ projection:[0,455,[]],
|
|
|
322
322
|
},
|
|
323
323
|
['m',0,'}',,,'afterBrace'],
|
|
324
324
|
'boundActionFunctionDef',
|
|
325
|
-
{'@':[130,
|
|
325
|
+
{'@':[130,784],'':131},
|
|
326
326
|
{
|
|
327
327
|
action:['ck',132],
|
|
328
328
|
function:['ck',136],
|
|
329
329
|
},
|
|
330
330
|
['mi',133],
|
|
331
|
-
{'@':[133,
|
|
331
|
+
{'@':[133,790],'':134},
|
|
332
332
|
[135,141],
|
|
333
333
|
{returns:[0,153],'':0},
|
|
334
334
|
['mi',137],
|
|
335
|
-
{'@':[137,
|
|
335
|
+
{'@':[137,790],'':138},
|
|
336
336
|
[139,141],
|
|
337
337
|
[0,153],
|
|
338
338
|
'paramsList',
|
|
@@ -344,9 +344,9 @@ function:['ck',136],
|
|
|
344
344
|
},
|
|
345
345
|
['m',0,')'],
|
|
346
346
|
'paramDef',
|
|
347
|
-
{'@':[146,
|
|
347
|
+
{'@':[146,784],'':147},
|
|
348
348
|
['my',148],
|
|
349
|
-
{'@':[148,
|
|
349
|
+
{'@':[148,790],'':149},
|
|
350
350
|
{
|
|
351
351
|
'{':[150,157],
|
|
352
352
|
':':['c',151],
|
|
@@ -355,7 +355,7 @@ function:['ck',136],
|
|
|
355
355
|
[0,367],
|
|
356
356
|
'returnsSpec',
|
|
357
357
|
['mk',154,'returns',,'default','elementRestriction'],
|
|
358
|
-
{'@':[154,
|
|
358
|
+
{'@':[154,784],'':155},
|
|
359
359
|
[0,367],
|
|
360
360
|
'elementsBlock',
|
|
361
361
|
['m',158,'{'],
|
|
@@ -367,12 +367,12 @@ Id:['g',158,,'afterBrace'],'@':'Id',key:'Id',
|
|
|
367
367
|
},
|
|
368
368
|
['m',0,'}',,,'afterBrace'],
|
|
369
369
|
'elementDef',
|
|
370
|
-
{'@':[162,
|
|
370
|
+
{'@':[162,784],'':163},
|
|
371
371
|
{virtual:['ck',164,['Id','key']],'':164},
|
|
372
372
|
{key:['ck',165],'':165},
|
|
373
373
|
{element:['ck',166,['Id'],'hide_'],'':166},
|
|
374
374
|
['mi',167,,,'elem','elementRestriction'],
|
|
375
|
-
{'@':[167,
|
|
375
|
+
{'@':[167,790],'':168},
|
|
376
376
|
{
|
|
377
377
|
'{':[169,157],
|
|
378
378
|
':':['c',170],
|
|
@@ -381,10 +381,10 @@ Id:['g',158,,'afterBrace'],'@':'Id',key:'Id',
|
|
|
381
381
|
{not:[171,448],null:'not','':171},
|
|
382
382
|
[171,367],
|
|
383
383
|
{'=':['c',172,,'elementRestriction','calc'],'':0},
|
|
384
|
-
[173,
|
|
384
|
+
[173,655],
|
|
385
385
|
{stored:['ck',174],'':174},
|
|
386
386
|
['g',175],
|
|
387
|
-
{'@':[175,
|
|
387
|
+
{'@':[175,784,,'elementRestriction','anno'],'':0},
|
|
388
388
|
'enumSymbolsBlock',
|
|
389
389
|
['mk',178,'enum'],
|
|
390
390
|
['m',179,'{'],
|
|
@@ -396,19 +396,19 @@ Id:['g',179,,'fail'],'@':'Id',
|
|
|
396
396
|
},
|
|
397
397
|
['m',0,'}',,,'afterBrace'],
|
|
398
398
|
'enumSymbolDef',
|
|
399
|
-
{'@':[183,
|
|
399
|
+
{'@':[183,784],'':184},
|
|
400
400
|
['mi',185],
|
|
401
|
-
{'@':[185,
|
|
401
|
+
{'@':[185,784],'':186},
|
|
402
402
|
{'=':['c',187],'':0},
|
|
403
403
|
{
|
|
404
404
|
String:['c',189],
|
|
405
405
|
Number:['c',189],
|
|
406
406
|
'+':['c',188],'-':'+',
|
|
407
|
-
Id:[189,
|
|
407
|
+
Id:[189,781,,'hide_'],'#':'Id',QuotedLiteral:'Id',
|
|
408
408
|
},
|
|
409
409
|
['m',189,'Number'],
|
|
410
410
|
['g',190],
|
|
411
|
-
{'@':[190,
|
|
411
|
+
{'@':[190,784],'':0},
|
|
412
412
|
'foreignKeysBlock',
|
|
413
413
|
['m',193,'{'],
|
|
414
414
|
{Id:[194,197],'@':'Id','':195},
|
|
@@ -418,7 +418,7 @@ Id:[189,779,,'hide_'],'#':'Id',QuotedLiteral:'Id',
|
|
|
418
418
|
},
|
|
419
419
|
['m',0,'}'],
|
|
420
420
|
'foreignKeyDef',
|
|
421
|
-
{'@':[197,
|
|
421
|
+
{'@':[197,784],'':198},
|
|
422
422
|
[199,39],
|
|
423
423
|
{as:['ck',200],'':0},
|
|
424
424
|
['mi',0],
|
|
@@ -436,7 +436,7 @@ composition:['ck',207],
|
|
|
436
436
|
{one:['ck',210,['Id'],'noRepeatedCardinality'],many:'one','':210},
|
|
437
437
|
[211,39],
|
|
438
438
|
['mk',212,'on'],
|
|
439
|
-
[0,
|
|
439
|
+
[0,653],
|
|
440
440
|
'annotateArtifact',
|
|
441
441
|
[215,35],
|
|
442
442
|
{
|
|
@@ -447,10 +447,10 @@ with:['ck',221],
|
|
|
447
447
|
[217,35],
|
|
448
448
|
{with:['ck',218],'':218},
|
|
449
449
|
['g',219],
|
|
450
|
-
{'@':[219,
|
|
450
|
+
{'@':[219,784],'':220},
|
|
451
451
|
{'{':[0,318],'':0},
|
|
452
452
|
['g',222],
|
|
453
|
-
{'@':[222,
|
|
453
|
+
{'@':[222,784],'':223},
|
|
454
454
|
{'(':[224,305],'':224},
|
|
455
455
|
{
|
|
456
456
|
returns:[0,314],
|
|
@@ -468,7 +468,7 @@ with:['ck',238],
|
|
|
468
468
|
[230,35],
|
|
469
469
|
{with:['ck',231],'':231},
|
|
470
470
|
['g',232],
|
|
471
|
-
{'@':[232,
|
|
471
|
+
{'@':[232,784],'':233},
|
|
472
472
|
{
|
|
473
473
|
'{':234,
|
|
474
474
|
elements:['ck',234],
|
|
@@ -477,10 +477,10 @@ enum:[0,344],
|
|
|
477
477
|
'':0
|
|
478
478
|
},
|
|
479
479
|
[0,328],
|
|
480
|
-
{'@':[235,
|
|
480
|
+
{'@':[235,784],'':236},
|
|
481
481
|
{'{':[237,328],'':0},
|
|
482
482
|
{actions:[0,124],'':0},
|
|
483
|
-
{'@':[238,
|
|
483
|
+
{'@':[238,784],'':239},
|
|
484
484
|
{
|
|
485
485
|
Id:[240,39],
|
|
486
486
|
'{':244,
|
|
@@ -488,7 +488,7 @@ elements:['ck',244,['{']],
|
|
|
488
488
|
actions:[0,124,[]],
|
|
489
489
|
enum:[0,344,[]],
|
|
490
490
|
'(':[0,427],
|
|
491
|
-
group:[0,
|
|
491
|
+
group:[0,616,[]],limit:'group',order:'group',where:'group',having:'group',columns:'group',
|
|
492
492
|
definitions:['ck',246,['{']],
|
|
493
493
|
'':0
|
|
494
494
|
},
|
|
@@ -504,22 +504,22 @@ definitions:['ck',246,['{']],
|
|
|
504
504
|
[250,35],
|
|
505
505
|
{with:['ck',251],'':251},
|
|
506
506
|
['g',252],
|
|
507
|
-
{'@':[252,
|
|
507
|
+
{'@':[252,784],'':253},
|
|
508
508
|
{'{':[0,5],'':0},
|
|
509
509
|
'extendContext',
|
|
510
510
|
['mk',256,'context'],
|
|
511
511
|
[257,35],
|
|
512
512
|
{with:['ck',258],'':258},
|
|
513
513
|
['g',259],
|
|
514
|
-
{'@':[259,
|
|
514
|
+
{'@':[259,784],'':260},
|
|
515
515
|
{'{':[0,5],'':0},
|
|
516
516
|
'extendType',
|
|
517
517
|
['mk',263,'type'],
|
|
518
518
|
[264,35],
|
|
519
519
|
{with:['ck',267],'':265},
|
|
520
|
-
{'@':[265,
|
|
520
|
+
{'@':[265,784],'':266},
|
|
521
521
|
{'{':[0,328],'':0},
|
|
522
|
-
{'@':[267,
|
|
522
|
+
{'@':[267,784],'':268},
|
|
523
523
|
{
|
|
524
524
|
Id:[269,39],
|
|
525
525
|
'{':272,
|
|
@@ -536,8 +536,8 @@ enum:[0,177,[]],
|
|
|
536
536
|
{aspect:['ck',275],entity:'aspect'},
|
|
537
537
|
[276,35],
|
|
538
538
|
{with:['ck',278],'':277},
|
|
539
|
-
{'@':[277,
|
|
540
|
-
{'@':[278,
|
|
539
|
+
{'@':[277,784],'':282},
|
|
540
|
+
{'@':[278,784],'':279},
|
|
541
541
|
{Id:[280,39],'':['g',282,[]],actions:''},
|
|
542
542
|
{',':['c',281],'':282},
|
|
543
543
|
[280,39],
|
|
@@ -548,8 +548,8 @@ enum:[0,177,[]],
|
|
|
548
548
|
[287,35],
|
|
549
549
|
{with:['ck',288],'':288},
|
|
550
550
|
['g',289],
|
|
551
|
-
{'@':[289,
|
|
552
|
-
{'{':[291,
|
|
551
|
+
{'@':[289,784],'':290},
|
|
552
|
+
{'{':[291,566],'':291},
|
|
553
553
|
{actions:[0,124],'':0},
|
|
554
554
|
'annotateActionsBlock',
|
|
555
555
|
['mk',294,'actions'],
|
|
@@ -562,9 +562,9 @@ Id:['g',295,,'afterBrace'],'@':'Id',
|
|
|
562
562
|
},
|
|
563
563
|
['m',0,'}',,,'afterBrace'],
|
|
564
564
|
'annotateBoundAction',
|
|
565
|
-
{'@':[299,
|
|
565
|
+
{'@':[299,784],'':300},
|
|
566
566
|
['mi',301],
|
|
567
|
-
{'@':[301,
|
|
567
|
+
{'@':[301,784],'':302},
|
|
568
568
|
{'(':[303,305],'':303},
|
|
569
569
|
{returns:[0,314],'':0},
|
|
570
570
|
'annotateParamsBlock',
|
|
@@ -576,12 +576,12 @@ Id:['g',295,,'afterBrace'],'@':'Id',
|
|
|
576
576
|
},
|
|
577
577
|
['m',0,')'],
|
|
578
578
|
'annotateParam',
|
|
579
|
-
{'@':[310,
|
|
579
|
+
{'@':[310,784],'':311},
|
|
580
580
|
['mi',312],
|
|
581
|
-
{'@':[312,
|
|
581
|
+
{'@':[312,784],'':0},
|
|
582
582
|
'annotateReturns',
|
|
583
583
|
['mk',315,'returns'],
|
|
584
|
-
{'@':[315,
|
|
584
|
+
{'@':[315,784],'':316},
|
|
585
585
|
{'{':[0,318],'':0},
|
|
586
586
|
'annotateElementsBlock',
|
|
587
587
|
['m',319,'{'],
|
|
@@ -593,9 +593,9 @@ Id:['g',319,,'afterBrace'],'@':'Id',
|
|
|
593
593
|
},
|
|
594
594
|
['m',0,'}',,,'afterBrace'],
|
|
595
595
|
'annotateElement',
|
|
596
|
-
{'@':[323,
|
|
596
|
+
{'@':[323,784],'':324},
|
|
597
597
|
['mi',325],
|
|
598
|
-
{'@':[325,
|
|
598
|
+
{'@':[325,784],'':326},
|
|
599
599
|
{'{':[0,318],'':0},
|
|
600
600
|
'extendElementsBlock',
|
|
601
601
|
['m',329,'{'],
|
|
@@ -607,7 +607,7 @@ Id:['g',329,,'afterBrace'],'@':'Id',key:'Id',
|
|
|
607
607
|
},
|
|
608
608
|
['m',0,'}',,,'afterBrace'],
|
|
609
609
|
'elementDefOrExtend',
|
|
610
|
-
{'@':[333,
|
|
610
|
+
{'@':[333,784],'':334},
|
|
611
611
|
{
|
|
612
612
|
Id:[0,162],'@':'Id',key:'Id',
|
|
613
613
|
extend:['ck',335,['Id']],
|
|
@@ -615,9 +615,9 @@ extend:['ck',335,['Id']],
|
|
|
615
615
|
{element:['ck',336,['Id']],'':336},
|
|
616
616
|
['mi',337],
|
|
617
617
|
{with:['ck',340],'':338},
|
|
618
|
-
{'@':[338,
|
|
618
|
+
{'@':[338,784],'':339},
|
|
619
619
|
{'{':[0,328],'':0},
|
|
620
|
-
{'@':[340,
|
|
620
|
+
{'@':[340,784],'':341},
|
|
621
621
|
{
|
|
622
622
|
'{':342,
|
|
623
623
|
elements:['ck',342],
|
|
@@ -637,7 +637,7 @@ Id:['g',346,,'fail'],'@':'Id',
|
|
|
637
637
|
},
|
|
638
638
|
['m',0,'}',,,'afterBrace'],
|
|
639
639
|
'enumSymbolDefOrExtend',
|
|
640
|
-
{'@':[350,
|
|
640
|
+
{'@':[350,784],'':351},
|
|
641
641
|
{
|
|
642
642
|
Id:[0,183],'@':'Id',
|
|
643
643
|
extend:['ck',352,['Id']],
|
|
@@ -645,7 +645,7 @@ extend:['ck',352,['Id']],
|
|
|
645
645
|
['mi',353],
|
|
646
646
|
{with:['ck',354],'':354},
|
|
647
647
|
['g',355],
|
|
648
|
-
{'@':[355,
|
|
648
|
+
{'@':[355,784],'':0},
|
|
649
649
|
'typeOrIncludesSpec',
|
|
650
650
|
{
|
|
651
651
|
'{':[358,157],
|
|
@@ -683,9 +683,9 @@ many:['ck',388,['Id','{'],,'calc','elementRestriction'],
|
|
|
683
683
|
'{':[393,157,,,'calc','elementRestriction'],
|
|
684
684
|
},
|
|
685
685
|
['g',369],
|
|
686
|
-
{'@':[369,
|
|
686
|
+
{'@':[369,784],'':370},
|
|
687
687
|
{not:[371,448,,'elementRestriction','notNull'],null:'not','':372},
|
|
688
|
-
{'@':[371,
|
|
688
|
+
{'@':[371,784],'':372},
|
|
689
689
|
{
|
|
690
690
|
enum:[373,177,,,'anno','elementRestriction'],
|
|
691
691
|
'@':[0,402],not:'@',null:'@',default:'@',
|
|
@@ -693,7 +693,7 @@ enum:[373,177,,,'anno','elementRestriction'],
|
|
|
693
693
|
},
|
|
694
694
|
{not:[374,448,,'elementRestriction','notNull'],null:'not','':374},
|
|
695
695
|
{default:['ck',375,,'elementRestriction','default'],'':376},
|
|
696
|
-
[376,
|
|
696
|
+
[376,655],
|
|
697
697
|
{not:[0,448,,'elementRestriction','notNull'],null:'not','':0},
|
|
698
698
|
[378,413],
|
|
699
699
|
{'@':[0,402],not:'@',null:'@',default:'@','':0},
|
|
@@ -716,29 +716,29 @@ type:[389,405,[]],
|
|
|
716
716
|
},
|
|
717
717
|
{not:[390,448,,'elementRestriction','notNull'],null:'not','':390},
|
|
718
718
|
{enum:[392,177],'':391},
|
|
719
|
-
{'@':[391,
|
|
719
|
+
{'@':[391,784],'':0},
|
|
720
720
|
{not:[0,448,,'elementRestriction','notNull'],null:'not','':0},
|
|
721
721
|
{not:[0,448],null:'not','':0},
|
|
722
722
|
'typeAssocProperties',
|
|
723
723
|
[396,39],
|
|
724
|
-
{'@':[396,
|
|
724
|
+
{'@':[396,784],'':397},
|
|
725
725
|
{
|
|
726
726
|
on:['ck',398],
|
|
727
727
|
'{':[400,192],
|
|
728
728
|
'@':[0,402],not:'@',null:'@',default:'@',
|
|
729
729
|
'':0
|
|
730
730
|
},
|
|
731
|
-
[399,
|
|
732
|
-
{'@':[399,
|
|
731
|
+
[399,653],
|
|
732
|
+
{'@':[399,784],'':0},
|
|
733
733
|
{'@':[0,402],not:'@',null:'@',default:'@','':0},
|
|
734
734
|
'typeProperties',
|
|
735
735
|
{
|
|
736
|
-
'@':[402,
|
|
736
|
+
'@':[402,784],
|
|
737
737
|
not:[402,448,,'elementRestriction','notNull'],null:'not',
|
|
738
738
|
default:['ck',403,,'elementRestriction','default'],
|
|
739
739
|
'':0
|
|
740
740
|
},
|
|
741
|
-
[402,
|
|
741
|
+
[402,655],
|
|
742
742
|
'typeTypeOf',
|
|
743
743
|
['mk',406,'type'],
|
|
744
744
|
['mk',407,'of'],
|
|
@@ -829,9 +829,9 @@ not:['ck',449],
|
|
|
829
829
|
'projectionSpec',
|
|
830
830
|
['mk',456,'projection'],
|
|
831
831
|
['mk',457,'on'],
|
|
832
|
-
[458,
|
|
833
|
-
{'{':[459,
|
|
834
|
-
{excluding:[0,
|
|
832
|
+
[458,522],
|
|
833
|
+
{'{':[459,566],'':459},
|
|
834
|
+
{excluding:[0,559],'':0},
|
|
835
835
|
'queryExpression',
|
|
836
836
|
{
|
|
837
837
|
'(':['c',462],
|
|
@@ -848,15 +848,15 @@ union:['ck',466,,'precLeft_',2],
|
|
|
848
848
|
{distinct:['ck',467],'':467},
|
|
849
849
|
{all:['ck',467],distinct:'all','':467},
|
|
850
850
|
[464,461,,,,'orderByLimitRestriction'],
|
|
851
|
-
{limit:[0,
|
|
851
|
+
{limit:[0,633,,'orderByLimitRestriction'],order:'limit','':0},
|
|
852
852
|
'selectQuery',
|
|
853
853
|
['mk',471,'select'],
|
|
854
854
|
{
|
|
855
855
|
from:['ck',472],
|
|
856
|
-
Id:
|
|
857
|
-
|
|
856
|
+
Id:483,'#':'Id','(':'Id','*':'Id','+':'Id','-':'Id',':':'Id','?':'Id','@':'Id','{':'Id',all:'Id',key:'Id',not:'Id',case:'Id',cast:'Id',null:'Id',true:'Id',false:'Id',Number:'Id',String:'Id',exists:'Id',distinct:'Id',QuotedLiteral:'Id',
|
|
857
|
+
one:['ck',483,['Id','#','(','*','+','-',':','?','@','{','all','key','not','case','cast','null','true','false','Number','String','exists','distinct','QuotedLiteral'],'hide_'],
|
|
858
858
|
},
|
|
859
|
-
[473,
|
|
859
|
+
[473,492],
|
|
860
860
|
{mixin:['ck',474],'':479},
|
|
861
861
|
['m',475,'{'],
|
|
862
862
|
{Id:[476,202],'':477},
|
|
@@ -868,494 +868,496 @@ Id:['g',475,,'fail'],
|
|
|
868
868
|
['m',478,'}'],
|
|
869
869
|
['mk',479,'into'],
|
|
870
870
|
{all:['ck',480],distinct:'all','':480},
|
|
871
|
-
{'
|
|
872
|
-
{
|
|
873
|
-
[
|
|
871
|
+
{one:['ck',481,,'hide_'],'':481},
|
|
872
|
+
{'{':[482,566],'':482},
|
|
873
|
+
{excluding:[490,559],'':490},
|
|
874
|
+
{all:['ck',484],distinct:'all','':484},
|
|
875
|
+
['g',485,,,'sqlStyle','inSelectItem'],
|
|
874
876
|
{
|
|
875
|
-
'*':['c',
|
|
876
|
-
Id:[
|
|
877
|
+
'*':['c',486],
|
|
878
|
+
Id:[486,576],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id','@':'Id','{':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
877
879
|
},
|
|
878
|
-
{',':['c',
|
|
880
|
+
{',':['c',487],'':488},
|
|
879
881
|
{
|
|
880
|
-
'*':['c',
|
|
881
|
-
Id:[
|
|
882
|
+
'*':['c',486],
|
|
883
|
+
Id:[486,576],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id','@':'Id','{':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
882
884
|
},
|
|
883
|
-
['mk',
|
|
884
|
-
[
|
|
885
|
-
{group:[0,
|
|
885
|
+
['mk',489,'from'],
|
|
886
|
+
[490,492],
|
|
887
|
+
{group:[0,621],where:'group',having:'group','':0},
|
|
886
888
|
'querySource',
|
|
887
|
-
[
|
|
888
|
-
{',':
|
|
889
|
-
{',':['c',
|
|
890
|
-
[
|
|
889
|
+
[493,497],
|
|
890
|
+
{',':494,'':0},
|
|
891
|
+
{',':['c',495],'':0},
|
|
892
|
+
[494,497],
|
|
891
893
|
'tableExpression',
|
|
892
894
|
{
|
|
893
|
-
'(':[
|
|
894
|
-
Id:[
|
|
895
|
+
'(':[498,509],
|
|
896
|
+
Id:[498,522],
|
|
895
897
|
},
|
|
896
898
|
{
|
|
897
|
-
cross:['ck',
|
|
898
|
-
inner:['ck',
|
|
899
|
-
full:['ck',
|
|
900
|
-
join:['ck',
|
|
899
|
+
cross:['ck',499],
|
|
900
|
+
inner:['ck',502],
|
|
901
|
+
full:['ck',501],left:'full',right:'full',
|
|
902
|
+
join:['ck',504],
|
|
901
903
|
'':0
|
|
902
904
|
},
|
|
903
|
-
['mk',
|
|
905
|
+
['mk',500,'join'],
|
|
904
906
|
{
|
|
905
|
-
'(':[
|
|
906
|
-
Id:[
|
|
907
|
+
'(':[498,509],
|
|
908
|
+
Id:[498,522],
|
|
907
909
|
},
|
|
908
|
-
{outer:['ck',
|
|
909
|
-
{one:[
|
|
910
|
-
['mk',
|
|
911
|
-
['g',
|
|
912
|
-
[
|
|
913
|
-
['mk',
|
|
914
|
-
[
|
|
910
|
+
{outer:['ck',502],'':502},
|
|
911
|
+
{one:[503,516],many:'one',exact:'one','':503},
|
|
912
|
+
['mk',504,'join'],
|
|
913
|
+
['g',505],
|
|
914
|
+
[506,497],
|
|
915
|
+
['mk',507,'on'],
|
|
916
|
+
[498,653],
|
|
915
917
|
'tableOrQueryParens',
|
|
916
|
-
['m',
|
|
918
|
+
['m',510,'(',,,'queryOnLeft'],
|
|
917
919
|
{
|
|
918
|
-
'(':[509
|
|
919
|
-
Id:[
|
|
920
|
-
select:[
|
|
920
|
+
'(':[511,509],
|
|
921
|
+
Id:[512,497,,,'table','queryOnLeft'],
|
|
922
|
+
select:[512,461],
|
|
921
923
|
},
|
|
922
924
|
{
|
|
923
|
-
full:[
|
|
924
|
-
limit:[
|
|
925
|
-
'':
|
|
925
|
+
full:[512,498,,,'table','queryOnLeft'],join:'full',left:'full',cross:'full',inner:'full',right:'full',
|
|
926
|
+
limit:[512,464,,'queryOnLeft'],minus:'limit',order:'limit',union:'limit',except:'limit',intersect:'limit',
|
|
927
|
+
'':512
|
|
926
928
|
},
|
|
927
|
-
['m',
|
|
929
|
+
['m',513,')'],
|
|
928
930
|
{
|
|
929
|
-
as:['ck',
|
|
931
|
+
as:['ck',514,,'queryOnLeft','table'],
|
|
930
932
|
Id:['ci',0,,'queryOnLeftSloppyAlias'],
|
|
931
933
|
'':0,on:'',all:'',where:'',distinct:''
|
|
932
934
|
},
|
|
933
935
|
['mi',0],
|
|
934
936
|
'joinCardinality',
|
|
935
937
|
{
|
|
936
|
-
one:
|
|
937
|
-
exact:['ck',
|
|
938
|
-
many:['ck',
|
|
938
|
+
one:517,
|
|
939
|
+
exact:['ck',517],
|
|
940
|
+
many:['ck',518],
|
|
939
941
|
},
|
|
940
|
-
['mk',
|
|
941
|
-
['mk',
|
|
942
|
+
['mk',518,'one'],
|
|
943
|
+
['mk',519,'to'],
|
|
942
944
|
{
|
|
943
|
-
one:
|
|
944
|
-
exact:['ck',
|
|
945
|
+
one:520,
|
|
946
|
+
exact:['ck',520],
|
|
945
947
|
many:['ck',0],
|
|
946
948
|
},
|
|
947
949
|
['mk',0,'one'],
|
|
948
950
|
'fromRefWithOptAlias',
|
|
949
|
-
[
|
|
950
|
-
{':':['c',
|
|
951
|
-
[
|
|
951
|
+
[523,529],
|
|
952
|
+
{':':['c',524],'':525},
|
|
953
|
+
[525,529],
|
|
952
954
|
{
|
|
953
|
-
as:['ck',
|
|
955
|
+
as:['ck',526],
|
|
954
956
|
Id:['ci',0,,'isNoKeywordInRuleFollow'],
|
|
955
|
-
'':
|
|
957
|
+
'':527,on:'',all:'',where:'',distinct:''
|
|
956
958
|
},
|
|
957
959
|
['mi',0],
|
|
958
960
|
['g',0],
|
|
959
961
|
'fromPath',
|
|
960
|
-
['mi',
|
|
961
|
-
{'(':[
|
|
962
|
-
{'.':['c',
|
|
963
|
-
['my',
|
|
964
|
-
{'(':[
|
|
962
|
+
['mi',530],
|
|
963
|
+
{'(':[531,535],'[':'(','':531},
|
|
964
|
+
{'.':['c',532,,'notAfterEntityArgOrFilter'],'':0},
|
|
965
|
+
['my',533],
|
|
966
|
+
{'(':[531,535],'[':'(','':531},
|
|
965
967
|
'fromArgumentsAndFilter',
|
|
966
|
-
{'(':['c',
|
|
967
|
-
{Id:
|
|
968
|
-
{Id:[
|
|
968
|
+
{'(':['c',536],'':540},
|
|
969
|
+
{Id:537},
|
|
970
|
+
{Id:[538,542],'':539},
|
|
969
971
|
{
|
|
970
|
-
',':['c',
|
|
971
|
-
')':
|
|
972
|
+
',':['c',537],
|
|
973
|
+
')':539,
|
|
972
974
|
},
|
|
973
|
-
['m',
|
|
974
|
-
{'[':[0,
|
|
975
|
+
['m',540,')'],
|
|
976
|
+
{'[':[0,546],'':0},
|
|
975
977
|
'fromNamedArgument',
|
|
976
|
-
['mi',
|
|
977
|
-
['m',
|
|
978
|
-
[0,
|
|
978
|
+
['mi',543],
|
|
979
|
+
['m',544,':'],
|
|
980
|
+
[0,655],
|
|
979
981
|
'cardinalityAndFilter',
|
|
980
|
-
['m',
|
|
981
|
-
{Number:['c',
|
|
982
|
-
['m',
|
|
982
|
+
['m',547,'['],
|
|
983
|
+
{Number:['c',548,,'beforeColon'],'':549},
|
|
984
|
+
['m',549,':'],
|
|
983
985
|
{
|
|
984
|
-
group:['g',
|
|
985
|
-
where:['ck',
|
|
986
|
+
group:['g',551,[]],limit:'group',order:'group',having:'group',
|
|
987
|
+
where:['ck',550],
|
|
986
988
|
']':['c',0],
|
|
987
|
-
'':
|
|
989
|
+
'':550
|
|
988
990
|
},
|
|
989
|
-
[
|
|
990
|
-
{group:['g',
|
|
991
|
-
[
|
|
992
|
-
{having:['ck',
|
|
993
|
-
[
|
|
994
|
-
{Id:['g',
|
|
995
|
-
[
|
|
991
|
+
[551,653],
|
|
992
|
+
{group:['g',552,,'hide_'],'':553},
|
|
993
|
+
[553,627],
|
|
994
|
+
{having:['ck',554,,'hide_'],'':555},
|
|
995
|
+
[555,653],
|
|
996
|
+
{Id:['g',556,,'hide_'],'':557},
|
|
997
|
+
[557,633],
|
|
996
998
|
['m',0,']'],
|
|
997
999
|
'excludingClause',
|
|
998
|
-
['mk',
|
|
999
|
-
['m',
|
|
1000
|
-
{Id:
|
|
1001
|
-
{Id:['cy',
|
|
1000
|
+
['mk',560,'excluding'],
|
|
1001
|
+
['m',561,'{'],
|
|
1002
|
+
{Id:562},
|
|
1003
|
+
{Id:['cy',563],'':564},
|
|
1002
1004
|
{
|
|
1003
|
-
',':['c',
|
|
1004
|
-
'}':
|
|
1005
|
+
',':['c',562],
|
|
1006
|
+
'}':564,
|
|
1005
1007
|
},
|
|
1006
1008
|
['m',0,'}',,,'afterBrace'],
|
|
1007
1009
|
'selectItemsList',
|
|
1008
|
-
['m',
|
|
1010
|
+
['m',567,'{',,'top','inSelectItem'],
|
|
1009
1011
|
{
|
|
1010
|
-
'*':['c',
|
|
1011
|
-
Id:[
|
|
1012
|
-
'':
|
|
1012
|
+
'*':['c',568],
|
|
1013
|
+
Id:[568,576],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id','@':'Id','{':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
1014
|
+
'':569
|
|
1013
1015
|
},
|
|
1014
1016
|
{
|
|
1015
|
-
',':['c',
|
|
1016
|
-
'}':
|
|
1017
|
+
',':['c',567],
|
|
1018
|
+
'}':569,
|
|
1017
1019
|
},
|
|
1018
1020
|
['m',0,'}',,,'afterBrace'],
|
|
1019
1021
|
'nestedSelectItemsList',
|
|
1020
|
-
['m',
|
|
1022
|
+
['m',572,'{',,,'inSelectItem'],
|
|
1021
1023
|
{
|
|
1022
|
-
'*':['c',
|
|
1023
|
-
Id:[
|
|
1024
|
-
'':
|
|
1024
|
+
'*':['c',573],
|
|
1025
|
+
Id:[573,576],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id','@':'Id','{':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
1026
|
+
'':574
|
|
1025
1027
|
},
|
|
1026
1028
|
{
|
|
1027
|
-
',':['c',
|
|
1028
|
-
'}':
|
|
1029
|
+
',':['c',572],
|
|
1030
|
+
'}':574,
|
|
1029
1031
|
},
|
|
1030
1032
|
['m',0,'}',,,'afterBrace'],
|
|
1031
1033
|
'selectItemDef',
|
|
1032
|
-
{'@':[
|
|
1033
|
-
{virtual:['ck',
|
|
1034
|
-
['g',
|
|
1035
|
-
{key:['ck',
|
|
1034
|
+
{'@':[576,787],'':577},
|
|
1035
|
+
{virtual:['ck',578,['Id','#','(','+','-',':','?','{','key','not','case','cast','null','true','false','Number','String','exists','QuotedLiteral'],'modifierRestriction'],'':578},
|
|
1036
|
+
['g',579,,,'key','columnExpr'],
|
|
1037
|
+
{key:['ck',580,,'modifierRestriction'],'':580},
|
|
1036
1038
|
{
|
|
1037
|
-
'#':[
|
|
1038
|
-
Id:[
|
|
1039
|
-
'{':[
|
|
1039
|
+
'#':[581,655,[]],'(':'#','+':'#','-':'#',':':'#','?':'#',new:'#',not:'#',case:'#',cast:'#',null:'#',true:'#',false:'#',Number:'#',String:'#',exists:'#',QuotedLiteral:'#',
|
|
1040
|
+
Id:[583,683],
|
|
1041
|
+
'{':[594,571],
|
|
1040
1042
|
},
|
|
1041
1043
|
{
|
|
1042
|
-
as:['ck',
|
|
1043
|
-
Id:['ci',
|
|
1044
|
-
'':
|
|
1044
|
+
as:['ck',582],
|
|
1045
|
+
Id:['ci',591,,'hide_'],
|
|
1046
|
+
'':591,from:''
|
|
1045
1047
|
},
|
|
1046
|
-
['mi',
|
|
1048
|
+
['mi',591],
|
|
1047
1049
|
{
|
|
1048
|
-
over:['ck',
|
|
1049
|
-
'*':[
|
|
1050
|
-
as:['ck',
|
|
1051
|
-
Id:['ci',
|
|
1052
|
-
'.':['c',
|
|
1053
|
-
'':['g',
|
|
1050
|
+
over:['ck',584],
|
|
1051
|
+
'*':[586,666],'+':'*','-':'*','/':'*','<':'*','=':'*','>':'*','?':'*','!=':'*','<=':'*','<>':'*','==':'*','>=':'*',in:'*',is:'*',or:'*','||':'*',and:'*',not:'*',like:'*',between:'*',
|
|
1052
|
+
as:['ck',588],
|
|
1053
|
+
Id:['ci',591,,'hide_',,'nestedExpand'],
|
|
1054
|
+
'.':['c',589],
|
|
1055
|
+
'':['g',591,,,,'nestedExpand'],from:''
|
|
1054
1056
|
},
|
|
1055
|
-
[
|
|
1056
|
-
{'*':[
|
|
1057
|
+
[585,745],
|
|
1058
|
+
{'*':[586,666],'+':'*','-':'*','/':'*','<':'*','=':'*','>':'*','?':'*','!=':'*','<=':'*','<>':'*','==':'*','>=':'*',in:'*',is:'*',or:'*','||':'*',and:'*',not:'*',like:'*',between:'*','':586},
|
|
1057
1059
|
{
|
|
1058
|
-
as:['ck',
|
|
1059
|
-
Id:['ci',
|
|
1060
|
-
'':
|
|
1060
|
+
as:['ck',587],
|
|
1061
|
+
Id:['ci',591,,'hide_'],
|
|
1062
|
+
'':591,from:''
|
|
1061
1063
|
},
|
|
1062
|
-
['mi',
|
|
1063
|
-
['mi',
|
|
1064
|
+
['mi',591],
|
|
1065
|
+
['mi',591,,,,'nestedExpand'],
|
|
1064
1066
|
{
|
|
1065
|
-
'{':[
|
|
1067
|
+
'{':[590,571],
|
|
1066
1068
|
'*':['c',0],
|
|
1067
1069
|
},
|
|
1068
|
-
{excluding:[0,
|
|
1069
|
-
{'{':['g',
|
|
1070
|
-
[
|
|
1071
|
-
{excluding:[
|
|
1072
|
-
{excluding:[
|
|
1073
|
-
['mk',
|
|
1074
|
-
['mi',
|
|
1075
|
-
['g',
|
|
1076
|
-
{'@':[
|
|
1077
|
-
{':':['c',
|
|
1070
|
+
{excluding:[0,559],'':0},
|
|
1071
|
+
{'{':['g',592,,'nestedExpand'],'':597},
|
|
1072
|
+
[593,571],
|
|
1073
|
+
{excluding:[597,559],'':597},
|
|
1074
|
+
{excluding:[595,559],'':595},
|
|
1075
|
+
['mk',596,'as'],
|
|
1076
|
+
['mi',597],
|
|
1077
|
+
['g',598,,,,'columnExpr'],
|
|
1078
|
+
{'@':[598,790],'':599},
|
|
1079
|
+
{':':['c',600],'':0},
|
|
1078
1080
|
{
|
|
1079
|
-
Id:[
|
|
1080
|
-
redirected:['ck',
|
|
1081
|
-
association:['ck',
|
|
1082
|
-
composition:['ck',
|
|
1081
|
+
Id:[613,367],'{':'Id',
|
|
1082
|
+
redirected:['ck',601,['to']],
|
|
1083
|
+
association:['ck',605,['[','to'],'columnExpr'],
|
|
1084
|
+
composition:['ck',607,['[','of'],'columnExpr'],
|
|
1083
1085
|
},
|
|
1084
|
-
['mk',
|
|
1085
|
-
[
|
|
1086
|
+
['mk',602,'to'],
|
|
1087
|
+
[603,39],
|
|
1086
1088
|
{
|
|
1087
|
-
on:['ck',
|
|
1088
|
-
'{':[
|
|
1089
|
-
'':
|
|
1089
|
+
on:['ck',604],
|
|
1090
|
+
'{':[613,192],
|
|
1091
|
+
'':613
|
|
1090
1092
|
},
|
|
1091
|
-
[
|
|
1092
|
-
{'[':[604,436],'':604},
|
|
1093
|
-
['mk',607,'to'],
|
|
1093
|
+
[613,653],
|
|
1094
1094
|
{'[':[606,436],'':606},
|
|
1095
|
-
['mk',
|
|
1096
|
-
{
|
|
1097
|
-
[609,
|
|
1098
|
-
['
|
|
1099
|
-
[611,
|
|
1100
|
-
['
|
|
1101
|
-
|
|
1095
|
+
['mk',609,'to'],
|
|
1096
|
+
{'[':[608,436],'':608},
|
|
1097
|
+
['mk',609,'of'],
|
|
1098
|
+
{one:['ck',610,['Id'],'noRepeatedCardinality'],many:'one','':610},
|
|
1099
|
+
[611,39],
|
|
1100
|
+
['mk',612,'on'],
|
|
1101
|
+
[613,653],
|
|
1102
|
+
['g',614],
|
|
1103
|
+
{'@':[614,784],'':0},
|
|
1102
1104
|
'queryClauses',
|
|
1103
|
-
{columns:['ck',
|
|
1104
|
-
[
|
|
1105
|
-
{group:[
|
|
1106
|
-
{limit:[0,
|
|
1105
|
+
{columns:['ck',617],'':618},
|
|
1106
|
+
[618,566],
|
|
1107
|
+
{group:[619,621],where:'group',having:'group','':619},
|
|
1108
|
+
{limit:[0,633],order:'limit','':0},
|
|
1107
1109
|
'whereGroupByHaving',
|
|
1108
|
-
{where:['ck',
|
|
1109
|
-
[
|
|
1110
|
-
{group:[
|
|
1111
|
-
{having:['ck',
|
|
1112
|
-
[0,
|
|
1110
|
+
{where:['ck',622],'':623},
|
|
1111
|
+
[623,653],
|
|
1112
|
+
{group:[624,627],'':624},
|
|
1113
|
+
{having:['ck',625],'':0},
|
|
1114
|
+
[0,653],
|
|
1113
1115
|
'groupByClause',
|
|
1114
|
-
['mk',
|
|
1115
|
-
['mk',
|
|
1116
|
-
[
|
|
1117
|
-
{',':['c',
|
|
1118
|
-
[
|
|
1116
|
+
['mk',628,'group'],
|
|
1117
|
+
['mk',629,'by'],
|
|
1118
|
+
[630,655],
|
|
1119
|
+
{',':['c',631],'':0},
|
|
1120
|
+
[630,655],
|
|
1119
1121
|
'orderByLimitOffset',
|
|
1120
|
-
{order:[
|
|
1121
|
-
{limit:['ck',
|
|
1122
|
-
[
|
|
1123
|
-
{offset:['ck',
|
|
1124
|
-
[0,
|
|
1122
|
+
{order:[634,639],'':634},
|
|
1123
|
+
{limit:['ck',635],'':0},
|
|
1124
|
+
[636,655],
|
|
1125
|
+
{offset:['ck',637],'':0},
|
|
1126
|
+
[0,655],
|
|
1125
1127
|
'orderByClause',
|
|
1126
|
-
['mk',
|
|
1127
|
-
['mk',
|
|
1128
|
-
[
|
|
1129
|
-
{',':['c',
|
|
1130
|
-
[
|
|
1128
|
+
['mk',640,'order'],
|
|
1129
|
+
['mk',641,'by'],
|
|
1130
|
+
[642,645],
|
|
1131
|
+
{',':['c',643],'':0},
|
|
1132
|
+
[642,645],
|
|
1131
1133
|
'orderByExpression',
|
|
1132
|
-
[
|
|
1133
|
-
{asc:['ck',
|
|
1134
|
-
{nulls:['ck',
|
|
1134
|
+
[646,655],
|
|
1135
|
+
{asc:['ck',647],desc:'asc','':647},
|
|
1136
|
+
{nulls:['ck',648],'':0},
|
|
1135
1137
|
{last:['ck',0],first:'last'},
|
|
1136
1138
|
'conditionEOF',
|
|
1137
|
-
[
|
|
1139
|
+
[651,655],
|
|
1138
1140
|
['m',0,'EOF'],
|
|
1139
1141
|
'condition',
|
|
1140
|
-
[0,
|
|
1142
|
+
[0,655],
|
|
1141
1143
|
'expression',
|
|
1142
1144
|
{
|
|
1143
|
-
'(':[
|
|
1144
|
-
'#':[
|
|
1145
|
-
':':['c',
|
|
1146
|
-
'?':['c',
|
|
1147
|
-
Id:[
|
|
1148
|
-
new:['ck',
|
|
1149
|
-
exists:['ck',
|
|
1150
|
-
case:[
|
|
1151
|
-
cast:[
|
|
1152
|
-
'+':['c',
|
|
1153
|
-
not:['ck',
|
|
1145
|
+
'(':[666,689],
|
|
1146
|
+
'#':[666,781],null:'#',true:'#',false:'#',Number:'#',String:'#',QuotedLiteral:'#',
|
|
1147
|
+
':':['c',656],
|
|
1148
|
+
'?':['c',666,,'hide_'],
|
|
1149
|
+
Id:[658,683],
|
|
1150
|
+
new:['ck',661,['Id']],
|
|
1151
|
+
exists:['ck',662],
|
|
1152
|
+
case:[666,701],
|
|
1153
|
+
cast:[666,712],
|
|
1154
|
+
'+':['c',665,,'precRight_',30],'-':'+',
|
|
1155
|
+
not:['ck',665,,'precRight_',8],
|
|
1154
1156
|
},
|
|
1155
1157
|
{
|
|
1156
|
-
Id:['cy',
|
|
1157
|
-
Number:['c',
|
|
1158
|
+
Id:['cy',657],
|
|
1159
|
+
Number:['c',666,,'hide_'],
|
|
1158
1160
|
},
|
|
1159
|
-
{'.':[
|
|
1160
|
-
{over:['ck',
|
|
1161
|
-
[
|
|
1162
|
-
['g',
|
|
1163
|
-
[
|
|
1161
|
+
{'.':[666,685],'':666},
|
|
1162
|
+
{over:['ck',659],'':660},
|
|
1163
|
+
[660,745],
|
|
1164
|
+
['g',666],
|
|
1165
|
+
[666,683],
|
|
1164
1166
|
{
|
|
1165
|
-
'(':['c',
|
|
1166
|
-
Id:[
|
|
1167
|
-
'?':['c',
|
|
1167
|
+
'(':['c',663],
|
|
1168
|
+
Id:[666,683],
|
|
1169
|
+
'?':['c',666,,'hide_'],
|
|
1168
1170
|
},
|
|
1169
|
-
[
|
|
1170
|
-
['m',
|
|
1171
|
-
[
|
|
1171
|
+
[664,461],
|
|
1172
|
+
['m',666,')'],
|
|
1173
|
+
[666,655],
|
|
1172
1174
|
{
|
|
1173
|
-
'*':['c',
|
|
1174
|
-
'+':['c',
|
|
1175
|
-
'||':['c',
|
|
1176
|
-
and:['ck',
|
|
1177
|
-
or:['ck',
|
|
1178
|
-
'?':['c',
|
|
1179
|
-
'<':['c',
|
|
1180
|
-
'==':['c',
|
|
1181
|
-
is:['ck',
|
|
1182
|
-
not:['ck',
|
|
1183
|
-
in:['g',
|
|
1175
|
+
'*':['c',670,,'precLeft_',24],'/':'*',
|
|
1176
|
+
'+':['c',670,,'precLeft_',22],'-':'+',
|
|
1177
|
+
'||':['c',670,,'precLeft_',20],
|
|
1178
|
+
and:['ck',670,,'precLeft_',4],
|
|
1179
|
+
or:['ck',670,,'precLeft_',2],
|
|
1180
|
+
'?':['c',667,,'precRight_',0],
|
|
1181
|
+
'<':['c',669,,'precNone_',10],'=':'<','>':'<','!=':'<','<=':'<','<>':'<','>=':'<',
|
|
1182
|
+
'==':['c',670,,'precNone_',10],
|
|
1183
|
+
is:['ck',671,,'precNone_',10],
|
|
1184
|
+
not:['ck',673,,'isNegatedRelation',10],
|
|
1185
|
+
in:['g',673,,'precNone_',10],like:'in',between:'in',
|
|
1184
1186
|
'':0
|
|
1185
1187
|
},
|
|
1186
|
-
[
|
|
1187
|
-
['m',
|
|
1188
|
-
{all:['ck',
|
|
1189
|
-
[
|
|
1190
|
-
{not:['ck',
|
|
1191
|
-
['mk',
|
|
1188
|
+
[668,655],
|
|
1189
|
+
['m',670,':'],
|
|
1190
|
+
{all:['ck',670],any:'all',some:'all','':670},
|
|
1191
|
+
[681,655],
|
|
1192
|
+
{not:['ck',672],'':672},
|
|
1193
|
+
['mk',681,'null'],
|
|
1192
1194
|
{
|
|
1193
|
-
between:['ck',
|
|
1194
|
-
in:['ck',
|
|
1195
|
-
like:['ck',
|
|
1195
|
+
between:['ck',674],
|
|
1196
|
+
in:['ck',677],
|
|
1197
|
+
like:['ck',678],
|
|
1196
1198
|
},
|
|
1197
|
-
[
|
|
1198
|
-
['mk',
|
|
1199
|
-
[
|
|
1200
|
-
[
|
|
1201
|
-
[
|
|
1202
|
-
{escape:['ck',
|
|
1203
|
-
[
|
|
1204
|
-
['g',
|
|
1199
|
+
[675,655],
|
|
1200
|
+
['mk',676,'and'],
|
|
1201
|
+
[681,655],
|
|
1202
|
+
[681,655],
|
|
1203
|
+
[679,655],
|
|
1204
|
+
{escape:['ck',680],'':681},
|
|
1205
|
+
[681,655],
|
|
1206
|
+
['g',666],
|
|
1205
1207
|
'valuePath',
|
|
1206
|
-
['mi',
|
|
1207
|
-
{'(':[
|
|
1208
|
-
{'.':['c',
|
|
1209
|
-
['my',
|
|
1210
|
-
{'(':[
|
|
1208
|
+
['mi',684],
|
|
1209
|
+
{'(':[685,719],'[':'(','':685},
|
|
1210
|
+
{'.':['c',686,,'isDotForPath'],'':0},
|
|
1211
|
+
['my',687],
|
|
1212
|
+
{'(':[685,719],'[':'(','':685},
|
|
1211
1213
|
'expressionOrQueryParens',
|
|
1212
|
-
['m',
|
|
1214
|
+
['m',690,'(',,,'queryOnLeft'],
|
|
1213
1215
|
{
|
|
1214
|
-
'(':[689
|
|
1215
|
-
Id:[
|
|
1216
|
-
select:[
|
|
1216
|
+
'(':[691,689],
|
|
1217
|
+
Id:[693,655,,,'expr','queryOnLeft'],'#':'Id','+':'Id','-':'Id',':':'Id','?':'Id',not:'Id',case:'Id',cast:'Id',null:'Id',true:'Id',false:'Id',Number:'Id',String:'Id',exists:'Id',QuotedLiteral:'Id',
|
|
1218
|
+
select:[694,461],
|
|
1217
1219
|
},
|
|
1218
1220
|
{
|
|
1219
|
-
'*':[
|
|
1220
|
-
',':[
|
|
1221
|
-
limit:[
|
|
1222
|
-
'':
|
|
1221
|
+
'*':[692,666,,,'expr','queryOnLeft'],'+':'*','-':'*','/':'*','<':'*','=':'*','>':'*','?':'*','!=':'*','<=':'*','<>':'*','==':'*','>=':'*',in:'*',is:'*',or:'*','||':'*',and:'*',not:'*',like:'*',between:'*',
|
|
1222
|
+
',':[694,696,,,'expr','queryOnLeft'],
|
|
1223
|
+
limit:[694,464,,'queryOnLeft'],minus:'limit',order:'limit',union:'limit',except:'limit',intersect:'limit',
|
|
1224
|
+
'':694
|
|
1223
1225
|
},
|
|
1224
|
-
{',':[
|
|
1225
|
-
{',':[
|
|
1226
|
+
{',':[694,696],'':694},
|
|
1227
|
+
{',':[694,696],'':694},
|
|
1226
1228
|
['m',0,')'],
|
|
1227
1229
|
'continueExpressionslist',
|
|
1228
|
-
['m',
|
|
1229
|
-
{Id:
|
|
1230
|
-
{Id:[
|
|
1231
|
-
{',':['c',
|
|
1230
|
+
['m',697,','],
|
|
1231
|
+
{Id:698,'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id',not:'Id',case:'Id',cast:'Id',null:'Id',true:'Id',false:'Id',Number:'Id',String:'Id',exists:'Id',QuotedLiteral:'Id'},
|
|
1232
|
+
{Id:[699,655],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id','':0},
|
|
1233
|
+
{',':['c',698],'':0},
|
|
1232
1234
|
'caseExpression',
|
|
1233
|
-
['mk',
|
|
1234
|
-
{Id:[
|
|
1235
|
-
{when:
|
|
1236
|
-
{when:['ck',
|
|
1237
|
-
[
|
|
1238
|
-
['mk',
|
|
1239
|
-
[
|
|
1240
|
-
{else:['ck',
|
|
1241
|
-
[
|
|
1235
|
+
['mk',702,'case'],
|
|
1236
|
+
{Id:[703,655],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id',not:'Id',case:'Id',cast:'Id',null:'Id',true:'Id',false:'Id',Number:'Id',String:'Id',exists:'Id',QuotedLiteral:'Id','':703,when:''},
|
|
1237
|
+
{when:704},
|
|
1238
|
+
{when:['ck',705],'':708},
|
|
1239
|
+
[706,655],
|
|
1240
|
+
['mk',707,'then'],
|
|
1241
|
+
[704,655],
|
|
1242
|
+
{else:['ck',709],'':710},
|
|
1243
|
+
[710,655],
|
|
1242
1244
|
['mk',0,'end'],
|
|
1243
1245
|
'castFunction',
|
|
1244
|
-
['mk',
|
|
1245
|
-
['m',
|
|
1246
|
-
[
|
|
1247
|
-
['mk',
|
|
1248
|
-
[
|
|
1246
|
+
['mk',713,'cast'],
|
|
1247
|
+
['m',714,'('],
|
|
1248
|
+
[715,655],
|
|
1249
|
+
['mk',716,'as'],
|
|
1250
|
+
[717,413],
|
|
1249
1251
|
['m',0,')'],
|
|
1250
1252
|
'argumentsAndFilter',
|
|
1251
|
-
{'(':['c',
|
|
1253
|
+
{'(':['c',720,,,,'prepareSpecialFunction'],'':738},
|
|
1252
1254
|
{
|
|
1253
|
-
')':
|
|
1254
|
-
Id:['cy',
|
|
1255
|
-
'':
|
|
1255
|
+
')':737,
|
|
1256
|
+
Id:['cy',721,,'isNamedArg'],
|
|
1257
|
+
'':730
|
|
1256
1258
|
},
|
|
1257
1259
|
{
|
|
1258
|
-
':':['c',
|
|
1259
|
-
'=>':['c',
|
|
1260
|
+
':':['c',722],
|
|
1261
|
+
'=>':['c',726],
|
|
1260
1262
|
},
|
|
1261
|
-
[
|
|
1263
|
+
[723,655],
|
|
1262
1264
|
{
|
|
1263
|
-
',':['c',
|
|
1264
|
-
')':
|
|
1265
|
+
',':['c',724],
|
|
1266
|
+
')':737,
|
|
1265
1267
|
},
|
|
1266
1268
|
{
|
|
1267
|
-
Id:['cy',
|
|
1268
|
-
')':
|
|
1269
|
+
Id:['cy',725],
|
|
1270
|
+
')':737,
|
|
1269
1271
|
},
|
|
1270
|
-
['m',
|
|
1271
|
-
[
|
|
1272
|
+
['m',722,':'],
|
|
1273
|
+
[727,655],
|
|
1272
1274
|
{
|
|
1273
|
-
',':['c',
|
|
1274
|
-
')':
|
|
1275
|
+
',':['c',728],
|
|
1276
|
+
')':737,
|
|
1275
1277
|
},
|
|
1276
1278
|
{
|
|
1277
|
-
Id:['cy',
|
|
1278
|
-
')':
|
|
1279
|
+
Id:['cy',729],
|
|
1280
|
+
')':737,
|
|
1279
1281
|
},
|
|
1280
|
-
['m',
|
|
1281
|
-
[
|
|
1282
|
-
{',':['c',
|
|
1283
|
-
{')':['c',
|
|
1284
|
-
{'[':[0,
|
|
1285
|
-
{order:['ck',
|
|
1286
|
-
['mk',
|
|
1287
|
-
[
|
|
1288
|
-
['m',
|
|
1289
|
-
{'[':[0,
|
|
1282
|
+
['m',726,'=>'],
|
|
1283
|
+
[731,740],
|
|
1284
|
+
{',':['c',732,,,,'nextFunctionArgument'],'':734},
|
|
1285
|
+
{')':['c',733],'':730},
|
|
1286
|
+
{'[':[0,546],'':0},
|
|
1287
|
+
{order:['ck',735],'':737},
|
|
1288
|
+
['mk',736,'by'],
|
|
1289
|
+
[737,760],
|
|
1290
|
+
['m',738,')'],
|
|
1291
|
+
{'[':[0,546],'':0},
|
|
1290
1292
|
'funcExpression',
|
|
1291
1293
|
{
|
|
1292
1294
|
' lookahead':'lGenericIntroOrExpr',
|
|
1293
|
-
Id:[
|
|
1294
|
-
GenericExpr:['cx',
|
|
1295
|
-
GenericIntro:['cx',
|
|
1295
|
+
Id:[742,655],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
1296
|
+
GenericExpr:['cx',742],
|
|
1297
|
+
GenericIntro:['cx',741],
|
|
1296
1298
|
},
|
|
1297
|
-
[
|
|
1299
|
+
[742,655],
|
|
1298
1300
|
{
|
|
1299
1301
|
' lookahead':'lGenericSeparator',
|
|
1300
|
-
GenericSeparator:['cx',
|
|
1302
|
+
GenericSeparator:['cx',743],
|
|
1301
1303
|
'':0
|
|
1302
1304
|
},
|
|
1303
1305
|
{
|
|
1304
1306
|
' lookahead':'lGenericExpr',
|
|
1305
|
-
Id:[
|
|
1306
|
-
GenericExpr:['cx',
|
|
1307
|
+
Id:[742,655],'#':'Id','(':'Id','+':'Id','-':'Id',':':'Id','?':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
1308
|
+
GenericExpr:['cx',742],
|
|
1307
1309
|
},
|
|
1308
1310
|
'overClause',
|
|
1309
|
-
['m',
|
|
1310
|
-
{partition:['ck',
|
|
1311
|
-
['mk',
|
|
1312
|
-
[
|
|
1313
|
-
{order:['ck',
|
|
1314
|
-
['mk',
|
|
1315
|
-
[
|
|
1316
|
-
{rows:['ck',
|
|
1317
|
-
[
|
|
1311
|
+
['m',746,'('],
|
|
1312
|
+
{partition:['ck',747],'':749},
|
|
1313
|
+
['mk',748,'by'],
|
|
1314
|
+
[749,756],
|
|
1315
|
+
{order:['ck',750],'':752},
|
|
1316
|
+
['mk',751,'by'],
|
|
1317
|
+
[752,760],
|
|
1318
|
+
{rows:['ck',753],'':754},
|
|
1319
|
+
[754,769],
|
|
1318
1320
|
['m',0,')'],
|
|
1319
1321
|
'expressionsAsXpr',
|
|
1320
|
-
[
|
|
1321
|
-
{',':['c',
|
|
1322
|
-
[
|
|
1322
|
+
[757,655],
|
|
1323
|
+
{',':['c',758],'':0},
|
|
1324
|
+
[757,655],
|
|
1323
1325
|
'orderByClauseAsXpr',
|
|
1324
|
-
[
|
|
1325
|
-
{',':['c',
|
|
1326
|
-
[
|
|
1326
|
+
[761,764],
|
|
1327
|
+
{',':['c',762],'':0},
|
|
1328
|
+
[761,764],
|
|
1327
1329
|
'orderBySpecAsXpr',
|
|
1328
|
-
[
|
|
1329
|
-
{asc:['ck',
|
|
1330
|
-
{nulls:['ck',
|
|
1330
|
+
[765,655],
|
|
1331
|
+
{asc:['ck',766],desc:'asc','':766},
|
|
1332
|
+
{nulls:['ck',767],'':0},
|
|
1331
1333
|
{last:['ck',0],first:'last'},
|
|
1332
1334
|
'windowFrameClause',
|
|
1333
1335
|
{
|
|
1334
|
-
unbounded:['ck',
|
|
1335
|
-
Number:['c',
|
|
1336
|
-
current:['ck',
|
|
1337
|
-
between:['ck',
|
|
1336
|
+
unbounded:['ck',770],
|
|
1337
|
+
Number:['c',770],
|
|
1338
|
+
current:['ck',771],
|
|
1339
|
+
between:['ck',772],
|
|
1338
1340
|
},
|
|
1339
1341
|
['mk',0,'preceding'],
|
|
1340
1342
|
['mk',0,'row'],
|
|
1341
|
-
[
|
|
1342
|
-
['mk',
|
|
1343
|
-
[0,
|
|
1343
|
+
[773,776],
|
|
1344
|
+
['mk',774,'and'],
|
|
1345
|
+
[0,776],
|
|
1344
1346
|
'windowFrameBoundSpec',
|
|
1345
1347
|
{
|
|
1346
|
-
unbounded:['ck',
|
|
1347
|
-
Number:['c',
|
|
1348
|
-
current:['ck',
|
|
1348
|
+
unbounded:['ck',777],
|
|
1349
|
+
Number:['c',777],
|
|
1350
|
+
current:['ck',779],
|
|
1349
1351
|
},
|
|
1350
1352
|
{
|
|
1351
|
-
following:['ck',
|
|
1352
|
-
preceding:['ck',
|
|
1353
|
+
following:['ck',778],
|
|
1354
|
+
preceding:['ck',778],
|
|
1353
1355
|
},
|
|
1354
1356
|
['g',0],
|
|
1355
1357
|
['mk',0,'row'],
|
|
1356
1358
|
'literalValue',
|
|
1357
1359
|
{
|
|
1358
|
-
'#':['c',
|
|
1360
|
+
'#':['c',782],
|
|
1359
1361
|
null:['ck',0],
|
|
1360
1362
|
true:['ck',0],false:'true',
|
|
1361
1363
|
Number:['c',0],
|
|
@@ -1364,101 +1366,101 @@ QuotedLiteral:['c',0],
|
|
|
1364
1366
|
},
|
|
1365
1367
|
['my',0],
|
|
1366
1368
|
'annoAssignStd',
|
|
1367
|
-
['m',
|
|
1369
|
+
['m',785,'@',,,'annoInSameLine'],
|
|
1368
1370
|
{
|
|
1369
|
-
'(':[0,
|
|
1370
|
-
Id:[0,
|
|
1371
|
+
'(':[0,793],
|
|
1372
|
+
Id:[0,798],
|
|
1371
1373
|
},
|
|
1372
1374
|
'annoAssignCol',
|
|
1373
|
-
['m',
|
|
1375
|
+
['m',788,'@'],
|
|
1374
1376
|
{
|
|
1375
|
-
'(':[0,
|
|
1376
|
-
Id:[0,
|
|
1377
|
+
'(':[0,793],
|
|
1378
|
+
Id:[0,798],
|
|
1377
1379
|
},
|
|
1378
1380
|
'annoAssignMid',
|
|
1379
|
-
['m',
|
|
1381
|
+
['m',791,'@',,,'annoInSameLine'],
|
|
1380
1382
|
{
|
|
1381
|
-
'(':[0,
|
|
1382
|
-
Id:[0,
|
|
1383
|
+
'(':[0,793],
|
|
1384
|
+
Id:[0,802],
|
|
1383
1385
|
},
|
|
1384
1386
|
'annoAssignParen',
|
|
1385
|
-
['m',
|
|
1386
|
-
{Id:[
|
|
1387
|
+
['m',794,'(',,,'annoInSameLine'],
|
|
1388
|
+
{Id:[795,798],'':796},
|
|
1387
1389
|
{
|
|
1388
|
-
',':['c',
|
|
1389
|
-
')':
|
|
1390
|
+
',':['c',794],
|
|
1391
|
+
')':796,
|
|
1390
1392
|
},
|
|
1391
1393
|
['m',0,')'],
|
|
1392
1394
|
'annoAssignBase',
|
|
1393
|
-
[
|
|
1394
|
-
{':':['c',
|
|
1395
|
-
[0,
|
|
1395
|
+
[799,802],
|
|
1396
|
+
{':':['c',800,,'annoInSameLine'],'':0},
|
|
1397
|
+
[0,824],
|
|
1396
1398
|
'annoNamePath',
|
|
1397
|
-
['my',
|
|
1398
|
-
{'.':['c',
|
|
1399
|
+
['my',803],
|
|
1400
|
+
{'.':['c',804],'':806},
|
|
1399
1401
|
{
|
|
1400
|
-
Id:['cy',
|
|
1401
|
-
'@':['c',
|
|
1402
|
+
Id:['cy',803],
|
|
1403
|
+
'@':['c',805],
|
|
1402
1404
|
},
|
|
1403
|
-
['my',
|
|
1404
|
-
{'#':[0,
|
|
1405
|
+
['my',803],
|
|
1406
|
+
{'#':[0,815,,'annoInSameLine'],'':0},
|
|
1405
1407
|
'annoPath',
|
|
1406
1408
|
{
|
|
1407
|
-
Id:['cy',
|
|
1408
|
-
'@':['c',
|
|
1409
|
+
Id:['cy',810],
|
|
1410
|
+
'@':['c',809],
|
|
1409
1411
|
},
|
|
1410
|
-
['my',
|
|
1411
|
-
{'.':['c',
|
|
1412
|
+
['my',810],
|
|
1413
|
+
{'.':['c',811],'':813},
|
|
1412
1414
|
{
|
|
1413
|
-
Id:['cy',
|
|
1414
|
-
'@':['c',
|
|
1415
|
+
Id:['cy',810],
|
|
1416
|
+
'@':['c',812],
|
|
1415
1417
|
},
|
|
1416
|
-
['my',
|
|
1417
|
-
{'#':[0,
|
|
1418
|
+
['my',810],
|
|
1419
|
+
{'#':[0,815],'':0},
|
|
1418
1420
|
'annoPathVariant',
|
|
1419
|
-
['m',
|
|
1420
|
-
['my',
|
|
1421
|
-
{'.':['c',
|
|
1422
|
-
['my',
|
|
1421
|
+
['m',816,'#'],
|
|
1422
|
+
['my',817],
|
|
1423
|
+
{'.':['c',818],'':0},
|
|
1424
|
+
['my',817],
|
|
1423
1425
|
'annoStructValue',
|
|
1424
|
-
[
|
|
1425
|
-
{':':['c',
|
|
1426
|
-
[0,
|
|
1426
|
+
[821,808],
|
|
1427
|
+
{':':['c',822],'':0},
|
|
1428
|
+
[0,824],
|
|
1427
1429
|
'annoValue',
|
|
1428
1430
|
{
|
|
1429
|
-
'#':[0,
|
|
1430
|
-
'+':['c',
|
|
1431
|
-
Id:[0,
|
|
1432
|
-
'{':['c',
|
|
1433
|
-
'[':['c',
|
|
1434
|
-
'(':['c',
|
|
1431
|
+
'#':[0,781],null:'#',true:'#',false:'#',Number:'#',String:'#',QuotedLiteral:'#',
|
|
1432
|
+
'+':['c',825],'-':'+',
|
|
1433
|
+
Id:[0,808],'@':'Id',
|
|
1434
|
+
'{':['c',826],
|
|
1435
|
+
'[':['c',829,,,,'arrayAnno'],
|
|
1436
|
+
'(':['c',835],
|
|
1435
1437
|
},
|
|
1436
1438
|
['m',0,'Number'],
|
|
1437
|
-
{Id:[
|
|
1439
|
+
{Id:[827,820],'@':'Id','':828},
|
|
1438
1440
|
{
|
|
1439
|
-
',':['c',
|
|
1440
|
-
'}':
|
|
1441
|
-
Id:['g',
|
|
1441
|
+
',':['c',826],
|
|
1442
|
+
'}':828,
|
|
1443
|
+
Id:['g',826,,'fail'],'@':'Id',
|
|
1442
1444
|
},
|
|
1443
1445
|
{'}':['c',0,,'arrayAnno','orNotEmpty']},
|
|
1444
1446
|
{
|
|
1445
|
-
Id:[
|
|
1446
|
-
'...':['c',
|
|
1447
|
-
'':
|
|
1447
|
+
Id:[833,824],'#':'Id','(':'Id','+':'Id','-':'Id','@':'Id','[':'Id','{':'Id',Number:'Id',String:'Id',QuotedLiteral:'Id',
|
|
1448
|
+
'...':['c',830,,'arrayAnno','ellipsis'],
|
|
1449
|
+
'':834
|
|
1448
1450
|
},
|
|
1449
1451
|
{
|
|
1450
|
-
up:['ck',
|
|
1451
|
-
',':
|
|
1452
|
+
up:['ck',831],
|
|
1453
|
+
',':833,']':',',
|
|
1452
1454
|
},
|
|
1453
|
-
['mk',
|
|
1454
|
-
[
|
|
1455
|
+
['mk',832,'to'],
|
|
1456
|
+
[833,824],
|
|
1455
1457
|
{
|
|
1456
|
-
',':['c',
|
|
1457
|
-
']':
|
|
1458
|
+
',':['c',829],
|
|
1459
|
+
']':834,
|
|
1458
1460
|
},
|
|
1459
1461
|
{']':['c',0,,'arrayAnno','bracket']},
|
|
1460
|
-
{')':['c',0,,'fail'],'':
|
|
1461
|
-
[
|
|
1462
|
+
{')':['c',0,,'fail'],'':836},
|
|
1463
|
+
[837,653],
|
|
1462
1464
|
['m',0,')'],
|
|
1463
1465
|
]
|
|
1464
1466
|
class CdlParser extends AstBuildingParser{
|
|
@@ -3254,8 +3256,8 @@ for(;;)switch(this.s){
|
|
|
3254
3256
|
case 470:if(this.mk(471,'select')){ $.query = { op: this.valueWithLocation( 'SELECT' ) }; }continue
|
|
3255
3257
|
case 471:switch(this.l()){
|
|
3256
3258
|
case'from':this.ck(472);continue
|
|
3257
|
-
case'Id':case'#':case'(':case'*':case'+':case'-':case':':case'?':case'@':case'{':case'key':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':this.s=
|
|
3258
|
-
case'
|
|
3259
|
+
case'Id':case'#':case'(':case'*':case'+':case'-':case':':case'?':case'@':case'{':case'all':case'key':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'distinct':case'QuotedLiteral':this.s=483;continue
|
|
3260
|
+
case'one':if(this.ck(483)){ this.csnParseOnly( 'syntax-unexpected-sql-clause', -1, { '#': 'one', code: 'select one' } ); $.query.one = this.valueWithLocation( true ); }continue
|
|
3259
3261
|
default:this.e();continue
|
|
3260
3262
|
}
|
|
3261
3263
|
case 472:this.querySource({query:$.query},473);continue
|
|
@@ -3280,32 +3282,40 @@ case 479:switch(this.lk()){
|
|
|
3280
3282
|
case'all':case'distinct':if(this.ck(480)){ $.query.quantifier = this.valueWithLocation(); }continue
|
|
3281
3283
|
default:this.s=480;continue
|
|
3282
3284
|
}
|
|
3283
|
-
case 480:switch(this.
|
|
3284
|
-
case'
|
|
3285
|
+
case 480:switch(this.lk()){
|
|
3286
|
+
case'one':if(this.ck(481)){ this.csnParseOnly( 'syntax-unexpected-sql-clause', -1, { '#': 'one', code: 'select one' } ); $.query.one = this.valueWithLocation( true ); }continue
|
|
3285
3287
|
default:this.s=481;continue
|
|
3286
3288
|
}
|
|
3287
|
-
case 481:switch(this.
|
|
3288
|
-
case'
|
|
3289
|
-
default:this.s=
|
|
3289
|
+
case 481:switch(this.lt()){
|
|
3290
|
+
case'{':this.selectItemsList({query:$.query,start:undefined},482);continue
|
|
3291
|
+
default:this.s=482;continue
|
|
3290
3292
|
}
|
|
3291
|
-
case 482:this.
|
|
3292
|
-
case
|
|
3293
|
-
|
|
3294
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:($.query.columns = []),sqlStyle:true},484);continue
|
|
3295
|
-
default:this.e();continue
|
|
3293
|
+
case 482:switch(this.lk()){
|
|
3294
|
+
case'excluding':this.excludingClause({query:$.query},490);continue
|
|
3295
|
+
default:this.s=490;continue
|
|
3296
3296
|
}
|
|
3297
|
-
case
|
|
3298
|
-
case'
|
|
3299
|
-
default:this.s=
|
|
3297
|
+
case 483:switch(this.l()){
|
|
3298
|
+
case'all':case'distinct':if(this.ck(484)){ $.query.quantifier = this.valueWithLocation(); }continue
|
|
3299
|
+
default:this.s=484;continue
|
|
3300
3300
|
}
|
|
3301
|
+
case 484:this.s=485;{this.inSelectItem('sqlStyle')}continue;
|
|
3301
3302
|
case 485:switch(this.lt()){
|
|
3302
|
-
case'*':if(this.c(
|
|
3303
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns
|
|
3303
|
+
case'*':if(this.c(486)){ $.query.columns = [ this.valueWithLocation() ]; }continue
|
|
3304
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:($.query.columns = []),sqlStyle:true},486);continue
|
|
3304
3305
|
default:this.e();continue
|
|
3305
3306
|
}
|
|
3306
|
-
case 486:this.
|
|
3307
|
-
case
|
|
3308
|
-
|
|
3307
|
+
case 486:switch(this.lt()){
|
|
3308
|
+
case',':this.c(487);continue
|
|
3309
|
+
default:this.s=488;continue
|
|
3310
|
+
}
|
|
3311
|
+
case 487:switch(this.lt()){
|
|
3312
|
+
case'*':if(this.c(486)){ $.query.columns.push( this.valueWithLocation() ); }continue
|
|
3313
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:$.query.columns,sqlStyle:true},486);continue
|
|
3314
|
+
default:this.e();continue
|
|
3315
|
+
}
|
|
3316
|
+
case 488:this.mk(489,'from');continue
|
|
3317
|
+
case 489:this.querySource({query:$.query},490);continue
|
|
3318
|
+
case 490:switch(this.lk()){
|
|
3309
3319
|
case'group':case'where':case'having':this.whereGroupByHaving({query:$.query},0);continue
|
|
3310
3320
|
default:this.gr(['limit','minus','order','union','except','intersect']);continue
|
|
3311
3321
|
}
|
|
@@ -3316,19 +3326,19 @@ return this.exit_()
|
|
|
3316
3326
|
}
|
|
3317
3327
|
querySource($,$next){
|
|
3318
3328
|
let tab;let _
|
|
3319
|
-
this.rule_(
|
|
3329
|
+
this.rule_(492,$next)
|
|
3320
3330
|
for(;;)switch(this.s){
|
|
3321
|
-
case
|
|
3322
|
-
case
|
|
3323
|
-
case',':this.s=
|
|
3331
|
+
case 492:if(this.tableExpression(_={},493)){tab=_.expr; $.query.from = tab; }continue
|
|
3332
|
+
case 493:switch(this.lt()){
|
|
3333
|
+
case',':this.s=494;{ const { location } = this.la();
|
|
3324
3334
|
$.query.from = { op: { val: 'join', location }, join: { val: 'cross', location }, args: [tab] }; }continue
|
|
3325
3335
|
default:this.gr(['group','limit','minus','order','union','where','except','having','intersect']);continue
|
|
3326
3336
|
}
|
|
3327
|
-
case
|
|
3328
|
-
case',':this.c(
|
|
3337
|
+
case 494:switch(this.lt()){
|
|
3338
|
+
case',':this.c(495);continue
|
|
3329
3339
|
default:this.gr(['group','limit','minus','order','union','where','except','having','intersect']);continue
|
|
3330
3340
|
}
|
|
3331
|
-
case
|
|
3341
|
+
case 495:if(this.tableExpression(_={},494)){tab=_.expr; $.query.from.args.push( tab ); }continue
|
|
3332
3342
|
default:
|
|
3333
3343
|
this.attachLocation($.query.from)
|
|
3334
3344
|
return this.exit_()
|
|
@@ -3337,90 +3347,90 @@ return this.exit_()
|
|
|
3337
3347
|
tableExpression($,$next,$startState){
|
|
3338
3348
|
$.expr??={}
|
|
3339
3349
|
let join;let tab;let card;let cond;let _
|
|
3340
|
-
this.rule_($startState??
|
|
3350
|
+
this.rule_($startState??497,$next)
|
|
3341
3351
|
for(;;)switch(this.s){
|
|
3342
|
-
case
|
|
3343
|
-
case'(':if(this.tableOrQueryParens($,
|
|
3344
|
-
case'Id':this.fromRefWithOptAlias($,
|
|
3352
|
+
case 497:switch(this.lt()){
|
|
3353
|
+
case'(':if(this.tableOrQueryParens($,498)){ $.expr = this.taggedIfQuery( $.expr ); }continue
|
|
3354
|
+
case'Id':this.fromRefWithOptAlias($,498);continue
|
|
3345
3355
|
default:this.e();continue
|
|
3346
3356
|
}
|
|
3347
|
-
case
|
|
3348
|
-
case'cross':if(this.ck(
|
|
3349
|
-
case'inner':if(this.ck(
|
|
3350
|
-
case'full':case'left':case'right':if(this.ck(
|
|
3351
|
-
case'join':if(this.ck(
|
|
3357
|
+
case 498:switch(this.lk()){
|
|
3358
|
+
case'cross':if(this.ck(499))join=this.lb();continue
|
|
3359
|
+
case'inner':if(this.ck(502))join=this.lb();continue
|
|
3360
|
+
case'full':case'left':case'right':if(this.ck(501))join=this.lb();continue
|
|
3361
|
+
case'join':if(this.ck(504)){ join = undefined; }continue
|
|
3352
3362
|
default:this.gr();continue
|
|
3353
3363
|
}
|
|
3354
|
-
case
|
|
3355
|
-
case
|
|
3356
|
-
case'(':if(this.tableOrQueryParens(_={},
|
|
3364
|
+
case 499:if(this.mk(500,'join')){ if ($.expr?.join?.val !== 'cross' || $.expr.$parens) $.expr = { op: this.valueWithLocation(), join: this.valueWithLocation( undefined, join ), args: [ $.expr ] }; }continue
|
|
3365
|
+
case 500:switch(this.lt()){
|
|
3366
|
+
case'(':if(this.tableOrQueryParens(_={},498)){tab=_.expr; const r = this.taggedIfQuery( tab ); if (r) $.expr.args.push( r );
|
|
3357
3367
|
this.attachLocation( $.expr ); }continue
|
|
3358
|
-
case'Id':if(this.fromRefWithOptAlias(_={},
|
|
3368
|
+
case'Id':if(this.fromRefWithOptAlias(_={},498)){tab=_.expr; if (tab) $.expr.args.push( tab );
|
|
3359
3369
|
this.attachLocation( $.expr ); }continue
|
|
3360
3370
|
default:this.e();continue
|
|
3361
3371
|
}
|
|
3362
|
-
case
|
|
3363
|
-
case'outer':this.ck(
|
|
3364
|
-
default:this.s=
|
|
3372
|
+
case 501:switch(this.lk()){
|
|
3373
|
+
case'outer':this.ck(502);continue
|
|
3374
|
+
default:this.s=502;continue
|
|
3365
3375
|
}
|
|
3366
|
-
case
|
|
3367
|
-
case'one':case'many':case'exact':this.joinCardinality(card={},
|
|
3368
|
-
default:this.s=
|
|
3376
|
+
case 502:switch(this.lk()){
|
|
3377
|
+
case'one':case'many':case'exact':this.joinCardinality(card={},503);continue
|
|
3378
|
+
default:this.s=503;continue
|
|
3369
3379
|
}
|
|
3370
|
-
case
|
|
3371
|
-
case
|
|
3372
|
-
case
|
|
3373
|
-
case
|
|
3374
|
-
case
|
|
3380
|
+
case 503:this.mk(504,'join');continue
|
|
3381
|
+
case 504:this.s=505;{ $.expr = { op: this.valueWithLocation(), join: this.valueWithLocation( join?.keyword || 'inner', join ), args: [ $.expr ] }; if (card) $.expr.cardinality = card; card = undefined; }continue
|
|
3382
|
+
case 505:if(this.tableExpression(_={},506)){tab=_.expr; $.expr.args.push( tab ); this.attachLocation( $.expr ); }continue
|
|
3383
|
+
case 506:this.mk(507,'on');continue
|
|
3384
|
+
case 507:if(this.condition(_={},498)){cond=_.expr; $.expr.on = cond;
|
|
3375
3385
|
this.attachLocation( $.expr ); }continue
|
|
3376
3386
|
default:return this.exit_()
|
|
3377
3387
|
}
|
|
3378
3388
|
}
|
|
3379
3389
|
tableOrQueryParens($,$next){
|
|
3380
3390
|
$.expr??=undefined
|
|
3381
|
-
this.rule_(
|
|
3391
|
+
this.rule_(509,$next)
|
|
3382
3392
|
for(;;)switch(this.s){
|
|
3383
|
-
case
|
|
3384
|
-
case
|
|
3385
|
-
case'(':this.tableOrQueryParens($,
|
|
3386
|
-
case'Id':if(this.tableExpression($,
|
|
3387
|
-
case'select':this.queryExpression($,
|
|
3393
|
+
case 509:if(this.m(510,'(')){this.queryOnLeft()}continue;
|
|
3394
|
+
case 510:switch(this.l()){
|
|
3395
|
+
case'(':this.tableOrQueryParens($,511);continue
|
|
3396
|
+
case'Id':if(this.tableExpression($,512)){this.queryOnLeft('table')}continue;
|
|
3397
|
+
case'select':this.queryExpression($,512);continue
|
|
3388
3398
|
default:this.e();continue
|
|
3389
3399
|
}
|
|
3390
|
-
case 509:switch(this.l()){
|
|
3391
|
-
case'full':case'join':case'left':case'cross':case'inner':case'right':if(this.tableExpression(( $.expr = this.taggedIfQuery( $.expr ), $ ),510,496)){this.queryOnLeft('table')}continue;
|
|
3392
|
-
case'limit':case'minus':case'order':case'union':case'except':case'intersect':this.queryExpression($,510,464);continue
|
|
3393
|
-
default:this.s=510;continue
|
|
3394
|
-
}
|
|
3395
|
-
case 510:if(this.m(511,')')){ this.surroundByParens( $.expr ); }continue
|
|
3396
3400
|
case 511:switch(this.l()){
|
|
3397
|
-
case'
|
|
3401
|
+
case'full':case'join':case'left':case'cross':case'inner':case'right':if(this.tableExpression(( $.expr = this.taggedIfQuery( $.expr ), $ ),512,498)){this.queryOnLeft('table')}continue;
|
|
3402
|
+
case'limit':case'minus':case'order':case'union':case'except':case'intersect':this.queryExpression($,512,464);continue
|
|
3403
|
+
default:this.s=512;continue
|
|
3404
|
+
}
|
|
3405
|
+
case 512:if(this.m(513,')')){ this.surroundByParens( $.expr ); }continue
|
|
3406
|
+
case 513:switch(this.l()){
|
|
3407
|
+
case'as':this.ck(514);continue
|
|
3398
3408
|
case'Id':if(this.ci(0,'FromAlias')){ $.expr = this.taggedIfQuery( $.expr ); $.expr.name = this.fragileAlias(); }continue
|
|
3399
3409
|
default:this.gr(['full','join','left','cross','inner','right']);continue
|
|
3400
3410
|
}
|
|
3401
|
-
case
|
|
3411
|
+
case 514:if(this.mi(0,'FromAlias')){ $.expr = this.taggedIfQuery( $.expr ); $.expr.name = this.identAst(); }continue
|
|
3402
3412
|
default:return this.exit_()
|
|
3403
3413
|
}
|
|
3404
3414
|
}
|
|
3405
3415
|
joinCardinality($,$next){
|
|
3406
3416
|
$.sourceMax??=undefined;$.targetMax??=undefined
|
|
3407
|
-
this.rule_(
|
|
3417
|
+
this.rule_(516,$next)
|
|
3408
3418
|
for(;;)switch(this.s){
|
|
3409
|
-
case
|
|
3410
|
-
case'one':this.s=
|
|
3411
|
-
case'exact':if(this.ck(
|
|
3412
|
-
case'many':if(this.ck(
|
|
3419
|
+
case 516:switch(this.lk()){
|
|
3420
|
+
case'one':this.s=517;continue
|
|
3421
|
+
case'exact':if(this.ck(517)){ $.sourceMin = this.valueWithLocation( 1 ); }continue
|
|
3422
|
+
case'many':if(this.ck(518)){ $.sourceMax = this.valueWithLocation( '*' ); }continue
|
|
3413
3423
|
default:this.e();continue
|
|
3414
3424
|
}
|
|
3415
|
-
case
|
|
3416
|
-
case
|
|
3417
|
-
case
|
|
3418
|
-
case'one':this.s=
|
|
3419
|
-
case'exact':if(this.ck(
|
|
3425
|
+
case 517:if(this.mk(518,'one')){ $.sourceMax = this.valueWithLocation( 1 ); }continue
|
|
3426
|
+
case 518:this.mk(519,'to');continue
|
|
3427
|
+
case 519:switch(this.lk()){
|
|
3428
|
+
case'one':this.s=520;continue
|
|
3429
|
+
case'exact':if(this.ck(520)){ $.targetMin = this.valueWithLocation( 1 ); }continue
|
|
3420
3430
|
case'many':if(this.ck(0)){ $.targetMax = this.valueWithLocation( '*' ); }continue
|
|
3421
3431
|
default:this.e();continue
|
|
3422
3432
|
}
|
|
3423
|
-
case
|
|
3433
|
+
case 520:if(this.mk(0,'one')){ $.targetMax = this.valueWithLocation( 1 ); }continue
|
|
3424
3434
|
default:
|
|
3425
3435
|
this.attachLocation( $ )
|
|
3426
3436
|
return this.exit_()
|
|
@@ -3428,25 +3438,25 @@ return this.exit_()
|
|
|
3428
3438
|
}
|
|
3429
3439
|
fromRefWithOptAlias($,$next){
|
|
3430
3440
|
$.expr??={}
|
|
3431
|
-
this.rule_(
|
|
3441
|
+
this.rule_(522,$next)
|
|
3432
3442
|
{ $.expr.path = []; }
|
|
3433
3443
|
for(;;)switch(this.s){
|
|
3434
|
-
case
|
|
3435
|
-
case
|
|
3436
|
-
case':':if(this.c(
|
|
3444
|
+
case 522:this.fromPath({table:$.expr,category:'artref'},523);continue
|
|
3445
|
+
case 523:switch(this.lt()){
|
|
3446
|
+
case':':if(this.c(524)){ if (!$.expr.scope) $.expr.scope = $.expr.path.length; else {
|
|
3437
3447
|
this.warning( 'syntax-invalid-path-separator', this.lb(),
|
|
3438
3448
|
{ '#': 'colon', code: ':', newcode: '.' } );
|
|
3439
3449
|
} }continue
|
|
3440
|
-
default:this.s=
|
|
3450
|
+
default:this.s=525;continue
|
|
3441
3451
|
}
|
|
3442
|
-
case
|
|
3443
|
-
case
|
|
3444
|
-
case'as':this.ck(
|
|
3452
|
+
case 524:this.fromPath({table:$.expr,category:'ref'},525);continue
|
|
3453
|
+
case 525:switch(this.l()){
|
|
3454
|
+
case'as':this.ck(526);continue
|
|
3445
3455
|
case'Id':if(this.ci(0,'FromAlias')){ $.expr.name = this.fragileAlias(); }continue
|
|
3446
|
-
default:this.s=
|
|
3456
|
+
default:this.s=527;continue
|
|
3447
3457
|
}
|
|
3448
|
-
case
|
|
3449
|
-
case
|
|
3458
|
+
case 526:if(this.mi(0,'FromAlias')){ $.expr.name = this.identAst(); }continue
|
|
3459
|
+
case 527:if(this.gr()){ this.classifyImplicitName( $.expr.scope ? 'FromElemImplicit' : 'FromImplicit', $.expr ); }continue
|
|
3450
3460
|
default:
|
|
3451
3461
|
this.attachLocation( $.expr )
|
|
3452
3462
|
return this.exit_()
|
|
@@ -3454,25 +3464,25 @@ return this.exit_()
|
|
|
3454
3464
|
}
|
|
3455
3465
|
fromPath($,$next){
|
|
3456
3466
|
let pathItem
|
|
3457
|
-
this.rule_(
|
|
3467
|
+
this.rule_(529,$next)
|
|
3458
3468
|
for(;;)switch(this.s){
|
|
3459
|
-
case
|
|
3460
|
-
case
|
|
3461
|
-
case'(':case'[':if(this.fromArgumentsAndFilter({pathStep:pathItem},
|
|
3462
|
-
default:this.s=
|
|
3469
|
+
case 529:if(this.mi(530,$.category)){ $.table.path.push( pathItem = this.identAst() ); }continue
|
|
3470
|
+
case 530:switch(this.lt()){
|
|
3471
|
+
case'(':case'[':if(this.fromArgumentsAndFilter({pathStep:pathItem},531)){ pathItem = null; }continue
|
|
3472
|
+
default:this.s=531;continue
|
|
3463
3473
|
}
|
|
3464
|
-
case
|
|
3465
|
-
case'.':if(this.c(
|
|
3474
|
+
case 531:switch(this.l()){
|
|
3475
|
+
case'.':if(this.c(532)){ if (!pathItem && !$.table.scope) {
|
|
3466
3476
|
$.table.scope = $.table.path.length; $.category = 'ref';
|
|
3467
3477
|
this.warning( 'syntax-invalid-path-separator', this.lb(),
|
|
3468
3478
|
{ '#': 'dot', code: '.', newcode: ':' } );
|
|
3469
3479
|
} }continue
|
|
3470
3480
|
default:this.gr(['Id','as']);continue
|
|
3471
3481
|
}
|
|
3472
|
-
case
|
|
3473
|
-
case
|
|
3474
|
-
case'(':case'[':if(this.fromArgumentsAndFilter({pathStep:pathItem},
|
|
3475
|
-
default:this.s=
|
|
3482
|
+
case 532:if(this.my(533,$.category)){ $.table.path.push( pathItem = this.identAst() ); }continue
|
|
3483
|
+
case 533:switch(this.lt()){
|
|
3484
|
+
case'(':case'[':if(this.fromArgumentsAndFilter({pathStep:pathItem},531)){ pathItem = null; }continue
|
|
3485
|
+
default:this.s=531;continue
|
|
3476
3486
|
}
|
|
3477
3487
|
default:
|
|
3478
3488
|
this.attachLocation( $.table.path )
|
|
@@ -3480,27 +3490,27 @@ return this.exit_()
|
|
|
3480
3490
|
}
|
|
3481
3491
|
}
|
|
3482
3492
|
fromArgumentsAndFilter($,$next){
|
|
3483
|
-
this.rule_(
|
|
3493
|
+
this.rule_(535,$next)
|
|
3484
3494
|
for(;;)switch(this.s){
|
|
3485
|
-
case
|
|
3486
|
-
case'(':if(this.c(
|
|
3487
|
-
default:this.s=
|
|
3495
|
+
case 535:switch(this.lt()){
|
|
3496
|
+
case'(':if(this.c(536)){ $.pathStep.args = this.createDict(); $.pathStep.$syntax = ':'; }continue
|
|
3497
|
+
default:this.s=540;continue
|
|
3488
3498
|
}
|
|
3489
|
-
case
|
|
3490
|
-
case'Id':this.s=
|
|
3499
|
+
case 536:switch(this.l()){
|
|
3500
|
+
case'Id':this.s=537;continue
|
|
3491
3501
|
default:this.e();continue
|
|
3492
3502
|
}
|
|
3493
|
-
case
|
|
3494
|
-
case'Id':this.fromNamedArgument($,
|
|
3495
|
-
default:this.s=
|
|
3503
|
+
case 537:switch(this.lt()){
|
|
3504
|
+
case'Id':this.fromNamedArgument($,538);continue
|
|
3505
|
+
default:this.s=539;continue
|
|
3496
3506
|
}
|
|
3497
|
-
case
|
|
3498
|
-
case',':this.c(
|
|
3499
|
-
case')':this.s=
|
|
3507
|
+
case 538:switch(this.lt()){
|
|
3508
|
+
case',':this.c(537);continue
|
|
3509
|
+
case')':this.s=539;continue
|
|
3500
3510
|
default:this.e();continue
|
|
3501
3511
|
}
|
|
3502
|
-
case
|
|
3503
|
-
case
|
|
3512
|
+
case 539:this.m(540,')');continue
|
|
3513
|
+
case 540:switch(this.lt()){
|
|
3504
3514
|
case'[':this.cardinalityAndFilter($,0);continue
|
|
3505
3515
|
default:this.gr(['Id','.','as']);continue
|
|
3506
3516
|
}
|
|
@@ -3509,229 +3519,229 @@ default:return this.exit_()
|
|
|
3509
3519
|
}
|
|
3510
3520
|
fromNamedArgument($,$next){
|
|
3511
3521
|
let name;let expr;let _
|
|
3512
|
-
this.rule_(
|
|
3522
|
+
this.rule_(542,$next)
|
|
3513
3523
|
for(;;)switch(this.s){
|
|
3514
|
-
case
|
|
3515
|
-
case
|
|
3516
|
-
case
|
|
3524
|
+
case 542:if(this.mi(543,'paramname'))name=this.lb();continue
|
|
3525
|
+
case 543:this.m(544,':');continue
|
|
3526
|
+
case 544:if(this.expression(_={},0)){expr=_.expr; this.addDef( expr, $.pathStep, 'args', 0, this.identAst( name ) ); }continue
|
|
3517
3527
|
default:return this.exit_()
|
|
3518
3528
|
}
|
|
3519
3529
|
}
|
|
3520
3530
|
cardinalityAndFilter($,$next){
|
|
3521
3531
|
let cond;let _
|
|
3522
|
-
this.rule_(
|
|
3532
|
+
this.rule_(546,$next)
|
|
3523
3533
|
for(;;)switch(this.s){
|
|
3524
|
-
case
|
|
3525
|
-
case 545:switch(this.l()){
|
|
3526
|
-
case'Number':if(this.c(546)){ $.pathStep.cardinality = { targetMax: this.unsignedIntegerLiteral(), location: this.lb().location }; }continue
|
|
3527
|
-
default:this.s=547;continue
|
|
3528
|
-
}
|
|
3529
|
-
case 546:this.m(547,':');continue
|
|
3534
|
+
case 546:this.m(547,'[');continue
|
|
3530
3535
|
case 547:switch(this.l()){
|
|
3531
|
-
case'
|
|
3532
|
-
|
|
3533
|
-
case']':if(this.c(0)){ $.pathStep.where ??= { args: [] }; }continue
|
|
3534
|
-
default:this.s=548;continue
|
|
3536
|
+
case'Number':if(this.c(548)){ $.pathStep.cardinality = { targetMax: this.unsignedIntegerLiteral(), location: this.lb().location }; }continue
|
|
3537
|
+
default:this.s=549;continue
|
|
3535
3538
|
}
|
|
3536
|
-
case 548:
|
|
3537
|
-
case 549:switch(this.
|
|
3538
|
-
case'group':
|
|
3539
|
-
|
|
3539
|
+
case 548:this.m(549,':');continue
|
|
3540
|
+
case 549:switch(this.l()){
|
|
3541
|
+
case'group':case'limit':case'order':case'having':this.s=551;continue
|
|
3542
|
+
case'where':this.ck(550);continue
|
|
3543
|
+
case']':if(this.c(0)){ $.pathStep.where ??= { args: [] }; }continue
|
|
3544
|
+
default:this.s=550;continue
|
|
3540
3545
|
}
|
|
3541
|
-
case 550:this.
|
|
3546
|
+
case 550:if(this.condition(_={},551)){cond=_.expr; $.pathStep.where = cond; }continue
|
|
3542
3547
|
case 551:switch(this.lk()){
|
|
3543
|
-
case'
|
|
3548
|
+
case'group':this.s=552;{ this.csnParseOnly('syntax-unexpected-sql-clause', 1, { keyword: 'group by' }); }continue
|
|
3544
3549
|
default:this.s=553;continue
|
|
3545
3550
|
}
|
|
3546
|
-
case 552:
|
|
3547
|
-
case 553:switch(this.
|
|
3548
|
-
case'
|
|
3551
|
+
case 552:this.groupByClause({query:$.pathStep},553);continue
|
|
3552
|
+
case 553:switch(this.lk()){
|
|
3553
|
+
case'having':if(this.ck(554)){ this.csnParseOnly('syntax-unexpected-sql-clause', -1, { keyword: 'having' }); }continue
|
|
3549
3554
|
default:this.s=555;continue
|
|
3550
3555
|
}
|
|
3551
|
-
case 554:this.
|
|
3552
|
-
case 555:this.
|
|
3556
|
+
case 554:if(this.condition(_={},555)){cond=_.expr; $.pathStep.having = cond; }continue
|
|
3557
|
+
case 555:switch(this.lt()){
|
|
3558
|
+
case'Id':this.s=556;{ if (this.la().keyword === 'limit') this.csnParseOnly('syntax-unexpected-sql-clause', 0, { keyword: 'limit' } ); else this.csnParseOnly('syntax-unexpected-sql-clause', 1, { keyword: 'order by' } ); }continue
|
|
3559
|
+
default:this.s=557;continue
|
|
3560
|
+
}
|
|
3561
|
+
case 556:this.orderByLimitOffset({query:$.pathStep},557);continue
|
|
3562
|
+
case 557:this.m(0,']');continue
|
|
3553
3563
|
default:return this.exit_()
|
|
3554
3564
|
}
|
|
3555
3565
|
}
|
|
3556
3566
|
excludingClause($,$next){
|
|
3557
|
-
this.rule_(
|
|
3567
|
+
this.rule_(559,$next)
|
|
3558
3568
|
for(;;)switch(this.s){
|
|
3559
|
-
case
|
|
3560
|
-
case
|
|
3561
|
-
case
|
|
3562
|
-
case'Id':this.s=
|
|
3569
|
+
case 559:if(this.mk(560,'excluding')){ $.query.excludingDict = this.createDict(); }continue
|
|
3570
|
+
case 560:this.m(561,'{');continue
|
|
3571
|
+
case 561:switch(this.lt()){
|
|
3572
|
+
case'Id':this.s=562;continue
|
|
3563
3573
|
default:this.e();continue
|
|
3564
3574
|
}
|
|
3565
|
-
case
|
|
3566
|
-
case'Id':if(this.cy(
|
|
3567
|
-
default:this.s=
|
|
3575
|
+
case 562:switch(this.lt()){
|
|
3576
|
+
case'Id':if(this.cy(563,'ref')){ this.addDef( { location: this.lb().location }, $.query, 'excludingDict', '', this.identAst() ); }continue
|
|
3577
|
+
default:this.s=564;continue
|
|
3568
3578
|
}
|
|
3569
|
-
case
|
|
3570
|
-
case',':this.c(
|
|
3571
|
-
case'}':this.s=
|
|
3579
|
+
case 563:switch(this.lt()){
|
|
3580
|
+
case',':this.c(562);continue
|
|
3581
|
+
case'}':this.s=564;continue
|
|
3572
3582
|
default:this.e();continue
|
|
3573
3583
|
}
|
|
3574
|
-
case
|
|
3584
|
+
case 564:if(this.m(0,'}')){this.afterBrace(); this.finalizeDictOrArray( $.query.excludingDict ); }continue
|
|
3575
3585
|
default:return this.exit_()
|
|
3576
3586
|
}
|
|
3577
3587
|
}
|
|
3578
3588
|
selectItemsList($,$next){
|
|
3579
|
-
this.rule_(
|
|
3589
|
+
this.rule_(566,$next)
|
|
3580
3590
|
for(;;)switch(this.s){
|
|
3581
|
-
case
|
|
3582
|
-
case
|
|
3583
|
-
case'*':if(this.c(
|
|
3584
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:$.query.columns,sqlStyle:false},
|
|
3585
|
-
default:this.s=
|
|
3586
|
-
}
|
|
3587
|
-
case
|
|
3588
|
-
case',':this.c(
|
|
3589
|
-
case'}':this.s=
|
|
3591
|
+
case 566:if(this.m(567,'{')){this.inSelectItem('top'); $.query.columns = this.createArray( $.start ); }continue
|
|
3592
|
+
case 567:switch(this.lt()){
|
|
3593
|
+
case'*':if(this.c(568)){ $.query.columns.push( this.valueWithLocation() ); }continue
|
|
3594
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:$.query.columns,sqlStyle:false},568);continue
|
|
3595
|
+
default:this.s=569;continue
|
|
3596
|
+
}
|
|
3597
|
+
case 568:switch(this.lt()){
|
|
3598
|
+
case',':this.c(567);continue
|
|
3599
|
+
case'}':this.s=569;continue
|
|
3590
3600
|
default:this.e();continue
|
|
3591
3601
|
}
|
|
3592
|
-
case
|
|
3602
|
+
case 569:if(this.m(0,'}')){this.afterBrace(); this.finalizeDictOrArray( $.query.columns ); }continue
|
|
3593
3603
|
default:return this.exit_()
|
|
3594
3604
|
}
|
|
3595
3605
|
}
|
|
3596
3606
|
nestedSelectItemsList($,$next){
|
|
3597
|
-
this.rule_(
|
|
3607
|
+
this.rule_(571,$next)
|
|
3598
3608
|
for(;;)switch(this.s){
|
|
3599
|
-
case
|
|
3600
|
-
case
|
|
3601
|
-
case'*':if(this.c(
|
|
3602
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:$.query[$.clause],sqlStyle:false},
|
|
3603
|
-
default:this.s=
|
|
3604
|
-
}
|
|
3605
|
-
case
|
|
3606
|
-
case',':this.c(
|
|
3607
|
-
case'}':this.s=
|
|
3609
|
+
case 571:if(this.m(572,'{')){this.inSelectItem(); $.query[$.clause] = this.createArray(); }continue
|
|
3610
|
+
case 572:switch(this.lt()){
|
|
3611
|
+
case'*':if(this.c(573)){ $.query[$.clause].push( this.valueWithLocation() ); }continue
|
|
3612
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'@':case'{':case'Number':case'String':case'QuotedLiteral':this.selectItemDef({columns:$.query[$.clause],sqlStyle:false},573);continue
|
|
3613
|
+
default:this.s=574;continue
|
|
3614
|
+
}
|
|
3615
|
+
case 573:switch(this.lt()){
|
|
3616
|
+
case',':this.c(572);continue
|
|
3617
|
+
case'}':this.s=574;continue
|
|
3608
3618
|
default:this.e();continue
|
|
3609
3619
|
}
|
|
3610
|
-
case
|
|
3620
|
+
case 574:if(this.m(0,'}')){this.afterBrace(); this.finalizeDictOrArray( $.query[$.clause] ); }continue
|
|
3611
3621
|
default:return this.exit_()
|
|
3612
3622
|
}
|
|
3613
3623
|
}
|
|
3614
3624
|
selectItemDef($,$next){
|
|
3615
3625
|
let art=new XsnArtifact()
|
|
3616
3626
|
let expr;let e;let target;let cond;let assoc;let card;let _
|
|
3617
|
-
this.rule_(
|
|
3627
|
+
this.rule_(576,$next)
|
|
3618
3628
|
{ $.columns.push( art );
|
|
3619
3629
|
this.docComment( art ); }
|
|
3620
3630
|
for(;;)switch(this.s){
|
|
3621
|
-
case
|
|
3622
|
-
case'@':this.annoAssignCol({art},
|
|
3623
|
-
default:this.s=
|
|
3624
|
-
}
|
|
3625
|
-
case 575:switch(this.l()){
|
|
3626
|
-
case'virtual':if(this.ck(576)){ art.virtual = this.valueWithLocation( true ); }continue
|
|
3627
|
-
default:this.s=576;continue
|
|
3631
|
+
case 576:switch(this.lt()){
|
|
3632
|
+
case'@':this.annoAssignCol({art},576);continue
|
|
3633
|
+
default:this.s=577;continue
|
|
3628
3634
|
}
|
|
3629
|
-
case 576:this.s=577;{this.columnExpr('key')}continue;
|
|
3630
3635
|
case 577:switch(this.l()){
|
|
3631
|
-
case'
|
|
3636
|
+
case'virtual':if(this.ck(578)){ art.virtual = this.valueWithLocation( true ); }continue
|
|
3632
3637
|
default:this.s=578;continue
|
|
3633
3638
|
}
|
|
3634
|
-
case 578:
|
|
3635
|
-
case'#':case'(':case'+':case'-':case':':case'?':case'new':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression(_={},579)){expr=_.expr; art.value = expr; }continue
|
|
3636
|
-
case'Id':if(this.valuePath(_={},581)){expr=_.expr; expr = this.valuePathAst( expr ); art.value = expr; }continue
|
|
3637
|
-
case'{':this.nestedSelectItemsList({query:art,clause:'expand'},592);continue
|
|
3638
|
-
default:this.e();continue
|
|
3639
|
-
}
|
|
3639
|
+
case 578:this.s=579;{this.columnExpr('key')}continue;
|
|
3640
3640
|
case 579:switch(this.l()){
|
|
3641
|
-
case'
|
|
3642
|
-
|
|
3643
|
-
|
|
3641
|
+
case'key':if(this.ck(580)){ art.key = this.valueWithLocation( true ); }continue
|
|
3642
|
+
default:this.s=580;continue
|
|
3643
|
+
}
|
|
3644
|
+
case 580:switch(this.l()){
|
|
3645
|
+
case'#':case'(':case'+':case'-':case':':case'?':case'new':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression(_={},581)){expr=_.expr; art.value = expr; }continue
|
|
3646
|
+
case'Id':if(this.valuePath(_={},583)){expr=_.expr; expr = this.valuePathAst( expr ); art.value = expr; }continue
|
|
3647
|
+
case'{':this.nestedSelectItemsList({query:art,clause:'expand'},594);continue
|
|
3648
|
+
default:this.e();continue
|
|
3644
3649
|
}
|
|
3645
|
-
case 580:if(this.mi(589,'ItemAlias')){ art.name = this.identAst(); }continue
|
|
3646
3650
|
case 581:switch(this.l()){
|
|
3647
|
-
case'
|
|
3648
|
-
case'
|
|
3649
|
-
|
|
3650
|
-
|
|
3651
|
-
case
|
|
3651
|
+
case'as':this.ck(582);continue
|
|
3652
|
+
case'Id':if(this.ci(591,'ItemAlias')){ art.name = this.fragileAlias( true ); }continue
|
|
3653
|
+
default:this.s=591;continue
|
|
3654
|
+
}
|
|
3655
|
+
case 582:if(this.mi(591,'ItemAlias')){ art.name = this.identAst(); }continue
|
|
3656
|
+
case 583:switch(this.l()){
|
|
3657
|
+
case'over':if(this.ck(584)){ this.pushXprToken( expr.suffix = [] ); }continue
|
|
3658
|
+
case'*':case'+':case'-':case'/':case'<':case'=':case'>':case'?':case'!=':case'<=':case'<>':case'==':case'>=':case'in':case'is':case'or':case'||':case'and':case'not':case'like':case'between':if(this.expression(_={ expr: expr },586,666)){e=_.expr; Object.assign( e.location || {}, expr.location ); art.value = this.attachLocation( e ) }continue
|
|
3659
|
+
case'as':this.ck(588);continue
|
|
3660
|
+
case'Id':if(this.ci(591,'ItemAlias')){this.nestedExpand(); art.name = this.fragileAlias( true ); }continue
|
|
3661
|
+
case'.':if(this.c(589)){ this.reportUnexpectedSpace( this.lb(), this.la().location, true );
|
|
3652
3662
|
this.reportExpandInline( art, $.sqlStyle, true ); }continue
|
|
3653
|
-
default:this.s=
|
|
3654
|
-
}
|
|
3655
|
-
case
|
|
3656
|
-
case
|
|
3657
|
-
case'*':case'+':case'-':case'/':case'<':case'=':case'>':case'?':case'!=':case'<=':case'<>':case'==':case'>=':case'in':case'is':case'or':case'||':case'and':case'not':case'like':case'between':if(this.expression(_={ expr: expr },
|
|
3658
|
-
default:this.s=
|
|
3659
|
-
}
|
|
3660
|
-
case
|
|
3661
|
-
case'as':this.ck(
|
|
3662
|
-
case'Id':if(this.ci(
|
|
3663
|
-
default:this.s=
|
|
3664
|
-
}
|
|
3665
|
-
case
|
|
3666
|
-
case
|
|
3667
|
-
case
|
|
3668
|
-
case'{':this.nestedSelectItemsList({query:art,clause:'inline'},
|
|
3663
|
+
default:this.s=591;{this.nestedExpand(); this.virtualOrImplicit( art ); }continue
|
|
3664
|
+
}
|
|
3665
|
+
case 584:this.overClause({outer:expr.suffix},585);continue
|
|
3666
|
+
case 585:switch(this.lk()){
|
|
3667
|
+
case'*':case'+':case'-':case'/':case'<':case'=':case'>':case'?':case'!=':case'<=':case'<>':case'==':case'>=':case'in':case'is':case'or':case'||':case'and':case'not':case'like':case'between':if(this.expression(_={ expr: expr },586,666)){e=_.expr; Object.assign( e.location || {}, expr.location ); art.value = this.attachLocation( e ) }continue
|
|
3668
|
+
default:this.s=586;continue
|
|
3669
|
+
}
|
|
3670
|
+
case 586:switch(this.l()){
|
|
3671
|
+
case'as':this.ck(587);continue
|
|
3672
|
+
case'Id':if(this.ci(591,'ItemAlias')){ art.name = this.fragileAlias( true ); }continue
|
|
3673
|
+
default:this.s=591;continue
|
|
3674
|
+
}
|
|
3675
|
+
case 587:if(this.mi(591,'ItemAlias')){ art.name = this.identAst(); }continue
|
|
3676
|
+
case 588:if(this.mi(591,'ItemAlias')){this.nestedExpand(); art.name = this.identAst(); }continue
|
|
3677
|
+
case 589:switch(this.lt()){
|
|
3678
|
+
case'{':this.nestedSelectItemsList({query:art,clause:'inline'},590);continue
|
|
3669
3679
|
case'*':if(this.c(0)){ art.inline = [ this.valueWithLocation() ]; }continue
|
|
3670
3680
|
default:this.e();continue
|
|
3671
3681
|
}
|
|
3672
|
-
case
|
|
3682
|
+
case 590:switch(this.lk()){
|
|
3673
3683
|
case'excluding':this.excludingClause({query:art},0);continue
|
|
3674
3684
|
default:this.gr([',']);continue
|
|
3675
3685
|
}
|
|
3676
|
-
case
|
|
3677
|
-
case'{':this.s=
|
|
3678
|
-
default:this.s=
|
|
3686
|
+
case 591:switch(this.l()){
|
|
3687
|
+
case'{':this.s=592;{ if (!this.nestedExpand(0,true)) this.reportExpandInline( art, $.sqlStyle, false ); }continue
|
|
3688
|
+
default:this.s=597;continue
|
|
3689
|
+
}
|
|
3690
|
+
case 592:this.nestedSelectItemsList({query:art,clause:'expand'},593);continue
|
|
3691
|
+
case 593:switch(this.lk()){
|
|
3692
|
+
case'excluding':this.excludingClause({query:art},597);continue
|
|
3693
|
+
default:this.s=597;continue
|
|
3679
3694
|
}
|
|
3680
|
-
case
|
|
3681
|
-
case 591:switch(this.lk()){
|
|
3695
|
+
case 594:switch(this.lk()){
|
|
3682
3696
|
case'excluding':this.excludingClause({query:art},595);continue
|
|
3683
3697
|
default:this.s=595;continue
|
|
3684
3698
|
}
|
|
3685
|
-
case
|
|
3686
|
-
case
|
|
3687
|
-
|
|
3699
|
+
case 595:this.mk(596,'as');continue
|
|
3700
|
+
case 596:if(this.mi(597,'ItemAlias')){ art.name = this.identAst(); }continue
|
|
3701
|
+
case 597:this.s=598;{this.columnExpr(); this.docComment( art ); }continue
|
|
3702
|
+
case 598:switch(this.lt()){
|
|
3703
|
+
case'@':this.annoAssignMid({art},598);continue
|
|
3704
|
+
default:this.s=599;continue
|
|
3688
3705
|
}
|
|
3689
|
-
case
|
|
3690
|
-
case
|
|
3691
|
-
case 595:this.s=596;{this.columnExpr(); this.docComment( art ); }continue
|
|
3692
|
-
case 596:switch(this.lt()){
|
|
3693
|
-
case'@':this.annoAssignMid({art},596);continue
|
|
3694
|
-
default:this.s=597;continue
|
|
3695
|
-
}
|
|
3696
|
-
case 597:switch(this.lt()){
|
|
3697
|
-
case':':this.c(598);continue
|
|
3706
|
+
case 599:switch(this.lt()){
|
|
3707
|
+
case':':this.c(600);continue
|
|
3698
3708
|
default:this.gr([',']);continue
|
|
3699
3709
|
}
|
|
3700
|
-
case
|
|
3701
|
-
case'Id':case'{':this.typeExpression({art},
|
|
3702
|
-
case'redirected':this.ck(
|
|
3703
|
-
case'association':if(this.ck(
|
|
3704
|
-
case'composition':if(this.ck(
|
|
3710
|
+
case 600:switch(this.l()){
|
|
3711
|
+
case'Id':case'{':this.typeExpression({art},613);continue
|
|
3712
|
+
case'redirected':this.ck(601);continue
|
|
3713
|
+
case'association':if(this.ck(605)){assoc=this.lb(); this.associationInSelectItem( art ); }continue
|
|
3714
|
+
case'composition':if(this.ck(607)){assoc=this.lb(); this.associationInSelectItem( art ); }continue
|
|
3705
3715
|
default:this.e();continue
|
|
3706
3716
|
}
|
|
3707
|
-
case
|
|
3708
|
-
case
|
|
3709
|
-
case
|
|
3710
|
-
case'on':this.ck(
|
|
3711
|
-
case'{':this.foreignKeysBlock({art},
|
|
3712
|
-
default:this.s=
|
|
3713
|
-
}
|
|
3714
|
-
case 602:if(this.condition(_={},611)){cond=_.expr; art.on = cond; }continue
|
|
3715
|
-
case 603:switch(this.lt()){
|
|
3716
|
-
case'[':this.cardinality({art},604);continue
|
|
3717
|
-
default:this.s=604;continue
|
|
3717
|
+
case 601:this.mk(602,'to');continue
|
|
3718
|
+
case 602:if(this.simplePath(_={category:'artref'},603)){target=_.ref; art.target = target; }continue
|
|
3719
|
+
case 603:switch(this.lk()){
|
|
3720
|
+
case'on':this.ck(604);continue
|
|
3721
|
+
case'{':this.foreignKeysBlock({art},613);continue
|
|
3722
|
+
default:this.s=613;continue
|
|
3718
3723
|
}
|
|
3719
|
-
case 604:this.
|
|
3724
|
+
case 604:if(this.condition(_={},613)){cond=_.expr; art.on = cond; }continue
|
|
3720
3725
|
case 605:switch(this.lt()){
|
|
3721
3726
|
case'[':this.cardinality({art},606);continue
|
|
3722
3727
|
default:this.s=606;continue
|
|
3723
3728
|
}
|
|
3724
|
-
case 606:this.mk(
|
|
3725
|
-
case 607:switch(this.
|
|
3726
|
-
case'
|
|
3729
|
+
case 606:this.mk(609,'to');continue
|
|
3730
|
+
case 607:switch(this.lt()){
|
|
3731
|
+
case'[':this.cardinality({art},608);continue
|
|
3727
3732
|
default:this.s=608;continue
|
|
3728
3733
|
}
|
|
3729
|
-
case 608:
|
|
3730
|
-
case 609:this.
|
|
3731
|
-
case
|
|
3732
|
-
|
|
3733
|
-
|
|
3734
|
-
case
|
|
3734
|
+
case 608:this.mk(609,'of');continue
|
|
3735
|
+
case 609:switch(this.l()){
|
|
3736
|
+
case'one':case'many':if(this.ck(610))card=this.lb();continue
|
|
3737
|
+
default:this.s=610;continue
|
|
3738
|
+
}
|
|
3739
|
+
case 610:if(this.simplePath(_={category:'artref'},611)){target=_.ref; this.setAssocAndComposition( art, assoc, card, target ); }continue
|
|
3740
|
+
case 611:this.mk(612,'on');continue
|
|
3741
|
+
case 612:if(this.condition(_={},613)){expr=_.expr; art.on = expr; }continue
|
|
3742
|
+
case 613:this.s=614;{ this.docComment( art ); }continue
|
|
3743
|
+
case 614:switch(this.lt()){
|
|
3744
|
+
case'@':this.annoAssignStd({art},614);continue
|
|
3735
3745
|
default:this.gr([',']);continue
|
|
3736
3746
|
}
|
|
3737
3747
|
default:
|
|
@@ -3740,18 +3750,18 @@ return this.exit_()
|
|
|
3740
3750
|
}
|
|
3741
3751
|
}
|
|
3742
3752
|
queryClauses($,$next){
|
|
3743
|
-
this.rule_(
|
|
3753
|
+
this.rule_(616,$next)
|
|
3744
3754
|
for(;;)switch(this.s){
|
|
3745
|
-
case 614:switch(this.lk()){
|
|
3746
|
-
case'columns':this.ck(615);continue
|
|
3747
|
-
default:this.s=616;continue
|
|
3748
|
-
}
|
|
3749
|
-
case 615:this.selectItemsList({query:$.query,start:this.lb()},616);continue
|
|
3750
3755
|
case 616:switch(this.lk()){
|
|
3751
|
-
case'
|
|
3752
|
-
default:this.s=
|
|
3756
|
+
case'columns':this.ck(617);continue
|
|
3757
|
+
default:this.s=618;continue
|
|
3753
3758
|
}
|
|
3754
|
-
case 617:
|
|
3759
|
+
case 617:this.selectItemsList({query:$.query,start:this.lb()},618);continue
|
|
3760
|
+
case 618:switch(this.lk()){
|
|
3761
|
+
case'group':case'where':case'having':this.whereGroupByHaving($,619);continue
|
|
3762
|
+
default:this.s=619;continue
|
|
3763
|
+
}
|
|
3764
|
+
case 619:switch(this.lk()){
|
|
3755
3765
|
case'limit':case'order':this.orderByLimitOffset($,0);continue
|
|
3756
3766
|
default:this.gr([';']);continue
|
|
3757
3767
|
}
|
|
@@ -3760,90 +3770,90 @@ default:return this.exit_()
|
|
|
3760
3770
|
}
|
|
3761
3771
|
whereGroupByHaving($,$next){
|
|
3762
3772
|
let cond;let _
|
|
3763
|
-
this.rule_(
|
|
3773
|
+
this.rule_(621,$next)
|
|
3764
3774
|
for(;;)switch(this.s){
|
|
3765
|
-
case 619:switch(this.lk()){
|
|
3766
|
-
case'where':this.ck(620);continue
|
|
3767
|
-
default:this.s=621;continue
|
|
3768
|
-
}
|
|
3769
|
-
case 620:if(this.condition(_={},621)){cond=_.expr; $.query.where = cond; }continue
|
|
3770
3775
|
case 621:switch(this.lk()){
|
|
3771
|
-
case'
|
|
3772
|
-
default:this.s=
|
|
3776
|
+
case'where':this.ck(622);continue
|
|
3777
|
+
default:this.s=623;continue
|
|
3773
3778
|
}
|
|
3774
|
-
case 622:
|
|
3775
|
-
case
|
|
3779
|
+
case 622:if(this.condition(_={},623)){cond=_.expr; $.query.where = cond; }continue
|
|
3780
|
+
case 623:switch(this.lk()){
|
|
3781
|
+
case'group':this.groupByClause($,624);continue
|
|
3782
|
+
default:this.s=624;continue
|
|
3783
|
+
}
|
|
3784
|
+
case 624:switch(this.lk()){
|
|
3785
|
+
case'having':this.ck(625);continue
|
|
3776
3786
|
default:this.gr(['limit','order']);continue
|
|
3777
3787
|
}
|
|
3778
|
-
case
|
|
3788
|
+
case 625:if(this.condition(_={},0)){cond=_.expr; $.query.having = cond; }continue
|
|
3779
3789
|
default:return this.exit_()
|
|
3780
3790
|
}
|
|
3781
3791
|
}
|
|
3782
3792
|
groupByClause($,$next){
|
|
3783
3793
|
let expr;let _
|
|
3784
|
-
this.rule_(
|
|
3794
|
+
this.rule_(627,$next)
|
|
3785
3795
|
for(;;)switch(this.s){
|
|
3786
|
-
case
|
|
3787
|
-
case
|
|
3788
|
-
case
|
|
3789
|
-
case
|
|
3790
|
-
case',':this.c(
|
|
3796
|
+
case 627:this.mk(628,'group');continue
|
|
3797
|
+
case 628:this.mk(629,'by');continue
|
|
3798
|
+
case 629:if(this.expression(_={},630)){expr=_.expr; $.query.groupBy = [ expr ]; }continue
|
|
3799
|
+
case 630:switch(this.lt()){
|
|
3800
|
+
case',':this.c(631);continue
|
|
3791
3801
|
default:this.gr(['limit','order','having']);continue
|
|
3792
3802
|
}
|
|
3793
|
-
case
|
|
3803
|
+
case 631:if(this.expression(_={},630)){expr=_.expr; $.query.groupBy.push( expr ); }continue
|
|
3794
3804
|
default:return this.exit_()
|
|
3795
3805
|
}
|
|
3796
3806
|
}
|
|
3797
3807
|
orderByLimitOffset($,$next){
|
|
3798
3808
|
let expr;let _
|
|
3799
|
-
this.rule_(
|
|
3809
|
+
this.rule_(633,$next)
|
|
3800
3810
|
for(;;)switch(this.s){
|
|
3801
|
-
case
|
|
3802
|
-
case'order':this.orderByClause($,
|
|
3803
|
-
default:this.s=
|
|
3811
|
+
case 633:switch(this.lk()){
|
|
3812
|
+
case'order':this.orderByClause($,634);continue
|
|
3813
|
+
default:this.s=634;continue
|
|
3804
3814
|
}
|
|
3805
|
-
case
|
|
3806
|
-
case'limit':this.ck(
|
|
3815
|
+
case 634:switch(this.lk()){
|
|
3816
|
+
case'limit':this.ck(635);continue
|
|
3807
3817
|
default:this.gr();continue
|
|
3808
3818
|
}
|
|
3809
|
-
case
|
|
3810
|
-
case
|
|
3811
|
-
case'offset':this.ck(
|
|
3819
|
+
case 635:if(this.expression(_={},636)){expr=_.expr; $.query.limit = { rows: expr }; }continue
|
|
3820
|
+
case 636:switch(this.lk()){
|
|
3821
|
+
case'offset':this.ck(637);continue
|
|
3812
3822
|
default:this.gr();continue
|
|
3813
3823
|
}
|
|
3814
|
-
case
|
|
3824
|
+
case 637:if(this.expression(_={},0)){expr=_.expr; $.query.limit.offset = expr; }continue
|
|
3815
3825
|
default:return this.exit_()
|
|
3816
3826
|
}
|
|
3817
3827
|
}
|
|
3818
3828
|
orderByClause($,$next){
|
|
3819
3829
|
let expr;let _
|
|
3820
|
-
this.rule_(
|
|
3830
|
+
this.rule_(639,$next)
|
|
3821
3831
|
for(;;)switch(this.s){
|
|
3822
|
-
case
|
|
3823
|
-
case
|
|
3824
|
-
case
|
|
3825
|
-
case
|
|
3826
|
-
case',':this.c(
|
|
3832
|
+
case 639:this.mk(640,'order');continue
|
|
3833
|
+
case 640:this.mk(641,'by');continue
|
|
3834
|
+
case 641:if(this.orderByExpression(_={},642)){expr=_.expr; $.query.orderBy = [ expr ]; }continue
|
|
3835
|
+
case 642:switch(this.lt()){
|
|
3836
|
+
case',':this.c(643);continue
|
|
3827
3837
|
default:this.gr(['limit']);continue
|
|
3828
3838
|
}
|
|
3829
|
-
case
|
|
3839
|
+
case 643:if(this.orderByExpression(_={},642)){expr=_.expr; $.query.orderBy.push( expr ); }continue
|
|
3830
3840
|
default:return this.exit_()
|
|
3831
3841
|
}
|
|
3832
3842
|
}
|
|
3833
3843
|
orderByExpression($,$next){
|
|
3834
3844
|
$.expr??=undefined
|
|
3835
|
-
this.rule_(
|
|
3845
|
+
this.rule_(645,$next)
|
|
3836
3846
|
for(;;)switch(this.s){
|
|
3837
|
-
case
|
|
3838
|
-
case
|
|
3839
|
-
case'asc':case'desc':if(this.ck(
|
|
3840
|
-
default:this.s=
|
|
3847
|
+
case 645:this.expression($,646);continue
|
|
3848
|
+
case 646:switch(this.lk()){
|
|
3849
|
+
case'asc':case'desc':if(this.ck(647)){ $.expr.sort = this.valueWithLocation(); }continue
|
|
3850
|
+
default:this.s=647;continue
|
|
3841
3851
|
}
|
|
3842
|
-
case
|
|
3843
|
-
case'nulls':this.ck(
|
|
3852
|
+
case 647:switch(this.lk()){
|
|
3853
|
+
case'nulls':this.ck(648);continue
|
|
3844
3854
|
default:this.gr([',','limit']);continue
|
|
3845
3855
|
}
|
|
3846
|
-
case
|
|
3856
|
+
case 648:switch(this.lk()){
|
|
3847
3857
|
case'last':case'first':if(this.ck(0)){ $.expr.nulls = this.valueWithLocation(); }continue
|
|
3848
3858
|
default:this.e();continue
|
|
3849
3859
|
}
|
|
@@ -3853,113 +3863,113 @@ default:return this.exit_()
|
|
|
3853
3863
|
conditionEOF($,$next){
|
|
3854
3864
|
$.cond??=undefined
|
|
3855
3865
|
let _
|
|
3856
|
-
this.rule_(
|
|
3866
|
+
this.rule_(650,$next)
|
|
3857
3867
|
for(;;)switch(this.s){
|
|
3858
|
-
case
|
|
3859
|
-
case
|
|
3868
|
+
case 650:if(this.expression(_={},651))$.cond=_.expr;continue
|
|
3869
|
+
case 651:this.m(0,'EOF');continue
|
|
3860
3870
|
default:return this.exit_()
|
|
3861
3871
|
}
|
|
3862
3872
|
}
|
|
3863
3873
|
condition($,$next){
|
|
3864
3874
|
$.expr??=undefined
|
|
3865
|
-
this.rule_(
|
|
3875
|
+
this.rule_(653,$next)
|
|
3866
3876
|
for(;;)switch(this.s){
|
|
3867
|
-
case
|
|
3877
|
+
case 653:this.expression($,0);continue
|
|
3868
3878
|
default:return this.exit_()
|
|
3869
3879
|
}
|
|
3870
3880
|
}
|
|
3871
3881
|
expression($,$next,$startState){
|
|
3872
3882
|
$.expr??={}
|
|
3873
3883
|
let e;let open;let _
|
|
3874
|
-
this.rule_($startState??
|
|
3884
|
+
this.rule_($startState??655,$next)
|
|
3875
3885
|
for(;;)switch(this.s){
|
|
3876
|
-
case
|
|
3877
|
-
case'(':if(this.expressionOrQueryParens($,
|
|
3878
|
-
case'#':case'null':case'true':case'false':case'Number':case'String':case'QuotedLiteral':this.literalValue($,
|
|
3879
|
-
case':':if(this.c(
|
|
3880
|
-
case'?':if(this.c(
|
|
3886
|
+
case 655:switch(this.l()){
|
|
3887
|
+
case'(':if(this.expressionOrQueryParens($,666)){ $.expr = this.taggedIfQuery( $.expr ); }continue
|
|
3888
|
+
case'#':case'null':case'true':case'false':case'Number':case'String':case'QuotedLiteral':this.literalValue($,666);continue
|
|
3889
|
+
case':':if(this.c(656)){ this.reportUnexpectedSpace(); }continue
|
|
3890
|
+
case'?':if(this.c(666)){ this.csnParseOnly( 'syntax-unsupported-param', -1, { '#': 'dynamic', code: '?' } );
|
|
3881
3891
|
$.expr = this.attachLocation({ param: this.valueWithLocation(), scope: 'param' }); }continue
|
|
3882
|
-
case'Id':if(this.valuePath(_={},
|
|
3883
|
-
case'new':if(this.ck(
|
|
3884
|
-
case'exists':if(this.ck(
|
|
3885
|
-
case'case':this.caseExpression($,
|
|
3886
|
-
case'cast':this.castFunction($,
|
|
3887
|
-
case'+':case'-':if(this.c(
|
|
3888
|
-
case'not':if(this.ck(
|
|
3892
|
+
case'Id':if(this.valuePath(_={},658)){e=_.expr; $.expr = this.valuePathAst( e ); }continue
|
|
3893
|
+
case'new':if(this.ck(661)){ $.expr = this.applyOpToken(); }continue
|
|
3894
|
+
case'exists':if(this.ck(662)){ $.expr = this.applyOpToken(); }continue
|
|
3895
|
+
case'case':this.caseExpression($,666);continue
|
|
3896
|
+
case'cast':this.castFunction($,666);continue
|
|
3897
|
+
case'+':case'-':if(this.c(665)){ $.expr = this.applyOpToken(); }continue
|
|
3898
|
+
case'not':if(this.ck(665)){ $.expr = this.applyOpToken(); }continue
|
|
3889
3899
|
default:this.e();continue
|
|
3890
3900
|
}
|
|
3891
|
-
case
|
|
3892
|
-
case'Id':if(this.cy(
|
|
3893
|
-
case'Number':if(this.c(
|
|
3901
|
+
case 656:switch(this.lt()){
|
|
3902
|
+
case'Id':if(this.cy(657,'paramref')){ $.expr = { path: [ this.identAst() ], location: this.startLocation(), scope: 'param' }; }continue
|
|
3903
|
+
case'Number':if(this.c(666)){ this.csnParseOnly( 'syntax-unsupported-param', -1, { '#': 'positional', code: ':' + this.lb().text } );
|
|
3894
3904
|
$.expr = this.attachLocation({ param: this.unsignedIntegerLiteral(), scope: 'param' }); }continue
|
|
3895
3905
|
default:this.e();continue
|
|
3896
3906
|
}
|
|
3897
|
-
case
|
|
3898
|
-
case'.':if(this.valuePath($,
|
|
3899
|
-
default:this.s=
|
|
3907
|
+
case 657:switch(this.lt()){
|
|
3908
|
+
case'.':if(this.valuePath($,666,685)){ $.expr = this.valuePathAst( $.expr ); }continue
|
|
3909
|
+
default:this.s=666;{ this.attachLocation( $.expr ); }continue
|
|
3900
3910
|
}
|
|
3901
|
-
case
|
|
3902
|
-
case'over':if(this.ck(
|
|
3903
|
-
default:this.s=
|
|
3911
|
+
case 658:switch(this.lk()){
|
|
3912
|
+
case'over':if(this.ck(659)){ this.pushXprToken( $.expr.suffix = [] ); }continue
|
|
3913
|
+
default:this.s=660;continue
|
|
3904
3914
|
}
|
|
3905
|
-
case
|
|
3906
|
-
case
|
|
3907
|
-
case
|
|
3908
|
-
case
|
|
3909
|
-
case'(':if(this.c(
|
|
3910
|
-
case'Id':if(this.valuePath(_={},
|
|
3915
|
+
case 659:this.overClause(e={outer:$.expr.suffix},660);continue
|
|
3916
|
+
case 660:this.s=666;{ this.attachLocation( $.expr ); }continue
|
|
3917
|
+
case 661:if(this.valuePath(_={},666)){e=_.expr; this.valuePathAstWithNew( $.expr, e ); }continue
|
|
3918
|
+
case 662:switch(this.lt()){
|
|
3919
|
+
case'(':if(this.c(663))open=this.lb();continue
|
|
3920
|
+
case'Id':if(this.valuePath(_={},666)){e=_.expr; e = this.valuePathAst( e ); e.$syntax = 'after-exists';
|
|
3911
3921
|
$.expr.args.push( e ); this.attachLocation( $.expr ); }continue
|
|
3912
|
-
case'?':if(this.c(
|
|
3922
|
+
case'?':if(this.c(666)){ this.csnParseOnly( 'syntax-unsupported-param', -1, { '#': 'dynamic', code: '?' } );
|
|
3913
3923
|
$.expr.args.push( { param: this.valueWithLocation(), scope: 'param' } ); this.attachLocation( $.expr ); }continue
|
|
3914
3924
|
default:this.e();continue
|
|
3915
3925
|
}
|
|
3916
|
-
case
|
|
3917
|
-
case
|
|
3926
|
+
case 663:if(this.queryExpression(_={},664))e=_.expr;continue
|
|
3927
|
+
case 664:if(this.m(666,')')){ $.expr.args.push( this.taggedIfQuery( this.surroundByParens( e, open ) ) );
|
|
3918
3928
|
this.attachLocation( $.expr ); }continue
|
|
3919
|
-
case
|
|
3920
|
-
case
|
|
3921
|
-
case'*':case'/':if(this.c(
|
|
3922
|
-
case'+':case'-':if(this.c(
|
|
3923
|
-
case'||':if(this.c(
|
|
3924
|
-
case'and':if(this.ck(
|
|
3925
|
-
case'or':if(this.ck(
|
|
3926
|
-
case'?':if(this.c(
|
|
3927
|
-
case'<':case'=':case'>':case'!=':case'<=':case'<>':case'>=':if(this.c(
|
|
3928
|
-
case'==':if(this.c(
|
|
3929
|
-
case'is':if(this.ck(
|
|
3930
|
-
case'not':if(this.ck(
|
|
3931
|
-
case'in':case'like':case'between':this.s=
|
|
3929
|
+
case 665:if(this.expression(_={},666)){e=_.expr; $.expr = this.signedExpression( $.expr, e ); }continue
|
|
3930
|
+
case 666:switch(this.l()){
|
|
3931
|
+
case'*':case'/':if(this.c(670)){ $.expr = this.applyOpToken( $.expr, 'nary' ); }continue
|
|
3932
|
+
case'+':case'-':if(this.c(670)){ $.expr = this.applyOpToken( $.expr, 'nary' ); }continue
|
|
3933
|
+
case'||':if(this.c(670)){ $.expr = this.applyOpToken( $.expr, 'nary' ); }continue
|
|
3934
|
+
case'and':if(this.ck(670)){ $.expr = this.applyOpToken( $.expr, 'nary' ); }continue
|
|
3935
|
+
case'or':if(this.ck(670)){ $.expr = this.applyOpToken( $.expr, 'nary' ); }continue
|
|
3936
|
+
case'?':if(this.c(667)){ $.expr = this.applyOpToken( $.expr, '?:' ); }continue
|
|
3937
|
+
case'<':case'=':case'>':case'!=':case'<=':case'<>':case'>=':if(this.c(669)){ $.expr = this.applyOpToken( $.expr ); }continue
|
|
3938
|
+
case'==':if(this.c(670)){ $.expr = this.applyOpToken( $.expr ); }continue
|
|
3939
|
+
case'is':if(this.ck(671)){ $.expr = this.applyOpToken( $.expr ); }continue
|
|
3940
|
+
case'not':if(this.ck(673)){ $.expr = this.applyOpToken( $.expr ); }continue
|
|
3941
|
+
case'in':case'like':case'between':this.s=673;{ $.expr = { op: { val: 'ixpr', location: this.la().location }, args: [ $.expr ] }; }continue
|
|
3932
3942
|
default:this.gr();continue
|
|
3933
3943
|
}
|
|
3934
|
-
case
|
|
3935
|
-
case
|
|
3936
|
-
case
|
|
3937
|
-
case'all':case'any':case'some':if(this.ck(
|
|
3938
|
-
default:this.s=668;continue
|
|
3939
|
-
}
|
|
3940
|
-
case 668:if(this.expression(_={},679)){e=_.expr; $.expr.args.push( e ); }continue
|
|
3941
|
-
case 669:switch(this.lk()){
|
|
3942
|
-
case'not':if(this.ck(670)){ this.pushXprToken( $.expr ); }continue
|
|
3944
|
+
case 667:if(this.expression(_={},668)){e=_.expr; $.expr.args.push( e ); }continue
|
|
3945
|
+
case 668:if(this.m(670,':')){ this.pushXprToken( $.expr ); }continue
|
|
3946
|
+
case 669:switch(this.l()){
|
|
3947
|
+
case'all':case'any':case'some':if(this.ck(670)){ this.pushXprToken( $.expr ); }continue
|
|
3943
3948
|
default:this.s=670;continue
|
|
3944
3949
|
}
|
|
3945
|
-
case 670:if(this.
|
|
3950
|
+
case 670:if(this.expression(_={},681)){e=_.expr; $.expr.args.push( e ); }continue
|
|
3946
3951
|
case 671:switch(this.lk()){
|
|
3947
|
-
case'
|
|
3948
|
-
|
|
3949
|
-
|
|
3952
|
+
case'not':if(this.ck(672)){ this.pushXprToken( $.expr ); }continue
|
|
3953
|
+
default:this.s=672;continue
|
|
3954
|
+
}
|
|
3955
|
+
case 672:if(this.mk(681,'null')){ this.pushXprToken( $.expr ); }continue
|
|
3956
|
+
case 673:switch(this.lk()){
|
|
3957
|
+
case'between':if(this.ck(674)){ this.pushXprToken( $.expr ); }continue
|
|
3958
|
+
case'in':if(this.ck(677)){ this.pushXprToken( $.expr ); }continue
|
|
3959
|
+
case'like':if(this.ck(678)){ this.pushXprToken( $.expr ); }continue
|
|
3950
3960
|
default:this.e();continue
|
|
3951
3961
|
}
|
|
3952
|
-
case
|
|
3953
|
-
case
|
|
3954
|
-
case
|
|
3955
|
-
case
|
|
3956
|
-
case 676:if(this.expression(_={},677)){e=_.expr; $.expr.args?.push( e ); }continue
|
|
3957
|
-
case 677:switch(this.lk()){
|
|
3958
|
-
case'escape':if(this.ck(678)){ this.pushXprToken( $.expr ); }continue
|
|
3959
|
-
default:this.s=679;continue
|
|
3960
|
-
}
|
|
3962
|
+
case 674:if(this.expression(_={},675)){e=_.expr; $.expr.args?.push( e ); }continue
|
|
3963
|
+
case 675:if(this.mk(676,'and')){ this.pushXprToken( $.expr ); }continue
|
|
3964
|
+
case 676:if(this.expression(_={},681)){e=_.expr; $.expr.args?.push( e ); }continue
|
|
3965
|
+
case 677:if(this.expression(_={},681)){e=_.expr; $.expr.args?.push( this.secureParens( e ) ); }continue
|
|
3961
3966
|
case 678:if(this.expression(_={},679)){e=_.expr; $.expr.args?.push( e ); }continue
|
|
3962
|
-
case 679:this.
|
|
3967
|
+
case 679:switch(this.lk()){
|
|
3968
|
+
case'escape':if(this.ck(680)){ this.pushXprToken( $.expr ); }continue
|
|
3969
|
+
default:this.s=681;continue
|
|
3970
|
+
}
|
|
3971
|
+
case 680:if(this.expression(_={},681)){e=_.expr; $.expr.args?.push( e ); }continue
|
|
3972
|
+
case 681:this.s=666;{ this.attachLocation( $.expr ); }continue
|
|
3963
3973
|
default:
|
|
3964
3974
|
if (this.s == null) this.attachLocation( $.expr )
|
|
3965
3975
|
return this.exit_()
|
|
@@ -3968,21 +3978,21 @@ return this.exit_()
|
|
|
3968
3978
|
valuePath($,$next,$startState){
|
|
3969
3979
|
$.expr??={ path: [] }
|
|
3970
3980
|
let pathItem
|
|
3971
|
-
this.rule_($startState??
|
|
3981
|
+
this.rule_($startState??683,$next)
|
|
3972
3982
|
for(;;)switch(this.s){
|
|
3973
|
-
case
|
|
3974
|
-
case
|
|
3975
|
-
case'(':case'[':this.argumentsAndFilter({pathStep:pathItem},
|
|
3976
|
-
default:this.s=
|
|
3983
|
+
case 683:if(this.mi(684,'ref')){ $.expr.path.push( pathItem = this.identAst() ); }continue
|
|
3984
|
+
case 684:switch(this.lt()){
|
|
3985
|
+
case'(':case'[':this.argumentsAndFilter({pathStep:pathItem},685);continue
|
|
3986
|
+
default:this.s=685;continue
|
|
3977
3987
|
}
|
|
3978
|
-
case
|
|
3979
|
-
case'.':this.c(
|
|
3988
|
+
case 685:switch(this.l()){
|
|
3989
|
+
case'.':this.c(686);continue
|
|
3980
3990
|
default:this.gr(['*','+','-','/','<','=','>','?','!=','<=','<>','==','>=','in','is','or','||','and','not','like','between']);continue
|
|
3981
3991
|
}
|
|
3982
|
-
case
|
|
3983
|
-
case
|
|
3984
|
-
case'(':case'[':if(this.argumentsAndFilter({pathStep:pathItem},
|
|
3985
|
-
default:this.s=
|
|
3992
|
+
case 686:if(this.my(687,'ref')){ $.expr.path.push( pathItem = this.identAst() ); }continue
|
|
3993
|
+
case 687:switch(this.lt()){
|
|
3994
|
+
case'(':case'[':if(this.argumentsAndFilter({pathStep:pathItem},685)){ pathItem = null; }continue
|
|
3995
|
+
default:this.s=685;continue
|
|
3986
3996
|
}
|
|
3987
3997
|
default:
|
|
3988
3998
|
this.attachLocation( $.expr )
|
|
@@ -3991,48 +4001,48 @@ return this.exit_()
|
|
|
3991
4001
|
}
|
|
3992
4002
|
expressionOrQueryParens($,$next){
|
|
3993
4003
|
$.expr??=undefined
|
|
3994
|
-
this.rule_(
|
|
4004
|
+
this.rule_(689,$next)
|
|
3995
4005
|
for(;;)switch(this.s){
|
|
3996
|
-
case
|
|
3997
|
-
case
|
|
3998
|
-
case'(':this.expressionOrQueryParens($,
|
|
3999
|
-
case'Id':case'#':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression($,
|
|
4000
|
-
case'select':this.queryExpression($,
|
|
4006
|
+
case 689:if(this.m(690,'(')){this.queryOnLeft()}continue;
|
|
4007
|
+
case 690:switch(this.l()){
|
|
4008
|
+
case'(':this.expressionOrQueryParens($,691);continue
|
|
4009
|
+
case'Id':case'#':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression($,693)){this.queryOnLeft('expr')}continue;
|
|
4010
|
+
case'select':this.queryExpression($,694);continue
|
|
4001
4011
|
default:this.e();continue
|
|
4002
4012
|
}
|
|
4003
|
-
case
|
|
4004
|
-
case'*':case'+':case'-':case'/':case'<':case'=':case'>':case'?':case'!=':case'<=':case'<>':case'==':case'>=':case'in':case'is':case'or':case'||':case'and':case'not':case'like':case'between':if(this.expression(( $.expr = this.taggedIfQuery( $.expr ), $ ),
|
|
4005
|
-
case',':if(this.continueExpressionslist($,
|
|
4006
|
-
case'limit':case'minus':case'order':case'union':case'except':case'intersect':this.queryExpression($,
|
|
4007
|
-
default:this.s=
|
|
4013
|
+
case 691:switch(this.l()){
|
|
4014
|
+
case'*':case'+':case'-':case'/':case'<':case'=':case'>':case'?':case'!=':case'<=':case'<>':case'==':case'>=':case'in':case'is':case'or':case'||':case'and':case'not':case'like':case'between':if(this.expression(( $.expr = this.taggedIfQuery( $.expr ), $ ),692,666)){this.queryOnLeft('expr')}continue;
|
|
4015
|
+
case',':if(this.continueExpressionslist($,694)){this.queryOnLeft('expr')}continue;
|
|
4016
|
+
case'limit':case'minus':case'order':case'union':case'except':case'intersect':this.queryExpression($,694,464);continue
|
|
4017
|
+
default:this.s=694;continue
|
|
4008
4018
|
}
|
|
4009
|
-
case
|
|
4010
|
-
case',':this.continueExpressionslist($,
|
|
4011
|
-
default:this.s=
|
|
4019
|
+
case 692:switch(this.lt()){
|
|
4020
|
+
case',':this.continueExpressionslist($,694);continue
|
|
4021
|
+
default:this.s=694;continue
|
|
4012
4022
|
}
|
|
4013
|
-
case
|
|
4014
|
-
case',':this.continueExpressionslist($,
|
|
4015
|
-
default:this.s=
|
|
4023
|
+
case 693:switch(this.lt()){
|
|
4024
|
+
case',':this.continueExpressionslist($,694);continue
|
|
4025
|
+
default:this.s=694;continue
|
|
4016
4026
|
}
|
|
4017
|
-
case
|
|
4027
|
+
case 694:if(this.m(0,')')){ if ($.expr.op?.val !== 'list' || $.expr.location) this.surroundByParens( $.expr ); else this.attachLocation( $.expr ); }continue
|
|
4018
4028
|
default:return this.exit_()
|
|
4019
4029
|
}
|
|
4020
4030
|
}
|
|
4021
4031
|
continueExpressionslist($,$next){
|
|
4022
4032
|
let e;let _
|
|
4023
|
-
this.rule_(
|
|
4033
|
+
this.rule_(696,$next)
|
|
4024
4034
|
for(;;)switch(this.s){
|
|
4025
|
-
case
|
|
4026
|
-
case
|
|
4027
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':this.s=
|
|
4035
|
+
case 696:if(this.m(697,',')){ $.expr = { op: this.valueWithLocation( 'list' ), args: [ $.expr ], location: null }; }continue
|
|
4036
|
+
case 697:switch(this.l()){
|
|
4037
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':this.s=698;continue
|
|
4028
4038
|
default:this.e();continue
|
|
4029
4039
|
}
|
|
4030
|
-
case
|
|
4031
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},
|
|
4040
|
+
case 698:switch(this.lt()){
|
|
4041
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},699)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4032
4042
|
default:this.gr([')']);continue
|
|
4033
4043
|
}
|
|
4034
|
-
case
|
|
4035
|
-
case',':this.c(
|
|
4044
|
+
case 699:switch(this.lt()){
|
|
4045
|
+
case',':this.c(698);continue
|
|
4036
4046
|
default:this.gr([')']);continue
|
|
4037
4047
|
}
|
|
4038
4048
|
default:return this.exit_()
|
|
@@ -4041,30 +4051,30 @@ default:return this.exit_()
|
|
|
4041
4051
|
caseExpression($,$next){
|
|
4042
4052
|
$.expr??=undefined
|
|
4043
4053
|
let e;let _
|
|
4044
|
-
this.rule_(
|
|
4054
|
+
this.rule_(701,$next)
|
|
4045
4055
|
for(;;)switch(this.s){
|
|
4046
|
-
case
|
|
4047
|
-
case
|
|
4048
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression(_={},
|
|
4049
|
-
default:this.s=
|
|
4056
|
+
case 701:if(this.mk(702,'case')){ $.expr.op = { val: 'ixpr', location: this.lb().location }; $.expr.args = []; this.pushXprToken( $.expr ); }continue
|
|
4057
|
+
case 702:switch(this.l()){
|
|
4058
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'not':case'case':case'cast':case'null':case'true':case'false':case'Number':case'String':case'exists':case'QuotedLiteral':if(this.expression(_={},703)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4059
|
+
default:this.s=703;continue
|
|
4050
4060
|
}
|
|
4051
|
-
case
|
|
4052
|
-
case'when':this.s=
|
|
4061
|
+
case 703:switch(this.lk()){
|
|
4062
|
+
case'when':this.s=704;continue
|
|
4053
4063
|
default:this.e();continue
|
|
4054
4064
|
}
|
|
4055
|
-
case
|
|
4056
|
-
case'when':if(this.ck(
|
|
4057
|
-
default:this.s=706;continue
|
|
4058
|
-
}
|
|
4059
|
-
case 703:if(this.expression(_={},704)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4060
|
-
case 704:if(this.mk(705,'then')){ this.pushXprToken( $.expr ); }continue
|
|
4061
|
-
case 705:if(this.expression(_={},702)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4062
|
-
case 706:switch(this.lk()){
|
|
4063
|
-
case'else':if(this.ck(707)){ this.pushXprToken( $.expr ); }continue
|
|
4065
|
+
case 704:switch(this.lk()){
|
|
4066
|
+
case'when':if(this.ck(705)){ this.pushXprToken( $.expr ); }continue
|
|
4064
4067
|
default:this.s=708;continue
|
|
4065
4068
|
}
|
|
4066
|
-
case
|
|
4067
|
-
case
|
|
4069
|
+
case 705:if(this.expression(_={},706)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4070
|
+
case 706:if(this.mk(707,'then')){ this.pushXprToken( $.expr ); }continue
|
|
4071
|
+
case 707:if(this.expression(_={},704)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4072
|
+
case 708:switch(this.lk()){
|
|
4073
|
+
case'else':if(this.ck(709)){ this.pushXprToken( $.expr ); }continue
|
|
4074
|
+
default:this.s=710;continue
|
|
4075
|
+
}
|
|
4076
|
+
case 709:if(this.expression(_={},710)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4077
|
+
case 710:if(this.mk(0,'end')){ this.pushXprToken( $.expr ); }continue
|
|
4068
4078
|
default:
|
|
4069
4079
|
this.attachLocation( $.expr )
|
|
4070
4080
|
return this.exit_()
|
|
@@ -4073,14 +4083,14 @@ return this.exit_()
|
|
|
4073
4083
|
castFunction($,$next){
|
|
4074
4084
|
$.expr??=undefined
|
|
4075
4085
|
let arg;let _
|
|
4076
|
-
this.rule_(
|
|
4086
|
+
this.rule_(712,$next)
|
|
4077
4087
|
for(;;)switch(this.s){
|
|
4078
|
-
case
|
|
4079
|
-
case
|
|
4080
|
-
case
|
|
4081
|
-
case
|
|
4082
|
-
case
|
|
4083
|
-
case
|
|
4088
|
+
case 712:if(this.mk(713,'cast')){ $.expr.op = this.valueWithLocation(); }continue
|
|
4089
|
+
case 713:if(this.m(714,'(')){ $.expr.args = this.createArray(); }continue
|
|
4090
|
+
case 714:if(this.expression(_={},715)){arg=_.expr; $.expr.args?.push( arg ); }continue
|
|
4091
|
+
case 715:this.mk(716,'as');continue
|
|
4092
|
+
case 716:this.typeRefOptArgs({art:$.expr},717);continue
|
|
4093
|
+
case 717:if(this.m(0,')')){ this.finalizeDictOrArray( $.expr.args ); }continue
|
|
4084
4094
|
default:
|
|
4085
4095
|
this.attachLocation( $.expr )
|
|
4086
4096
|
return this.exit_()
|
|
@@ -4088,67 +4098,67 @@ return this.exit_()
|
|
|
4088
4098
|
}
|
|
4089
4099
|
argumentsAndFilter($,$next){
|
|
4090
4100
|
let open;let id;let expr;let _
|
|
4091
|
-
this.rule_(
|
|
4101
|
+
this.rule_(719,$next)
|
|
4092
4102
|
for(;;)switch(this.s){
|
|
4093
|
-
case
|
|
4094
|
-
case'(':if(this.c(
|
|
4095
|
-
default:this.s=
|
|
4103
|
+
case 719:switch(this.lt()){
|
|
4104
|
+
case'(':if(this.c(720)){open=this.lb();this.prepareSpecialFunction(); $.pathStep.args = this.createArray(); }continue
|
|
4105
|
+
default:this.s=738;continue
|
|
4096
4106
|
}
|
|
4097
|
-
case
|
|
4098
|
-
case')':this.s=
|
|
4099
|
-
case'Id':if(this.cy(
|
|
4100
|
-
default:this.s=
|
|
4107
|
+
case 720:switch(this.l()){
|
|
4108
|
+
case')':this.s=737;continue
|
|
4109
|
+
case'Id':if(this.cy(721,'paramname'))id=this.lb();continue
|
|
4110
|
+
default:this.s=730;continue
|
|
4101
4111
|
}
|
|
4102
|
-
case
|
|
4103
|
-
case':':if(this.c(
|
|
4104
|
-
case'=>':if(this.c(
|
|
4112
|
+
case 721:switch(this.lt()){
|
|
4113
|
+
case':':if(this.c(722)){ $.pathStep.args = this.createDict( open ); $.pathStep.$syntax = ':'; }continue
|
|
4114
|
+
case'=>':if(this.c(726)){ $.pathStep.args = this.createDict(); }continue
|
|
4105
4115
|
default:this.e();continue
|
|
4106
4116
|
}
|
|
4107
|
-
case
|
|
4108
|
-
case
|
|
4109
|
-
case',':this.c(
|
|
4110
|
-
case')':this.s=
|
|
4117
|
+
case 722:if(this.expression(_={},723)){expr=_.expr; this.addNamedArg( $.pathStep, id, expr ); }continue
|
|
4118
|
+
case 723:switch(this.lt()){
|
|
4119
|
+
case',':this.c(724);continue
|
|
4120
|
+
case')':this.s=737;continue
|
|
4111
4121
|
default:this.e();continue
|
|
4112
4122
|
}
|
|
4113
|
-
case
|
|
4114
|
-
case'Id':if(this.cy(
|
|
4115
|
-
case')':this.s=
|
|
4123
|
+
case 724:switch(this.lt()){
|
|
4124
|
+
case'Id':if(this.cy(725,'paramname'))id=this.lb();continue
|
|
4125
|
+
case')':this.s=737;continue
|
|
4116
4126
|
default:this.e();continue
|
|
4117
4127
|
}
|
|
4118
|
-
case
|
|
4119
|
-
case
|
|
4120
|
-
case
|
|
4121
|
-
case',':this.c(
|
|
4122
|
-
case')':this.s=
|
|
4128
|
+
case 725:this.m(722,':');continue
|
|
4129
|
+
case 726:if(this.expression(_={},727)){expr=_.expr; this.addNamedArg( $.pathStep, id, expr ); }continue
|
|
4130
|
+
case 727:switch(this.lt()){
|
|
4131
|
+
case',':this.c(728);continue
|
|
4132
|
+
case')':this.s=737;continue
|
|
4123
4133
|
default:this.e();continue
|
|
4124
4134
|
}
|
|
4125
|
-
case
|
|
4126
|
-
case'Id':if(this.cy(
|
|
4127
|
-
case')':this.s=
|
|
4135
|
+
case 728:switch(this.lt()){
|
|
4136
|
+
case'Id':if(this.cy(729,'paramname'))id=this.lb();continue
|
|
4137
|
+
case')':this.s=737;continue
|
|
4128
4138
|
default:this.e();continue
|
|
4129
4139
|
}
|
|
4130
|
-
case
|
|
4131
|
-
case
|
|
4132
|
-
case
|
|
4133
|
-
case',':if(this.c(
|
|
4134
|
-
default:this.s=
|
|
4140
|
+
case 729:this.m(726,'=>');continue
|
|
4141
|
+
case 730:if(this.funcExpression(_={},731)){expr=_.expr; $.pathStep.args.push( expr ); }continue
|
|
4142
|
+
case 731:switch(this.lt()){
|
|
4143
|
+
case',':if(this.c(732)){this.nextFunctionArgument()}continue;
|
|
4144
|
+
default:this.s=734;continue
|
|
4135
4145
|
}
|
|
4136
|
-
case
|
|
4137
|
-
case')':this.c(
|
|
4138
|
-
default:this.s=
|
|
4146
|
+
case 732:switch(this.lt()){
|
|
4147
|
+
case')':this.c(733);continue
|
|
4148
|
+
default:this.s=730;continue
|
|
4139
4149
|
}
|
|
4140
|
-
case
|
|
4150
|
+
case 733:switch(this.lt()){
|
|
4141
4151
|
case'[':this.cardinalityAndFilter($,0);continue
|
|
4142
4152
|
default:this.gr(['*','+','-','.','/','<','=','>','?','!=','<=','<>','==','>=','in','is','or','||','and','not','like','between']);continue
|
|
4143
4153
|
}
|
|
4144
|
-
case
|
|
4145
|
-
case'order':if(this.ck(
|
|
4146
|
-
default:this.s=
|
|
4154
|
+
case 734:switch(this.lk()){
|
|
4155
|
+
case'order':if(this.ck(735)){ expr = $.pathStep.args[$.pathStep.args.length - 1] = this.applyOpToken( expr ); }continue
|
|
4156
|
+
default:this.s=737;continue
|
|
4147
4157
|
}
|
|
4148
|
-
case
|
|
4149
|
-
case
|
|
4150
|
-
case
|
|
4151
|
-
case
|
|
4158
|
+
case 735:if(this.mk(736,'by')){ this.pushXprToken( expr ); }continue
|
|
4159
|
+
case 736:if(this.orderByClauseAsXpr({outer:expr.args},737)){ this.attachLocation( expr ); }continue
|
|
4160
|
+
case 737:if(this.m(738,')')){ this.finalizeDictOrArray( $.pathStep.args ); }continue
|
|
4161
|
+
case 738:switch(this.lt()){
|
|
4152
4162
|
case'[':this.cardinalityAndFilter($,0);continue
|
|
4153
4163
|
default:this.gr(['*','+','-','.','/','<','=','>','?','!=','<=','<>','==','>=','in','is','or','||','and','not','like','between']);continue
|
|
4154
4164
|
}
|
|
@@ -4159,22 +4169,22 @@ funcExpression($,$next){
|
|
|
4159
4169
|
$.expr??=undefined
|
|
4160
4170
|
let args
|
|
4161
4171
|
let tok;let e;let _
|
|
4162
|
-
this.rule_(
|
|
4172
|
+
this.rule_(740,$next)
|
|
4163
4173
|
for(;;)switch(this.s){
|
|
4164
|
-
case
|
|
4165
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},
|
|
4166
|
-
case'GenericExpr':if(this.cx(
|
|
4167
|
-
case'GenericIntro':if(this.cx(
|
|
4174
|
+
case 740:switch(this.lGenericIntroOrExpr()){
|
|
4175
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},742))$.expr=_.expr;continue
|
|
4176
|
+
case'GenericExpr':if(this.cx(742)){tok=this.lb(); $.expr = { val: tok.keyword ?? tok.type, location: tok.location, literal: 'token' }; }continue
|
|
4177
|
+
case'GenericIntro':if(this.cx(741)){ $.expr = this.applyOpToken(); args = $.expr.args; }continue
|
|
4168
4178
|
default:this.e();continue
|
|
4169
4179
|
}
|
|
4170
|
-
case
|
|
4171
|
-
case
|
|
4172
|
-
case'GenericSeparator':if(this.cx(
|
|
4180
|
+
case 741:if(this.expression(_={},742)){e=_.expr; $.expr.args.push( e ); }continue
|
|
4181
|
+
case 742:switch(this.lGenericSeparator()){
|
|
4182
|
+
case'GenericSeparator':if(this.cx(743)){ if (args) this.pushXprToken( args ); else { $.expr= this.applyOpToken( $.expr ); args = $.expr.args; } }continue
|
|
4173
4183
|
default:this.gr([')',',','order']);continue
|
|
4174
4184
|
}
|
|
4175
|
-
case
|
|
4176
|
-
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},
|
|
4177
|
-
case'GenericExpr':if(this.cx(
|
|
4185
|
+
case 743:switch(this.lGenericExpr()){
|
|
4186
|
+
case'Id':case'#':case'(':case'+':case'-':case':':case'?':case'Number':case'String':case'QuotedLiteral':if(this.expression(_={},742)){e=_.expr; args.push( e ); }continue
|
|
4187
|
+
case'GenericExpr':if(this.cx(742)){ this.pushXprToken( args ); }continue
|
|
4178
4188
|
default:this.e();continue
|
|
4179
4189
|
}
|
|
4180
4190
|
default:
|
|
@@ -4184,27 +4194,27 @@ return this.exit_()
|
|
|
4184
4194
|
}
|
|
4185
4195
|
overClause($,$next){
|
|
4186
4196
|
let over=[]
|
|
4187
|
-
this.rule_(
|
|
4197
|
+
this.rule_(745,$next)
|
|
4188
4198
|
for(;;)switch(this.s){
|
|
4189
|
-
case
|
|
4190
|
-
case
|
|
4191
|
-
case'partition':if(this.ck(
|
|
4192
|
-
default:this.s=
|
|
4193
|
-
}
|
|
4194
|
-
case
|
|
4195
|
-
case
|
|
4196
|
-
case
|
|
4197
|
-
case'order':if(this.ck(
|
|
4198
|
-
default:this.s=750;continue
|
|
4199
|
-
}
|
|
4200
|
-
case 748:if(this.mk(749,'by')){ this.pushXprToken( over ); }continue
|
|
4201
|
-
case 749:this.orderByClauseAsXpr({outer:over},750);continue
|
|
4202
|
-
case 750:switch(this.lk()){
|
|
4203
|
-
case'rows':if(this.ck(751)){ this.pushXprToken( over ); }continue
|
|
4199
|
+
case 745:this.m(746,'(');continue
|
|
4200
|
+
case 746:switch(this.lk()){
|
|
4201
|
+
case'partition':if(this.ck(747)){ this.pushXprToken( over ); }continue
|
|
4202
|
+
default:this.s=749;continue
|
|
4203
|
+
}
|
|
4204
|
+
case 747:if(this.mk(748,'by')){ this.pushXprToken( over ); }continue
|
|
4205
|
+
case 748:this.expressionsAsXpr({outer:over},749);continue
|
|
4206
|
+
case 749:switch(this.lk()){
|
|
4207
|
+
case'order':if(this.ck(750)){ this.pushXprToken( over ); }continue
|
|
4204
4208
|
default:this.s=752;continue
|
|
4205
4209
|
}
|
|
4206
|
-
case
|
|
4207
|
-
case
|
|
4210
|
+
case 750:if(this.mk(751,'by')){ this.pushXprToken( over ); }continue
|
|
4211
|
+
case 751:this.orderByClauseAsXpr({outer:over},752);continue
|
|
4212
|
+
case 752:switch(this.lk()){
|
|
4213
|
+
case'rows':if(this.ck(753)){ this.pushXprToken( over ); }continue
|
|
4214
|
+
default:this.s=754;continue
|
|
4215
|
+
}
|
|
4216
|
+
case 753:this.windowFrameClause({outer:over},754);continue
|
|
4217
|
+
case 754:this.m(0,')');continue
|
|
4208
4218
|
default:
|
|
4209
4219
|
$.outer.push( this.surroundByParens( this.ixprAst( over ) ) )
|
|
4210
4220
|
return this.exit_()
|
|
@@ -4213,14 +4223,14 @@ return this.exit_()
|
|
|
4213
4223
|
expressionsAsXpr($,$next){
|
|
4214
4224
|
let args=[]
|
|
4215
4225
|
let expr;let _
|
|
4216
|
-
this.rule_(
|
|
4226
|
+
this.rule_(756,$next)
|
|
4217
4227
|
for(;;)switch(this.s){
|
|
4218
|
-
case
|
|
4219
|
-
case
|
|
4220
|
-
case',':if(this.c(
|
|
4228
|
+
case 756:if(this.expression(_={},757)){expr=_.expr; args.push( expr ); }continue
|
|
4229
|
+
case 757:switch(this.lt()){
|
|
4230
|
+
case',':if(this.c(758)){ this.pushXprToken( args ); }continue
|
|
4221
4231
|
default:this.gr([')','rows','order']);continue
|
|
4222
4232
|
}
|
|
4223
|
-
case
|
|
4233
|
+
case 758:if(this.expression(_={},757)){expr=_.expr; args.push( expr ); }continue
|
|
4224
4234
|
default:
|
|
4225
4235
|
$.outer.push( this.ixprAst( args ) )
|
|
4226
4236
|
return this.exit_()
|
|
@@ -4228,14 +4238,14 @@ return this.exit_()
|
|
|
4228
4238
|
}
|
|
4229
4239
|
orderByClauseAsXpr($,$next){
|
|
4230
4240
|
let args=[]
|
|
4231
|
-
this.rule_(
|
|
4241
|
+
this.rule_(760,$next)
|
|
4232
4242
|
for(;;)switch(this.s){
|
|
4233
|
-
case
|
|
4234
|
-
case
|
|
4235
|
-
case',':if(this.c(
|
|
4243
|
+
case 760:this.orderBySpecAsXpr({args},761);continue
|
|
4244
|
+
case 761:switch(this.lt()){
|
|
4245
|
+
case',':if(this.c(762)){ this.pushXprToken( args ); }continue
|
|
4236
4246
|
default:this.gr([')']);continue
|
|
4237
4247
|
}
|
|
4238
|
-
case
|
|
4248
|
+
case 762:this.orderBySpecAsXpr({args},761);continue
|
|
4239
4249
|
default:
|
|
4240
4250
|
$.outer.push( this.ixprAst( args ) )
|
|
4241
4251
|
return this.exit_()
|
|
@@ -4243,18 +4253,18 @@ return this.exit_()
|
|
|
4243
4253
|
}
|
|
4244
4254
|
orderBySpecAsXpr($,$next){
|
|
4245
4255
|
let expr;let _
|
|
4246
|
-
this.rule_(
|
|
4256
|
+
this.rule_(764,$next)
|
|
4247
4257
|
for(;;)switch(this.s){
|
|
4248
|
-
case
|
|
4249
|
-
case
|
|
4250
|
-
case'asc':case'desc':if(this.ck(
|
|
4251
|
-
default:this.s=
|
|
4258
|
+
case 764:if(this.expression(_={},765)){expr=_.expr; $.args.push( expr ); }continue
|
|
4259
|
+
case 765:switch(this.lk()){
|
|
4260
|
+
case'asc':case'desc':if(this.ck(766)){ this.pushXprToken( $.args ); }continue
|
|
4261
|
+
default:this.s=766;continue
|
|
4252
4262
|
}
|
|
4253
|
-
case
|
|
4254
|
-
case'nulls':if(this.ck(
|
|
4263
|
+
case 766:switch(this.lk()){
|
|
4264
|
+
case'nulls':if(this.ck(767)){ this.pushXprToken( $.args ); }continue
|
|
4255
4265
|
default:this.gr([')',',']);continue
|
|
4256
4266
|
}
|
|
4257
|
-
case
|
|
4267
|
+
case 767:switch(this.lk()){
|
|
4258
4268
|
case'last':case'first':if(this.ck(0)){ this.pushXprToken( $.args ); }continue
|
|
4259
4269
|
default:this.e();continue
|
|
4260
4270
|
}
|
|
@@ -4263,50 +4273,50 @@ default:return this.exit_()
|
|
|
4263
4273
|
}
|
|
4264
4274
|
windowFrameClause($,$next){
|
|
4265
4275
|
let args=[]
|
|
4266
|
-
this.rule_(
|
|
4276
|
+
this.rule_(769,$next)
|
|
4267
4277
|
for(;;)switch(this.s){
|
|
4268
|
-
case
|
|
4269
|
-
case'unbounded':if(this.ck(
|
|
4270
|
-
case'Number':if(this.c(
|
|
4271
|
-
case'current':if(this.ck(
|
|
4272
|
-
case'between':if(this.ck(
|
|
4278
|
+
case 769:switch(this.lk()){
|
|
4279
|
+
case'unbounded':if(this.ck(770)){ this.pushXprToken( args ); }continue
|
|
4280
|
+
case'Number':if(this.c(770)){ args.push( this.unsignedIntegerLiteral() ); }continue
|
|
4281
|
+
case'current':if(this.ck(771)){ this.pushXprToken( args ); }continue
|
|
4282
|
+
case'between':if(this.ck(772)){ this.pushXprToken( args ); }continue
|
|
4273
4283
|
default:this.e();continue
|
|
4274
4284
|
}
|
|
4275
|
-
case
|
|
4276
|
-
case
|
|
4277
|
-
case
|
|
4278
|
-
case
|
|
4279
|
-
case
|
|
4285
|
+
case 770:if(this.mk(0,'preceding')){ this.pushXprToken( args ); }continue
|
|
4286
|
+
case 771:if(this.mk(0,'row')){ this.pushXprToken( args ); }continue
|
|
4287
|
+
case 772:this.windowFrameBoundSpec({args},773);continue
|
|
4288
|
+
case 773:if(this.mk(774,'and')){ this.pushXprToken( args ); }continue
|
|
4289
|
+
case 774:this.windowFrameBoundSpec({args},0);continue
|
|
4280
4290
|
default:
|
|
4281
4291
|
$.outer.push( this.ixprAst( args ) )
|
|
4282
4292
|
return this.exit_()
|
|
4283
4293
|
}
|
|
4284
4294
|
}
|
|
4285
4295
|
windowFrameBoundSpec($,$next){
|
|
4286
|
-
this.rule_(
|
|
4296
|
+
this.rule_(776,$next)
|
|
4287
4297
|
for(;;)switch(this.s){
|
|
4288
|
-
case
|
|
4289
|
-
case'unbounded':if(this.ck(
|
|
4290
|
-
case'Number':if(this.c(
|
|
4291
|
-
case'current':if(this.ck(
|
|
4298
|
+
case 776:switch(this.lk()){
|
|
4299
|
+
case'unbounded':if(this.ck(777)){ this.pushXprToken( $.args ); }continue
|
|
4300
|
+
case'Number':if(this.c(777)){ $.args.push( this.unsignedIntegerLiteral() ); }continue
|
|
4301
|
+
case'current':if(this.ck(779)){ this.pushXprToken( $.args ); }continue
|
|
4292
4302
|
default:this.e();continue
|
|
4293
4303
|
}
|
|
4294
|
-
case
|
|
4295
|
-
case'following':this.ck(
|
|
4296
|
-
case'preceding':this.ck(
|
|
4304
|
+
case 777:switch(this.lk()){
|
|
4305
|
+
case'following':this.ck(778);continue
|
|
4306
|
+
case'preceding':this.ck(778);continue
|
|
4297
4307
|
default:this.e();continue
|
|
4298
4308
|
}
|
|
4299
|
-
case
|
|
4300
|
-
case
|
|
4309
|
+
case 778:if(this.gr()){ this.pushXprToken( $.args ); }continue
|
|
4310
|
+
case 779:if(this.mk(0,'row')){ this.pushXprToken( $.args ); }continue
|
|
4301
4311
|
default:return this.exit_()
|
|
4302
4312
|
}
|
|
4303
4313
|
}
|
|
4304
4314
|
literalValue($,$next){
|
|
4305
4315
|
$.expr??={}
|
|
4306
|
-
this.rule_(
|
|
4316
|
+
this.rule_(781,$next)
|
|
4307
4317
|
for(;;)switch(this.s){
|
|
4308
|
-
case
|
|
4309
|
-
case'#':if(this.c(
|
|
4318
|
+
case 781:switch(this.lk()){
|
|
4319
|
+
case'#':if(this.c(782)){ this.reportUnexpectedSpace(); }continue
|
|
4310
4320
|
case'null':if(this.ck(0)){ $.expr = { literal: 'null', val: null }; }continue
|
|
4311
4321
|
case'true':case'false':if(this.ck(0)){ $.expr = { literal: 'boolean', val: this.lb().keyword === 'true' }; }continue
|
|
4312
4322
|
case'Number':if(this.c(0)){ $.expr = this.numberLiteral(); }continue
|
|
@@ -4314,17 +4324,17 @@ case'String':if(this.c(0)){ $.expr = this.quotedLiteral(); }continue
|
|
|
4314
4324
|
case'QuotedLiteral':if(this.c(0)){ $.expr = this.quotedLiteral(); }continue
|
|
4315
4325
|
default:this.e();continue
|
|
4316
4326
|
}
|
|
4317
|
-
case
|
|
4327
|
+
case 782:if(this.my(0,'enumref')){ $.expr = { literal: 'enum', sym: this.identAst() } }continue
|
|
4318
4328
|
default:
|
|
4319
4329
|
this.attachLocation( $.expr )
|
|
4320
4330
|
return this.exit_()
|
|
4321
4331
|
}
|
|
4322
4332
|
}
|
|
4323
4333
|
annoAssignStd($,$next){
|
|
4324
|
-
this.rule_(
|
|
4334
|
+
this.rule_(784,$next)
|
|
4325
4335
|
for(;;)switch(this.s){
|
|
4326
|
-
case
|
|
4327
|
-
case
|
|
4336
|
+
case 784:if(this.m(785,'@')){this.annoInSameLine(); this.reportDubiousAnnoSpacing(); }continue
|
|
4337
|
+
case 785:switch(this.lt()){
|
|
4328
4338
|
case'(':this.annoAssignParen($,0);continue
|
|
4329
4339
|
case'Id':this.annoAssignBase($,0);continue
|
|
4330
4340
|
default:this.e();continue
|
|
@@ -4335,10 +4345,10 @@ return this.exit_()
|
|
|
4335
4345
|
}
|
|
4336
4346
|
}
|
|
4337
4347
|
annoAssignCol($,$next){
|
|
4338
|
-
this.rule_(
|
|
4348
|
+
this.rule_(787,$next)
|
|
4339
4349
|
for(;;)switch(this.s){
|
|
4340
|
-
case
|
|
4341
|
-
case
|
|
4350
|
+
case 787:if(this.m(788,'@')){ this.reportDubiousAnnoSpacing(); }continue
|
|
4351
|
+
case 788:switch(this.lt()){
|
|
4342
4352
|
case'(':this.annoAssignParen($,0);continue
|
|
4343
4353
|
case'Id':this.annoAssignBase($,0);continue
|
|
4344
4354
|
default:this.e();continue
|
|
@@ -4350,10 +4360,10 @@ return this.exit_()
|
|
|
4350
4360
|
}
|
|
4351
4361
|
annoAssignMid($,$next){
|
|
4352
4362
|
let name;let _
|
|
4353
|
-
this.rule_(
|
|
4363
|
+
this.rule_(790,$next)
|
|
4354
4364
|
for(;;)switch(this.s){
|
|
4355
|
-
case
|
|
4356
|
-
case
|
|
4365
|
+
case 790:if(this.m(791,'@')){this.annoInSameLine(); this.reportDubiousAnnoSpacing(); }continue
|
|
4366
|
+
case 791:switch(this.lt()){
|
|
4357
4367
|
case'(':this.annoAssignParen($,0);continue
|
|
4358
4368
|
case'Id':if(this.annoNamePath(_={category:'anno'},0)){name=_.name; this.assignAnnotation( $.art, {}, name ); this.warnIfColonFollows( name ); }continue
|
|
4359
4369
|
default:this.e();continue
|
|
@@ -4364,33 +4374,33 @@ return this.exit_()
|
|
|
4364
4374
|
}
|
|
4365
4375
|
}
|
|
4366
4376
|
annoAssignParen($,$next){
|
|
4367
|
-
this.rule_(
|
|
4377
|
+
this.rule_(793,$next)
|
|
4368
4378
|
for(;;)switch(this.s){
|
|
4369
|
-
case
|
|
4370
|
-
case
|
|
4371
|
-
case'Id':this.annoAssignBase({art:$.art},
|
|
4372
|
-
default:this.s=
|
|
4373
|
-
}
|
|
4374
|
-
case
|
|
4375
|
-
case',':this.c(
|
|
4376
|
-
case')':this.s=
|
|
4379
|
+
case 793:if(this.m(794,'(')){this.annoInSameLine()}continue;
|
|
4380
|
+
case 794:switch(this.lt()){
|
|
4381
|
+
case'Id':this.annoAssignBase({art:$.art},795);continue
|
|
4382
|
+
default:this.s=796;continue
|
|
4383
|
+
}
|
|
4384
|
+
case 795:switch(this.lt()){
|
|
4385
|
+
case',':this.c(794);continue
|
|
4386
|
+
case')':this.s=796;continue
|
|
4377
4387
|
default:this.e();continue
|
|
4378
4388
|
}
|
|
4379
|
-
case
|
|
4389
|
+
case 796:this.m(0,')');continue
|
|
4380
4390
|
default:return this.exit_()
|
|
4381
4391
|
}
|
|
4382
4392
|
}
|
|
4383
4393
|
annoAssignBase($,$next){
|
|
4384
4394
|
let value={}
|
|
4385
4395
|
let name;let _
|
|
4386
|
-
this.rule_(
|
|
4396
|
+
this.rule_(798,$next)
|
|
4387
4397
|
for(;;)switch(this.s){
|
|
4388
|
-
case
|
|
4389
|
-
case
|
|
4390
|
-
case':':this.c(
|
|
4398
|
+
case 798:if(this.annoNamePath(_={category:'anno'},799))name=_.name;continue
|
|
4399
|
+
case 799:switch(this.l()){
|
|
4400
|
+
case':':this.c(800);continue
|
|
4391
4401
|
default:this.gr();continue
|
|
4392
4402
|
}
|
|
4393
|
-
case
|
|
4403
|
+
case 800:if(this.annoValue(_={},0))value=_.value;continue
|
|
4394
4404
|
default:
|
|
4395
4405
|
this.assignAnnotation( $.art, value, name || {} )
|
|
4396
4406
|
return this.exit_()
|
|
@@ -4399,20 +4409,20 @@ return this.exit_()
|
|
|
4399
4409
|
annoNamePath($,$next){
|
|
4400
4410
|
$.name??=new XsnName()
|
|
4401
4411
|
let at
|
|
4402
|
-
this.rule_(
|
|
4412
|
+
this.rule_(802,$next)
|
|
4403
4413
|
for(;;)switch(this.s){
|
|
4404
|
-
case
|
|
4405
|
-
case
|
|
4406
|
-
case'.':this.c(
|
|
4407
|
-
default:this.s=
|
|
4408
|
-
}
|
|
4409
|
-
case
|
|
4410
|
-
case'Id':if(this.cy(
|
|
4411
|
-
case'@':if(this.c(
|
|
4414
|
+
case 802:if(this.my(803,$.category)){ $.name.path = [ this.identAst() ]; }continue
|
|
4415
|
+
case 803:switch(this.lt()){
|
|
4416
|
+
case'.':this.c(804);continue
|
|
4417
|
+
default:this.s=806;continue
|
|
4418
|
+
}
|
|
4419
|
+
case 804:switch(this.lt()){
|
|
4420
|
+
case'Id':if(this.cy(803,$.category)){ $.name.path.push( this.identAst() ); }continue
|
|
4421
|
+
case'@':if(this.c(805))at=this.lb();continue
|
|
4412
4422
|
default:this.e();continue
|
|
4413
4423
|
}
|
|
4414
|
-
case
|
|
4415
|
-
case
|
|
4424
|
+
case 805:if(this.my(803,$.category)){ $.name.path.push( this.identAstWithPrefix( at ) ); }continue
|
|
4425
|
+
case 806:switch(this.l()){
|
|
4416
4426
|
case'#':this.annoPathVariant({nameOrRef:$.name},0);continue
|
|
4417
4427
|
default:this.gr();continue
|
|
4418
4428
|
}
|
|
@@ -4423,25 +4433,25 @@ return this.exit_()
|
|
|
4423
4433
|
}
|
|
4424
4434
|
annoPath($,$next){
|
|
4425
4435
|
let at
|
|
4426
|
-
this.rule_(
|
|
4436
|
+
this.rule_(808,$next)
|
|
4427
4437
|
for(;;)switch(this.s){
|
|
4428
|
-
case
|
|
4429
|
-
case'Id':if(this.cy(
|
|
4430
|
-
case'@':if(this.c(
|
|
4438
|
+
case 808:switch(this.lt()){
|
|
4439
|
+
case'Id':if(this.cy(810,$.category)){ $.nameOrRef.path = [ this.identAst() ]; }continue
|
|
4440
|
+
case'@':if(this.c(809))at=this.lb();continue
|
|
4431
4441
|
default:this.e();continue
|
|
4432
4442
|
}
|
|
4433
|
-
case
|
|
4434
|
-
case
|
|
4435
|
-
case'.':this.c(
|
|
4436
|
-
default:this.s=
|
|
4443
|
+
case 809:if(this.my(810,$.category)){ $.nameOrRef.path = [ this.identAstWithPrefix( at ) ]; }continue
|
|
4444
|
+
case 810:switch(this.lt()){
|
|
4445
|
+
case'.':this.c(811);continue
|
|
4446
|
+
default:this.s=813;continue
|
|
4437
4447
|
}
|
|
4438
|
-
case
|
|
4439
|
-
case'Id':if(this.cy(
|
|
4440
|
-
case'@':if(this.c(
|
|
4448
|
+
case 811:switch(this.lt()){
|
|
4449
|
+
case'Id':if(this.cy(810,$.category)){ $.nameOrRef.path.push( this.identAst() ); }continue
|
|
4450
|
+
case'@':if(this.c(812))at=this.lb();continue
|
|
4441
4451
|
default:this.e();continue
|
|
4442
4452
|
}
|
|
4443
|
-
case
|
|
4444
|
-
case
|
|
4453
|
+
case 812:if(this.my(810,$.category)){ $.nameOrRef.path.push( this.identAstWithPrefix( at ) ); }continue
|
|
4454
|
+
case 813:switch(this.lt()){
|
|
4445
4455
|
case'#':this.annoPathVariant({nameOrRef:$.nameOrRef},0);continue
|
|
4446
4456
|
default:this.gr();continue
|
|
4447
4457
|
}
|
|
@@ -4451,15 +4461,15 @@ return this.exit_()
|
|
|
4451
4461
|
}
|
|
4452
4462
|
}
|
|
4453
4463
|
annoPathVariant($,$next){
|
|
4454
|
-
this.rule_(
|
|
4464
|
+
this.rule_(815,$next)
|
|
4455
4465
|
for(;;)switch(this.s){
|
|
4456
|
-
case
|
|
4457
|
-
case
|
|
4458
|
-
case
|
|
4459
|
-
case'.':this.c(
|
|
4466
|
+
case 815:if(this.m(816,'#')){ this.reportUnexpectedSpace(); }continue
|
|
4467
|
+
case 816:if(this.my(817,'variant')){ $.nameOrRef.variant = { path: [ this.identAst() ] }; }continue
|
|
4468
|
+
case 817:switch(this.lt()){
|
|
4469
|
+
case'.':this.c(818);continue
|
|
4460
4470
|
default:this.gr();continue
|
|
4461
4471
|
}
|
|
4462
|
-
case
|
|
4472
|
+
case 818:if(this.my(817,'variant')){ $.nameOrRef.variant.path.push( this.identAst() ); }continue
|
|
4463
4473
|
default:
|
|
4464
4474
|
this.attachLocation( $.nameOrRef.variant )
|
|
4465
4475
|
return this.exit_()
|
|
@@ -4469,14 +4479,14 @@ annoStructValue($,$next){
|
|
|
4469
4479
|
$.value??={}
|
|
4470
4480
|
let name=new XsnName()
|
|
4471
4481
|
let _
|
|
4472
|
-
this.rule_(
|
|
4482
|
+
this.rule_(820,$next)
|
|
4473
4483
|
for(;;)switch(this.s){
|
|
4474
|
-
case
|
|
4475
|
-
case
|
|
4476
|
-
case':':this.c(
|
|
4484
|
+
case 820:if(this.annoPath({nameOrRef:name,category:'name'},821)){ this.attachLocation( name ); }continue
|
|
4485
|
+
case 821:switch(this.lt()){
|
|
4486
|
+
case':':this.c(822);continue
|
|
4477
4487
|
default:if(this.gr(['Id',',','@','}'])){ this.attachLocation( $.value ); }continue
|
|
4478
4488
|
}
|
|
4479
|
-
case
|
|
4489
|
+
case 822:if(this.annoValue(_={},0))$.value=_.value;continue
|
|
4480
4490
|
default:
|
|
4481
4491
|
$.value.name = name
|
|
4482
4492
|
return this.exit_()
|
|
@@ -4485,61 +4495,61 @@ return this.exit_()
|
|
|
4485
4495
|
annoValue($,$next){
|
|
4486
4496
|
$.value??={}
|
|
4487
4497
|
let sign;let sub;let ellipsis;let upTo;let _
|
|
4488
|
-
this.rule_(
|
|
4498
|
+
this.rule_(824,$next)
|
|
4489
4499
|
for(;;)switch(this.s){
|
|
4490
|
-
case
|
|
4500
|
+
case 824:switch(this.l()){
|
|
4491
4501
|
case'#':case'null':case'true':case'false':case'Number':case'String':case'QuotedLiteral':if(this.literalValue(_={},0)){$.value=_.expr; this.adjustAnnoNumber( $.value ); }continue
|
|
4492
|
-
case'+':case'-':if(this.c(
|
|
4502
|
+
case'+':case'-':if(this.c(825))sign=this.lb();continue
|
|
4493
4503
|
case'Id':case'@':this.annoPath({nameOrRef:$.value,category:'annoref'},0);continue
|
|
4494
|
-
case'{':if(this.c(
|
|
4504
|
+
case'{':if(this.c(826)){ if (!this.dynamic_.arrayAnno) $.value.$flatten = [];
|
|
4495
4505
|
else { $.value.struct = Object.create(null); $.value.literal = 'struct'; } }continue
|
|
4496
|
-
case'[':if(this.c(
|
|
4497
|
-
case'(':this.c(
|
|
4506
|
+
case'[':if(this.c(829)){this.arrayAnno(); $.value.val = []; $.value.literal = 'array' }continue
|
|
4507
|
+
case'(':this.c(835);continue
|
|
4498
4508
|
default:this.e();continue
|
|
4499
4509
|
}
|
|
4500
|
-
case
|
|
4501
|
-
case
|
|
4502
|
-
case'Id':case'@':if(this.annoStructValue(_={},
|
|
4510
|
+
case 825:if(this.m(0,'Number')){ this.adjustAnnoNumber( $.value = this.numberLiteral( sign ) ); }continue
|
|
4511
|
+
case 826:switch(this.lt()){
|
|
4512
|
+
case'Id':case'@':if(this.annoStructValue(_={},827)){sub=_.value; if ($.value.$flatten) $.value.$flatten.push( sub );
|
|
4503
4513
|
else this.addDef( sub, $.value, 'struct', null, sub.name ); }continue
|
|
4504
|
-
default:this.s=
|
|
4514
|
+
default:this.s=828;continue
|
|
4505
4515
|
}
|
|
4506
|
-
case
|
|
4507
|
-
case',':this.c(
|
|
4508
|
-
case'}':this.s=
|
|
4509
|
-
case'Id':case'@':this.s=
|
|
4516
|
+
case 827:switch(this.l()){
|
|
4517
|
+
case',':this.c(826);continue
|
|
4518
|
+
case'}':this.s=828;continue
|
|
4519
|
+
case'Id':case'@':this.s=826;continue
|
|
4510
4520
|
default:this.e();continue
|
|
4511
4521
|
}
|
|
4512
|
-
case
|
|
4522
|
+
case 828:switch(this.l()){
|
|
4513
4523
|
case'}':if(this.c(0)){ if ($.value.struct) this.checkStructProps( $.value.struct ); }continue
|
|
4514
4524
|
default:this.e();continue
|
|
4515
4525
|
}
|
|
4516
|
-
case
|
|
4517
|
-
case'Id':case'#':case'(':case'+':case'-':case'@':case'[':case'{':case'Number':case'String':case'QuotedLiteral':if(this.annoValue(_={},
|
|
4518
|
-
case'...':if(this.c(
|
|
4519
|
-
default:this.s=
|
|
4526
|
+
case 829:switch(this.l()){
|
|
4527
|
+
case'Id':case'#':case'(':case'+':case'-':case'@':case'[':case'{':case'Number':case'String':case'QuotedLiteral':if(this.annoValue(_={},833)){sub=_.value; $.value.val.push( sub ) }continue
|
|
4528
|
+
case'...':if(this.c(830))ellipsis=this.lb();continue
|
|
4529
|
+
default:this.s=834;continue
|
|
4520
4530
|
}
|
|
4521
|
-
case
|
|
4522
|
-
case'up':this.ck(
|
|
4523
|
-
case',':case']':this.s=
|
|
4531
|
+
case 830:switch(this.lk()){
|
|
4532
|
+
case'up':this.ck(831);continue
|
|
4533
|
+
case',':case']':this.s=833;{ $.value.val.push( { literal: 'token', val: '...', location: ellipsis.location } ); }continue
|
|
4524
4534
|
default:this.e();continue
|
|
4525
4535
|
}
|
|
4526
|
-
case
|
|
4527
|
-
case
|
|
4528
|
-
case
|
|
4529
|
-
case',':this.c(
|
|
4530
|
-
case']':this.s=
|
|
4536
|
+
case 831:this.mk(832,'to');continue
|
|
4537
|
+
case 832:if(this.annoValue(_={},833)){upTo=_.value; $.value.val.push( { literal: 'token', val: '...', location: ellipsis.location, upTo: upTo } ); }continue
|
|
4538
|
+
case 833:switch(this.lt()){
|
|
4539
|
+
case',':this.c(829);continue
|
|
4540
|
+
case']':this.s=834;continue
|
|
4531
4541
|
default:this.e();continue
|
|
4532
4542
|
}
|
|
4533
|
-
case
|
|
4543
|
+
case 834:switch(this.l()){
|
|
4534
4544
|
case']':this.c(0);continue
|
|
4535
4545
|
default:this.e();continue
|
|
4536
4546
|
}
|
|
4537
|
-
case
|
|
4547
|
+
case 835:switch(this.l()){
|
|
4538
4548
|
case')':this.c(0);continue
|
|
4539
|
-
default:this.s=
|
|
4549
|
+
default:this.s=836;continue
|
|
4540
4550
|
}
|
|
4541
|
-
case
|
|
4542
|
-
case
|
|
4551
|
+
case 836:if(this.condition(_={},837)){$.value=_.expr; $.value.$tokenTexts = true; }continue
|
|
4552
|
+
case 837:this.m(0,')');continue
|
|
4543
4553
|
default:
|
|
4544
4554
|
this.attachLocation( $.value )
|
|
4545
4555
|
return this.exit_()
|