// Copyright (C) 2016, 2017, 2018, 2019  Stefan Vargyas
// 
// This file is part of Json-Type.
// 
// Json-Type is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
// 
// Json-Type is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
// 
// You should have received a copy of the GNU General Public License
// along with Json-Type.  If not, see <http://www.gnu.org/licenses/>.

// CASE(type, id, name, pad, desc, min, max, def)

CASE(POOL,
 pool_size,
"pool-size",
            "           ", "expr memory pool size",
1, MB(2), KB(512)
)
CASE(STACK,
 comp_flat_stack_max,
"comp-flat-stack-max",
                      " ", "expr flat compiler stack maximum size",
1, 1024, 128
)
CASE(STACK,
 comp_flat_stack_init,
"comp-flat-stack-init",
                       "", "expr flat compiler stack initial size",
1, 1024, 64
)
CASE(POOL,
 comp_ast_pool_size,
"comp-ast-pool-size",
                     "  ", "expr ast compiler pool size",
1, MB(1), KB(8)
)
CASE(STACK,
 comp_ast_stack_max,
"comp-ast-stack-max",
                     "  ", "expr ast compiler stack minimum size",
1, 1024, 128
)
CASE(STACK,
 comp_ast_stack_init,
"comp-ast-stack-init",
                      " ", "expr ast compiler stack initial size",
1, 1024, 64
)
CASE(PLAIN,
 comp_nodes_max,
"comp-nodes-max",
                 "      ", "expr compiler nodes list maximum size",
1, 1024, 128
)
CASE(PLAIN,
 comp_nodes_init,
"comp-nodes-init",
                  "     ", "expr compiler nodes list initial size",
1, 1024, 64
)
CASE(PLAIN,
 comp_rexes_max,
"comp-rexes-max",
                 "      ", "expr compiler rexes list maximum size",
1, 1024, 128
)
CASE(PLAIN,
 comp_rexes_init,
"comp-rexes-init",
                  "     ", "expr compiler rexes list initial size",
1, 1024, 64
)
CASE(PLAIN,
 exec_ovector_max,
"exec-ovector-max",
                   "    ", "expr executor ovector maximum size",
1, 128, 32
)
CASE(PLAIN,
 exec_match_limit,
"exec-match-limit",
                   "    ", "expr executor match limit value",
1, 10000000, 500000
)
CASE(PLAIN,
 exec_depth_limit,
"exec-depth-limit",
                   "    ", "expr executor depth limit value",
1, 10000000, 500000
)
CASE(PLAIN,
 exec_heap_limit,
"exec-heap-limit",
                  "     ", "expr executor heap limit value (KB)",
1, KB(2), KB(1)
)
CASE(STACK,
 exec_stack_max,
"exec-stack-max",
                 "      ", "expr executor stack maximum size",
1, 1024, 128
)
CASE(STACK,
 exec_stack_init,
"exec-stack-init",
                  "     ", "expr executor stack initial size",
1, 1024, 64
)

