8#ifndef HPP_ALIB_EXPRESSIONS_DETAIL_PARSER_IMPL
9#define HPP_ALIB_EXPRESSIONS_DETAIL_PARSER_IMPL
11#if !defined (HPP_ALIB_EXPRESSIONS_DETAIL_AST)
15#if !defined (HPP_ALIB_EXPRESSIONS_DETAIL_PARSER)
19#if !defined(HPP_ALIB_MONOMEM_HASHSET)
22#if !defined (HPP_ALIB_MONOMEM_STDCONTAINERMA)
25#if !defined (HPP_ALIB_STRINGS_SUBSTRING)
28#if !defined(HPP_ALIB_COMPATIBILITY_STD_STRINGS_FUNCTIONAL)
34namespace alib {
namespace expressions {
76 SubscriptClose =
']' ,
140 alib::hash_string_ignore_case <character>,
151 alib::hash_string_ignore_case <character>,
158 std::vector<AST*, StdContMA<AST*>>*
ASTs;
270 ASTs->emplace_back(ast);
std::vector< AST *, StdContMA< AST * > > * ASTs
ASTLiteral::NFHint tokLiteralHint
ALIB_API String getBinaryOp()
MonoAllocator * compileTimeAllocator
HashSet< String, alib::hash_string_ignore_case< character >, alib::equal_to_string_ignore_case< character > > binaryOperators
ParserImpl(Compiler &compiler, MonoAllocator *allocator)
NumberFormat * numberFormat
virtual ~ParserImpl() override
std::bitset< 256 > operatorChars
ALIB_API String getUnaryOp()
AST * parseSubscript(AST *function)
HashSet< String, alib::hash_string_ignore_case< character >, alib::equal_to_string_ignore_case< character > > unaryOperators
std::bitset< 256 > syntaxTokens
virtual ALIB_API detail::AST * Parse(const String &exprString, NumberFormat *nf, MonoAllocator *allocator) override
strings::TString< character > String
Type alias in namespace alib.
expressions::Compiler Compiler
Type alias in namespace alib.
lang::integer integer
Type alias in namespace alib.