| # Licensed to the Apache Software Foundation (ASF) under one or more |
| # contributor license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright ownership. |
| # The ASF licenses this file to you under the Apache License, Version 2.0 |
| # (the "License"); you may not use this file except in compliance with |
| # the License. You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| |
| # This file is an FMPP (http://fmpp.sourceforge.net/) configuration file to |
| # allow clients to extend Calcite's SQL parser to support application specific |
| # SQL statements, literals or data types. |
| # |
| # Calcite's parser grammar file (Parser.jj) is written in javacc |
| # (https://javacc.github.io/javacc/) with Freemarker (http://freemarker.org/) |
| # variables to allow clients to: |
| # 1. have custom parser implementation class and package name. |
| # 2. insert new parser method implementations written in javacc to parse |
| # custom: |
| # a) SQL statements. |
| # b) literals. |
| # c) data types. |
| # 3. add new keywords to support custom SQL constructs added as part of (2). |
| # 4. add import statements needed by inserted custom parser implementations. |
| # |
| # Parser template file (Parser.jj) along with this file are packaged as |
| # part of the calcite-core-<version>.jar under "codegen" directory. |
| |
| data: { |
| # Data declarations for this parser. |
| # |
| # Default declarations are in default_config.fmpp; if you do not include a |
| # declaration ('imports' or 'nonReservedKeywords', for example) in this file, |
| # FMPP will use the declaration from default_config.fmpp. |
| parser: { |
| # Generated parser implementation package and class name. |
| package: "org.apache.calcite.sql.parser.impl", |
| class: "SqlParserImpl", |
| |
| # List of files in @includes directory that have parser method |
| # implementations for parsing custom SQL statements, literals or types |
| # given as part of "statementParserMethods", "literalParserMethods" or |
| # "dataTypeParserMethods". |
| implementationFiles: [ |
| "parserImpls.ftl" |
| ] |
| } |
| } |
| |
| freemarkerLinks: { |
| includes: includes/ |
| } |