/** @page keywords Keywords

    @tableofcontents

    <b>Keyword Types</b>
    |!Type|!Description
    |Soft 1|Keywords of this type cannot be used as static variable names or constant names but can be used as function or method names if they are followed immediately by an open parenthesis (with no whitespace between the keyword and the open parenthesis), and they can be referenced as unquoted object or hash member names only if they are immediately preceded by the @ref dot_operator ". operator" (again with no whitespace between the "." and the keyword):
    |Soft 2|Keywords of this type cannot be used as static variable names or constant names but can be used as function or method names if they are followed by an open parenthesis (whitespace is allowed between the keyword and the open parenthesis), and they can be referenced as unquoted object or hash member names if they are immediately preceded by the @ref dot_operator ". operator" (again with no whitespace between the "." and the keyword):
    |Soft 3|Keywords of this type be referenced as unquoted object or hash member names if preceded immediately by the "." operator, however they may not be used as function or class method names or static variable names or constant names

    <b>Keywords</b>
    |!Keywords|!Type|!Description
    |@ref abstract "abstract"|Soft 3|Used to declare abstract methods in classes
    |@ref background "background"|Soft 1|for the @ref background "background operator"
    |@ref break "break"|Soft 3|for the @ref break "break statement"
    |@ref summarize "by"|Soft 3|used with @ref summarize "summarize statements"
    |@ref switch "case"|Soft 1|used in @ref switch "switch statements"
    |@ref try "catch"|Soft 3|used with @ref try "try catch statements"
    |@ref chomp "chomp"|Soft 1|for the @ref chomp "chomp operator"
    |@ref qore_classes "class"|Soft 1|used when declaring @ref qore_classes "classes"
    |@ref constants "const"|Soft 3|used to declare @ref constants "constants" and @ref class_constants "class constants"
    |@ref context "context"|Soft 3|for the @ref context "context statement"
    |@ref continue "continue"|Soft 3|for the @ref continue "continue statement"
    |@ref switch "default"|Soft 2|used in @ref switch "switch statements"
    |@ref delete "delete"|Soft 1|for the @ref delete "delete operator"
    |@ref deprecated "deprecated"|Soft 3|when declaring functions or methods as @ref deprecated "deprecated"
    |@ref do "do"|Soft 3|for the @ref do "do statement"
    |@ref elements "elements"|Soft 3|for the @ref elements "elements operator"
    |@ref if "else"|Soft 3|used with the @ref if "if statement"
    |@ref exists "exists"|Soft 1|for the @ref exists "exists operator"
    |@ref False "False"|Soft 3|represents a boolean false value
    |@ref find "find"|Soft 3|for the @ref find "find expression"
	|@ref final_methods "final"|Soft 2|for @ref final_methods "final method declarations" or @ref final_classes "final class declarations"
    |@ref foldl "foldl"|Soft 1|for the @ref foldl "foldl operator"
    |@ref foldr "foldr"|Soft 1|for the @ref foldr "foldr operator"
    |@ref for "for"|Soft 3|for the @ref for "for statement" (not to be confused with the @ref foreach "foreach list iterator statement")
    |@ref foreach "foreach"|Soft 3|for the @ref foreach "foreach list iterator statement" (not to be confused with the @ref for "for statement")
    |@ref keys "keys"|Soft 3|for the @ref keys "keys operator"
    |@ref if "if"|Soft 3|for the @ref if "if statement"
    |\b in|Soft 3|used with the @ref foreach "foreach list iterator statement" and the @ref find "find expression"
    |@ref inheritance "inherits"|Soft 3|used when declaring @ref inheritance "class inheritance"
    |@ref instanceof "instanceof"|Soft 3|for the @ref instanceof "instanceof" operator
    |@ref map "map"|Soft 1|for the @ref map "map operator"
    |@ref my "my"|Soft 3|used when declaring @ref variable_declarations "local variables"
    |@ref qore_namespaces "namespace"|Soft 3|used when declaring @ref qore_namespaces "namespaces"
    |@ref on_error "on_error"|Soft 3|for the @ref on_error "on_error statement"
    |@ref on_exit "on_exit"|Soft 3|for the @ref on_exit "on_exit statement"
    |@ref on_success "on_success"|Soft 3|for the @ref on_success "on_success statement"
    |@ref our "our"|Soft 3|used when declaring @ref variable_declarations "global variables"
    |@ref pop "pop"|Soft 1|for the @ref pop "pop operator"
    |\b private|Soft 1|@ref class_members "class members", @ref class_methods "class methods", and @ref static_class_variables "static class variables" can all be declared private to the class with this keyword, additionally classes can be privately @ref inheritance "inherited" using this keyword as well
    |\b private:hierarchy|Hard|@ref class_members "class members", @ref class_methods "class methods", and @ref static_class_variables "static class variables" can all be declared private to the class with this keyword, additionally classes can be privately @ref inheritance "inherited" using this keyword as well
    |\b private:internal|Hard|@ref class_members "class members", @ref class_methods "class methods", and @ref static_class_variables "static class variables" can all be declared private to the class with this keyword, additionally classes can be privately @ref inheritance "inherited" using this keyword as well
    |\b public|Soft 1|@ref class_members "class members", @ref class_methods "class methods", and @ref static_class_variables "static class variables" can all be declared public to the class with this keyword, additionally this keyword can be used when declaring a publically @ref inheritance "inherited" class as well
    |@ref push "push"|Soft 1|for the @ref push "push operator"
    |@ref new "new"|Soft 1|for the @ref new "new operator"
    |@ref NOTHING "NOTHING"|Soft 3|represents no value
    |@ref NULL "NULL"|Soft 3|represents an SQL NULL value
    |@ref rethrow "rethrow"|Soft 3|for the @ref rethrow "rethrow statement"
    |@ref return "return"|Soft 3|for the @ref return "return statement"
    |\b returns|Soft 3|used when using the deprecated syntax for declaring method or function return types (see @ref allow-returns "%allow-returns")
    |@ref select "select"|Soft 1|for the @ref select "select operator"
    |@ref shift "shift"|Soft 1|for the @ref shift "shift operator"
    |\b sortBy|Soft 3|used with @ref context "context", @ref summarize "summarize", and @ref subcontext "subcontext" statements
    |\b sortDescendingBy|Soft 3|used with @ref context "context", @ref summarize "summarize", and @ref subcontext "subcontext" statements
    |@ref splice "splice"|Soft 1|for the @ref splice "splice operator"
    |\b static|Soft 2|used when declaring @ref static_methods "static methods" and @ref static_class_variables "static variables" in a class
    |@ref function_declarations "sub"|Soft 3|used when declaring @ref function_declarations "functions"
    |@ref subcontext "subcontext"|Soft 3|for the @ref subcontext "subcontext statement"
    |@ref summarize "summarize"|Soft 3|for the @ref summarize "summarize statement"
    |@ref switch "switch"|Soft 3|for the @ref switch "switch statement"
    |@ref synchronized "synchronized"|Soft 3|used when declaring @ref synchronized "synchronized" functions or methods
    |@ref thread_exit "thread_exit"|Soft 3|for the @ref thread_exit "thread_exit statement"
    |@ref thread_local "thread_local"|Soft 3|for @ref thread_local_variables "thread-local variable" declarations
    |@ref throw "throw"|Soft 3|for the @ref throw "throw statements"
    |@ref trim "trim"|Soft 1|for the @ref trim "trim operator"
    |@ref True "True"|Soft 3|represents a boolean true value
    |@ref try "try"|Soft 3|for the @ref try "try statements"
    |@ref unshift "unshift"|Soft 1|for the @ref unshift "unshift operator"
    |\b where|Soft 3|used with @ref context "context", @ref summarize "summarize", and @ref subcontext "subcontext" statements
    |@ref while "while"|Soft 3|for the @ref while "while statement" and used with the @ref do "do statement"
*/
