Qore Programming Language Reference Manual  0.8.12.11
 All Classes Namespaces Functions Variables Groups Pages
Parse Option Constants

Variables

const Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS
 Prohibits the use of the '$' character in variable names, method calls, and object member references. More...
 
const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION
 Allows code/dependency injections in the contained Program object. More...
 
const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL
 Assume local variable scope when variables are first referenced if no my or our is present. More...
 
const Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS
 allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored More...
 
const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING
 allows for old pre-Qore 0.8.12 broken list rewriting in the parser More...
 
const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE
 allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators More...
 
const Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS
 allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces More...
 
const Qore::PO_DEFAULT = PO_DEFAULT
 This option is the empty option, meaning no options are set.
 
const Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS
 mask of options that have no effect on code access or code safety but just affect programming style More...
 
const Qore::PO_IN_MODULE = PO_IN_MODULE
 Only set by the system when in a user module Program. More...
 
const Qore::PO_LOCKDOWN = PO_LOCKDOWN
 Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access. More...
 
const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS
 Disallows changes to the warning mask. More...
 
const Qore::PO_NEW_STYLE = PO_NEW_STYLE
 Set a more C++ or Java type programming style; prohibits usage of the "$" character and also assumes local variable scope without my. More...
 
const Qore::PO_NO_API = PO_NO_API
 Prohibits any code from being inherited into the Program object, including the system API. More...
 
const Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS
 Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object. More...
 
const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS
 Disallows class definitions. More...
 
const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS
 Disallows constant definitions. More...
 
const Qore::PO_NO_DATABASE = PO_NO_DATABASE
 Disallows access to database functionality. More...
 
const Qore::PO_NO_EMBEDDED_LOGIC = PO_NO_EMBEDDED_LOGIC
 Prohibits embedded logic from being used.
 
const Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS
 Prohibits any external access. More...
 
const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO
 Disallows access to functionality that provides information about the computing environment. More...
 
const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS
 Disallows any access to external processes (with system(), backquote(), exec(), etc) More...
 
const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM
 Disallows access to the filesystem. More...
 
const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS
 Disallows the use of global variables. More...
 
const Qore::PO_NO_GUI = PO_NO_GUI
 Disallows access to functionality that draws graphics to the display. More...
 
const Qore::PO_NO_INHERIT_GLOBAL_VARS = PO_NO_INHERIT_GLOBAL_VARS
 Precludes global variables from being inherited into the new Program object.
 
const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS
 Prohibits system constants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
 Prohibits builtin/system function variants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS
 Prohibits user constants from being imported into the new Program object. More...
 
const Qore::PO_NO_INHERIT_USER_FUNC_VARIANTS = PO_NO_INHERIT_USER_FUNC_VARIANTS
 Precludes public user function variants from being inherited into the new Program object.
 
const Qore::PO_NO_IO = PO_NO_IO
 Prohibits all terminal and file I/O and GUI operations. More...
 
const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL
 Disallows access to functionality that can change locale parameters. More...
 
const Qore::PO_NO_MODULES = PO_NO_MODULES
 Disallows loading modules with the %requires directive or at runtime with load_module() More...
 
const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS
 Disallows new namespace definitions. More...
 
const Qore::PO_NO_NETWORK = PO_NO_NETWORK
 Disallows access to network functionality. More...
 
const Qore::PO_NO_NEW = PO_NO_NEW
 Disallows use of the new operator. More...
 
const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL
 Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc) More...
 
const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS
 Disallows subroutine (function) definitions. More...
 
const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API
 Prohibits any code from being inherited into the Program object, including the system API. More...
 
const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES
 Prohibits system classes from being imported into the new Program object. More...
 
const Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS
 Prohibits builtin/system function variants from being imported into the new Program object. More...
 
const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO
 Disallows access to reading from and/or writing to the terminal. More...
 
const Qore::PO_NO_THREADS = PO_NO_THREADS
 Prohibits access to all threading information. More...
 
const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES
 Disallows access to any thread classes. More...
 
const Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL
 Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement) More...
 
const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO
 Disallows access to functionality that provides information about threading. More...
 
const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS
 Disallows top level code. More...
 
const Qore::PO_NO_USER_API = PO_NO_USER_API
 Prohibits any user code from being inherited into the Program object. More...
 
const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES
 Prohibits user classes from being imported into the new Program object. More...
 
const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS
 mask of all parse options allowing for more freedom (instead of less) More...
 
const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR
 Requires global variables to be declared with our before use. More...
 
const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES
 Requires all function and method parameters and return types to have type declarations. More...
 
const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES
 Requires all function and method parameters, return types, variables, and object members to have type declarations. More...
 
const Qore::PO_STRICT_ARGS = PO_STRICT_ARGS
 Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments. More...
 
const Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL
 Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6) More...
 
const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())
 Maps from parse option code values (as string keys) to parse option names. More...
 
const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())
 Maps from parse option strings to parse option integer codes. More...
 

Detailed Description

These are the possible values that can be or'ed together to set Program parse options

Variable Documentation

const Qore::ParseOptionCodeMap = qore(pomaps.getCodeToStringMap())

Maps from parse option code values (as string keys) to parse option names.

See Also
ParseOptionStringMap for the reverse mapping
Since
Qore 0.8.12
const Qore::ParseOptionStringMap = qore(pomaps.getStringToCodeMap())

Maps from parse option strings to parse option integer codes.

See Also
ParseOptionCodeMap for the reverse mapping
Since
Qore 0.8.12
const Qore::PO_ALLOW_BARE_REFS = PO_ALLOW_BARE_REFS

Prohibits the use of the '$' character in variable names, method calls, and object member references.

This option should probably be named "PO_REQUIRE_BARE_REFS" as it is an error to use the "$" character when this option is set

See Also
%allow-bare-refs
const Qore::PO_ALLOW_INJECTION = PO_ALLOW_INJECTION

Allows code/dependency injections in the contained Program object.

See Also
Since
Qore 0.8.12
const Qore::PO_ASSUME_LOCAL = PO_ASSUME_LOCAL

Assume local variable scope when variables are first referenced if no my or our is present.

This option is set implicitly with PO_NEW_STYLE

See Also
%assume-local
const Qore::PO_BROKEN_INT_ASSIGNMENTS = PO_BROKEN_INT_ASSIGNMENTS

allows for old pre-Qore 0.8.12 broken runtime int assignments where runtime type errors were ignored

See Also
%broken-int-assignments
Since
Qore 0.8.12
const Qore::PO_BROKEN_LIST_PARSING = PO_BROKEN_LIST_PARSING

allows for old pre-Qore 0.8.12 broken list rewriting in the parser

See Also
%broken-list-parsing
Since
Qore 0.8.12
const Qore::PO_BROKEN_LOGIC_PRECEDENCE = PO_BROKEN_LOGIC_PRECEDENCE

allows for old pre-Qore 0.8.12 precedence of logical and bitwise operators

See Also
%broken-logic-precedence
Since
Qore 0.8.12
const Qore::PO_BROKEN_OPERATORS = PO_BROKEN_OPERATORS

allows for old pre-Qore 0.8.12 broken runtime parsing of multi-character operators with spaces

See Also
%broken-operators
Since
Qore 0.8.12
const Qore::PO_FREE_OPTIONS = PO_FREE_OPTIONS

mask of options that have no effect on code access or code safety but just affect programming style

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

const Qore::PO_IN_MODULE = PO_IN_MODULE

Only set by the system when in a user module Program.

Note
This option cannot be set manually or an exception will be raised
const Qore::PO_LOCK_WARNINGS = PO_LOCK_WARNINGS

Disallows changes to the warning mask.

See Also
%lock-warnings
const Qore::PO_LOCKDOWN = PO_LOCKDOWN

Sets very restrictive access; this restriction is designed to allow code to only execute logic, no I/O, no threading, no external access.

made up of PO_NO_EXTERNAL_ACCESS | PO_NO_THREADS | PO_NO_IO

See Also
%lockdown
const Qore::PO_NEW_STYLE = PO_NEW_STYLE

Set a more C++ or Java type programming style; prohibits usage of the "$" character and also assumes local variable scope without my.

made up of PO_ALLOW_BARE_REFS | PO_ASSUME_LOCAL

See Also
%new-style
const Qore::PO_NO_API = PO_NO_API
const Qore::PO_NO_CHILD_PO_RESTRICTIONS = PO_NO_CHILD_PO_RESTRICTIONS

Allows child program objects to have fewer parse restrictions (i.e. more capabilies) than the parent object.

See Also
%no-child-restrictions
const Qore::PO_NO_CLASS_DEFS = PO_NO_CLASS_DEFS

Disallows class definitions.

See Also
%no-class-defs
const Qore::PO_NO_CONSTANT_DEFS = PO_NO_CONSTANT_DEFS

Disallows constant definitions.

See Also
%no-constant-defs
const Qore::PO_NO_DATABASE = PO_NO_DATABASE

Disallows access to database functionality.

See Also
%no-database
const Qore::PO_NO_EXTERNAL_ACCESS = PO_NO_EXTERNAL_ACCESS
const Qore::PO_NO_EXTERNAL_INFO = PO_NO_EXTERNAL_INFO

Disallows access to functionality that provides information about the computing environment.

See Also
%no-external-info
const Qore::PO_NO_EXTERNAL_PROCESS = PO_NO_EXTERNAL_PROCESS

Disallows any access to external processes (with system(), backquote(), exec(), etc)

See Also
%no-external-process
const Qore::PO_NO_FILESYSTEM = PO_NO_FILESYSTEM

Disallows access to the filesystem.

See Also
%no-filesystem
const Qore::PO_NO_GLOBAL_VARS = PO_NO_GLOBAL_VARS

Disallows the use of global variables.

See Also
%no-global-vars
const Qore::PO_NO_GUI = PO_NO_GUI

Disallows access to functionality that draws graphics to the display.

See Also
PO_NO_TERMINAL_IO
%no-gui
const Qore::PO_NO_INHERIT_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
: PO_NO_SYSTEM_CLASSES is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names
const Qore::PO_NO_INHERIT_SYSTEM_CONSTANTS = PO_NO_INHERIT_SYSTEM_CONSTANTS

Prohibits system constants from being imported into the new Program object.

Note
this does not apply to class constants
Since
Qore 0.8.12
const Qore::PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
: PO_NO_SYSTEM_FUNC_VARIANTS is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names
const Qore::PO_NO_INHERIT_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
: PO_NO_USER_CLASSES is a synonym of this constant
Since
Qore 0.8.12 to harmonize permission names
const Qore::PO_NO_INHERIT_USER_CONSTANTS = PO_NO_INHERIT_USER_CONSTANTS

Prohibits user constants from being imported into the new Program object.

Note
this does not apply to class constants
Since
Qore 0.8.12
const Qore::PO_NO_IO = PO_NO_IO

Prohibits all terminal and file I/O and GUI operations.

made up of PO_NO_GUI | PO_NO_TERMINAL_IO | PO_NO_FILESYSTEM | PO_NO_NETWORK | PO_NO_DATABASE

See Also
%no-io
const Qore::PO_NO_LOCALE_CONTROL = PO_NO_LOCALE_CONTROL

Disallows access to functionality that can change locale parameters.

See Also
%no-locale-control
const Qore::PO_NO_MODULES = PO_NO_MODULES

Disallows loading modules with the %requires directive or at runtime with load_module()

See Also
%no-modules
const Qore::PO_NO_NAMESPACE_DEFS = PO_NO_NAMESPACE_DEFS

Disallows new namespace definitions.

See Also
%no-namespace-defs
const Qore::PO_NO_NETWORK = PO_NO_NETWORK

Disallows access to network functionality.

See Also
%no-network
const Qore::PO_NO_NEW = PO_NO_NEW

Disallows use of the new operator.

Note that objects can still be instantiated with syntax like:

1 Mutex m();
See Also
%no-new
const Qore::PO_NO_PROCESS_CONTROL = PO_NO_PROCESS_CONTROL

Disallows access to functions that would affect the current process (exit(), exec(), fork(), etc)

See Also
%no-process-control
const Qore::PO_NO_SUBROUTINE_DEFS = PO_NO_SUBROUTINE_DEFS

Disallows subroutine (function) definitions.

See Also
%no-subroutine-defs
const Qore::PO_NO_SYSTEM_API = PO_NO_SYSTEM_API

Prohibits any code from being inherited into the Program object, including the system API.

made up of:

Since
Qore 0.8.12
const Qore::PO_NO_SYSTEM_CLASSES = PO_NO_INHERIT_SYSTEM_CLASSES

Prohibits system classes from being imported into the new Program object.

Note
PO_NO_INHERIT_SYSTEM_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions
const Qore::PO_NO_SYSTEM_FUNC_VARIANTS = PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS

Prohibits builtin/system function variants from being imported into the new Program object.

Note
PO_NO_INHERIT_SYSTEM_FUNC_VARIANTS was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions
const Qore::PO_NO_TERMINAL_IO = PO_NO_TERMINAL_IO

Disallows access to reading from and/or writing to the terminal.

See Also
%no-terminal-io
const Qore::PO_NO_THREAD_CLASSES = PO_NO_THREAD_CLASSES

Disallows access to any thread classes.

See Also
%no-thread-classes
const Qore::PO_NO_THREAD_CONTROL = PO_NO_THREAD_CONTROL

Disallows access to any thread-control functions and thread-relevant statements and operators (for example the background operator and the thread_exit statement)

See Also
%no-thread-control
const Qore::PO_NO_THREAD_INFO = PO_NO_THREAD_INFO

Disallows access to functionality that provides information about threading.

See Also
%no-thread-info
const Qore::PO_NO_THREADS = PO_NO_THREADS

Prohibits access to all threading information.

made up of PO_NO_THREAD_CONTROL | PO_NO_THREAD_CLASSES | PO_NO_THREAD_INFO

See Also
%no-threads
const Qore::PO_NO_TOP_LEVEL_STATEMENTS = PO_NO_TOP_LEVEL_STATEMENTS

Disallows top level code.

See Also
%no-top-level
const Qore::PO_NO_USER_API = PO_NO_USER_API

Prohibits any user code from being inherited into the Program object.

made up of:

Since
Qore 0.8.12
const Qore::PO_NO_USER_CLASSES = PO_NO_INHERIT_USER_CLASSES

Prohibits user classes from being imported into the new Program object.

Note
PO_NO_INHERIT_USER_CLASSES was added in Qore 0.8.12 with the same value of this constant to provide a consistent naming convention for inheritance permissions
const Qore::PO_POSITIVE_OPTIONS = PO_POSITIVE_OPTIONS

mask of all parse options allowing for more freedom (instead of less)

made up of a binary-or'ed combination of:

const Qore::PO_REQUIRE_OUR = PO_REQUIRE_OUR

Requires global variables to be declared with our before use.

See Also
%require-our
const Qore::PO_REQUIRE_PROTOTYPES = PO_REQUIRE_PROTOTYPES

Requires all function and method parameters and return types to have type declarations.

However, variable declarations and object members are not required to have type declarations

See Also
PO_REQUIRE_TYPES
%require-prototypes
const Qore::PO_REQUIRE_TYPES = PO_REQUIRE_TYPES

Requires all function and method parameters, return types, variables, and object members to have type declarations.

Note
This option also implies PO_STRICT_ARGS
See Also
PO_REQUIRE_PROTOTYPES
%require-types
const Qore::PO_STRICT_ARGS = PO_STRICT_ARGS

Prohibits access to builtin functions and methods flagged with RT_NOOP and also causes errors to be raised if excess arguments are given to functions that do not access excess arguments.

This option is set implicitly with PO_REQUIRE_TYPES

See Also
%strict-args
const Qore::PO_STRICT_BOOLEAN_EVAL = PO_STRICT_BOOLEAN_EVAL

Sets strict mathematical boolean evaluation runtime mode (the qore default prior to v0.8.6)

See Also
%strict-bool-eval
Since
Qore 0.8.6