All Downloads are FREE. Search and download functionalities are using the official Maven repository.

terix.asterix-runtime.0.8.8-incubating.source-code.adm.grammar Maven / Gradle / Ivy

# 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.

# LEXER GENERATOR configuration file
# ---------------------------------------
# Place *first* the generic configuration
# then list your grammar.

PACKAGE:          org.apache.asterix.runtime.operators.file.adm
LEXER_NAME:       AdmLexer

TOKENS:

BOOLEAN_CONS   = string(boolean)
INT8_CONS      = string(int8)
INT16_CONS     = string(int16)
INT32_CONS     = string(int32)
INT64_CONS     = string(int64)
INT64_CONS     = string(int)
FLOAT_CONS     = string(float)
DOUBLE_CONS    = string(double)
DATE_CONS      = string(date)
DATETIME_CONS  = string(datetime)
DURATION_CONS  = string(duration)
STRING_CONS    = string(string)
HEX_CONS       = string(hex)
BASE64_CONS    = string(base64)
POINT_CONS     = string(point)
POINT3D_CONS   = string(point3d)
LINE_CONS      = string(line)
POLYGON_CONS   = string(polygon)
RECTANGLE_CONS = string(rectangle)
CIRCLE_CONS    = string(circle)
TIME_CONS      = string(time)
INTERVAL_TIME_CONS      = string(interval-time)
INTERVAL_DATE_CONS      = string(interval-date)
INTERVAL_DATETIME_CONS  = string(interval-datetime)
YEAR_MONTH_DURATION_CONS = string(year-month-duration)
DAY_TIME_DURATION_CONS   = string(day-time-duration)
UUID_CONS      = string(uuid)

NULL_LITERAL   = string(null)
TRUE_LITERAL   = string(true)
FALSE_LITERAL  = string(false)

CONSTRUCTOR_OPEN     = char(()
CONSTRUCTOR_CLOSE    = char())
START_RECORD         = char({)
END_RECORD           = char(})
COMMA                = char(\,)
COLON                = char(:)
START_ORDERED_LIST   = char([)
END_ORDERED_LIST     = char(])
START_UNORDERED_LIST = string({{)
# END_UNORDERED_LIST  = }} is recognized as a double END_RECORD token

STRING_LITERAL       = char("), anythingUntil(")

INT_LITERAL          = signOrNothing(), digitSequence()
INT8_LITERAL         = token(INT_LITERAL), string(i8)
INT16_LITERAL        = token(INT_LITERAL), string(i16)
INT32_LITERAL        = token(INT_LITERAL), string(i32)
INT64_LITERAL        = token(INT_LITERAL), string(i64)

@EXPONENT            = caseInsensitiveChar(e), signOrNothing(), digitSequence()

DOUBLE_LITERAL		 = signOrNothing(), char(.), digitSequence()
DOUBLE_LITERAL		 = signOrNothing(), digitSequence(), char(.), digitSequence()
DOUBLE_LITERAL		 = signOrNothing(), digitSequence(), char(.), digitSequence(), token(@EXPONENT)
DOUBLE_LITERAL		 = signOrNothing(), digitSequence(), token(@EXPONENT)

FLOAT_LITERAL		 = token(DOUBLE_LITERAL), caseInsensitiveChar(f)




© 2015 - 2025 Weber Informatics LLC | Privacy Policy