49 lines
1.1 KiB
Python
49 lines
1.1 KiB
Python
"""
|
|
GTSAM Copyright 2010-2020, Georgia Tech Research Corporation,
|
|
Atlanta, Georgia 30332-0415
|
|
All Rights Reserved
|
|
|
|
See LICENSE for the license information
|
|
|
|
All the token definitions.
|
|
|
|
Author: Duy Nguyen Ta, Fan Jiang, Matthew Sklar, Varun Agrawal, and Frank Dellaert
|
|
"""
|
|
|
|
from pyparsing import Keyword, Literal, Suppress, Word, alphanums, alphas, nums
|
|
|
|
# rule for identifiers (e.g. variable names)
|
|
IDENT = Word(alphas + '_', alphanums + '_') ^ Word(nums)
|
|
|
|
RAW_POINTER, SHARED_POINTER, REF = map(Literal, "@*&")
|
|
|
|
LPAREN, RPAREN, LBRACE, RBRACE, COLON, SEMI_COLON = map(Suppress, "(){}:;")
|
|
LOPBRACK, ROPBRACK, COMMA, EQUAL = map(Suppress, "<>,=")
|
|
CONST, VIRTUAL, CLASS, STATIC, PAIR, TEMPLATE, TYPEDEF, INCLUDE = map(
|
|
Keyword,
|
|
[
|
|
"const",
|
|
"virtual",
|
|
"class",
|
|
"static",
|
|
"pair",
|
|
"template",
|
|
"typedef",
|
|
"#include",
|
|
],
|
|
)
|
|
NAMESPACE = Keyword("namespace")
|
|
BASIS_TYPES = map(
|
|
Keyword,
|
|
[
|
|
"void",
|
|
"bool",
|
|
"unsigned char",
|
|
"char",
|
|
"int",
|
|
"size_t",
|
|
"double",
|
|
"float",
|
|
],
|
|
)
|