diff --git a/docs/.buildinfo b/docs/.buildinfo index a0f4d554..88cf400d 100644 --- a/docs/.buildinfo +++ b/docs/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: a423dee0b37bf8aeb4429d15836b6981 +config: 111e85c97fd3a6010d134b07b951e6d5 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/docs/.doctrees/environment.pickle b/docs/.doctrees/environment.pickle index b079343b..c5bd54a2 100644 Binary files a/docs/.doctrees/environment.pickle and b/docs/.doctrees/environment.pickle differ diff --git a/docs/.doctrees/manual/ast.doctree b/docs/.doctrees/manual/ast.doctree index 57b65da7..2101bcf5 100644 Binary files a/docs/.doctrees/manual/ast.doctree and b/docs/.doctrees/manual/ast.doctree differ diff --git a/docs/_sources/manual/ast.rst.txt b/docs/_sources/manual/ast.rst.txt index 219b8103..e4b78944 100644 --- a/docs/_sources/manual/ast.rst.txt +++ b/docs/_sources/manual/ast.rst.txt @@ -34,6 +34,10 @@ Entities Miscellaneous ------------- +.. autoclass:: trlc.ast.Compilation_Unit + +.. autoclass:: trlc.ast.Check_Block + .. autoclass:: trlc.ast.Check .. autoclass:: trlc.ast.Separator diff --git a/docs/_static/documentation_options.js b/docs/_static/documentation_options.js index 3a2dc74d..ddff33ba 100644 --- a/docs/_static/documentation_options.js +++ b/docs/_static/documentation_options.js @@ -1,6 +1,6 @@ var DOCUMENTATION_OPTIONS = { URL_ROOT: document.getElementById("documentation_options").getAttribute('data-url_root'), - VERSION: '1.1.4', + VERSION: '1.1.5', LANGUAGE: 'en', COLLAPSE_INDEX: false, BUILDER: 'html', diff --git a/docs/ast_hierarchy.svg b/docs/ast_hierarchy.svg index 6bc8253e..d9afb5ad 100644 --- a/docs/ast_hierarchy.svg +++ b/docs/ast_hierarchy.svg @@ -4,16 +4,16 @@ - - + + AST Hierarchy - + Action -Action +Action @@ -28,238 +28,266 @@ Node->Action - - + + Expression -Expression +Expression - + Node->Expression - - + + Entity -Entity +Entity - + Node->Entity - - + + Check -Check +Check Node->Check - - + + + + + +Check_Block + +Check_Block + + + + + +Node->Check_Block + + + + + +Compilation_Unit + +Compilation_Unit + + + + + +Node->Compilation_Unit + + - + Separator - -Separator + +Separator - + Node->Separator - - + + Array_Aggregate -Array_Aggregate +Array_Aggregate Expression->Array_Aggregate - - + + Binary_Expression -Binary_Expression +Binary_Expression Expression->Binary_Expression - - + + Literal -Literal +Literal - + Expression->Literal - - + + - + Conditional_Expression - -Conditional_Expression + +Conditional_Expression - + Expression->Conditional_Expression - - + + - + Field_Access_Expression - -Field_Access_Expression + +Field_Access_Expression - + Expression->Field_Access_Expression - - + + - + Implicit_Null - -Implicit_Null + +Implicit_Null - + Expression->Implicit_Null - - + + - + Name_Reference - -Name_Reference + +Name_Reference - + Expression->Name_Reference - - + + - + Quantified_Expression - -Quantified_Expression + +Quantified_Expression - + Expression->Quantified_Expression - - + + - + Range_Test - -Range_Test + +Range_Test - + Expression->Range_Test - - + + - + Record_Reference - -Record_Reference + +Record_Reference - + Expression->Record_Reference - - + + - + Tuple_Aggregate - -Tuple_Aggregate + +Tuple_Aggregate - + Expression->Tuple_Aggregate - - + + - + Unary_Expression - -Unary_Expression + +Unary_Expression - + Expression->Unary_Expression - - + + Array_Type -Array_Type +Array_Type @@ -267,385 +295,385 @@ Type -Type +Type Type->Array_Type - - + + Builtin_Type -Builtin_Type +Builtin_Type Type->Builtin_Type - - + + - + Concrete_Type - -Concrete_Type + +Concrete_Type - + Type->Concrete_Type - - + + Boolean_Literal -Boolean_Literal +Boolean_Literal Literal->Boolean_Literal - - + + - + Decimal_Literal - -Decimal_Literal + +Decimal_Literal - + Literal->Decimal_Literal - - + + - + Enumeration_Literal - -Enumeration_Literal + +Enumeration_Literal - + Literal->Enumeration_Literal - - + + - + Integer_Literal - -Integer_Literal + +Integer_Literal - + Literal->Integer_Literal - - + + - + Null_Literal - -Null_Literal + +Null_Literal - + Literal->Null_Literal - - + + - + String_Literal - -String_Literal + +String_Literal - + Literal->String_Literal - - + + Builtin_Boolean -Builtin_Boolean +Builtin_Boolean Builtin_Type->Builtin_Boolean - - + + Builtin_Numeric_Type -Builtin_Numeric_Type +Builtin_Numeric_Type Builtin_Type->Builtin_Numeric_Type - - + + Builtin_String -Builtin_String +Builtin_String Builtin_Type->Builtin_String - - + + Builtin_Decimal -Builtin_Decimal +Builtin_Decimal Builtin_Numeric_Type->Builtin_Decimal - - + + Builtin_Integer -Builtin_Integer +Builtin_Integer Builtin_Numeric_Type->Builtin_Integer - - + + Builtin_Function -Builtin_Function +Builtin_Function - + Entity->Type - - + + Entity->Builtin_Function - - + + - + Typed_Entity - -Typed_Entity + +Typed_Entity - + Entity->Typed_Entity - - + + - + Package - -Package + +Package - + Entity->Package - - + + - + Section - -Section + +Section - + Entity->Section - - + + Builtin_Markup_String -Builtin_Markup_String +Builtin_Markup_String Builtin_String->Builtin_Markup_String - - + + - + Composite_Component - -Composite_Component + +Composite_Component - + Typed_Entity->Composite_Component - - + + - + Enumeration_Literal_Spec - -Enumeration_Literal_Spec + +Enumeration_Literal_Spec - + Typed_Entity->Enumeration_Literal_Spec - - + + - + Quantified_Variable - -Quantified_Variable + +Quantified_Variable - + Typed_Entity->Quantified_Variable - - + + - + Record_Object - -Record_Object + +Record_Object - + Typed_Entity->Record_Object - - + + - + Composite_Type - -Composite_Type + +Composite_Type - + Record_Type - -Record_Type + +Record_Type - + Composite_Type->Record_Type - - + + - + Tuple_Type - -Tuple_Type + +Tuple_Type - + Composite_Type->Tuple_Type - - + + - + Concrete_Type->Composite_Type - - + + - + Enumeration_Type - -Enumeration_Type + +Enumeration_Type - + Concrete_Type->Enumeration_Type - - + + diff --git a/docs/genindex.html b/docs/genindex.html index 834c3e2a..03ea11ef 100644 --- a/docs/genindex.html +++ b/docs/genindex.html @@ -5,7 +5,7 @@ - Index — TRLC 1.1.4 documentation + Index — TRLC 1.1.5 documentation @@ -22,7 +22,7 @@

Navigation

  • index
  • - + @@ -107,12 +107,16 @@

    C

    diff --git a/docs/index.html b/docs/index.html index 60f5eae6..dbc02ec1 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,7 +6,7 @@ - TRLC Python API — TRLC 1.1.4 documentation + TRLC Python API — TRLC 1.1.5 documentation @@ -27,7 +27,7 @@

    Navigation

  • next |
  • - + @@ -140,7 +140,7 @@

    Navigation

  • next |
  • - + diff --git a/docs/manual/ast.html b/docs/manual/ast.html index 5afb8ea2..8980aac8 100644 --- a/docs/manual/ast.html +++ b/docs/manual/ast.html @@ -6,7 +6,7 @@ - AST — TRLC 1.1.4 documentation + AST — TRLC 1.1.5 documentation @@ -27,7 +27,7 @@

    Navigation

  • previous |
  • - + @@ -147,7 +147,7 @@

    Entities
    -class trlc.ast.Package(name, location, builtin_stab)
    +class trlc.ast.Package(name, location, builtin_stab, declared_late)

    Bases: Entity

    Packages.

    A package is declared when it is first encountered (in either a @@ -155,6 +155,12 @@

    Entities +
    Attribute declared_late:
    +

    indicates if this package is declared in a trlc file

    +
    +
    Type:
    +

    bool

    +
    Attribute symbols:

    symbol table of the package

    @@ -365,6 +371,56 @@

    Entities

    Miscellaneous

    +
    +
    +class trlc.ast.Compilation_Unit(file_name)
    +

    Bases: Node

    +

    Special node to represent the concrete file structure

    +
    +
    Attribute package:
    +

    the main package this file declares or contributes to

    +
    +
    Type:
    +

    Package

    +
    +
    Attribute imports:
    +

    package imported by this file

    +
    +
    Type:
    +

    list[Package]

    +
    +
    Attribute items:
    +

    list of

    +
    +
    Type:
    +

    list[Node]

    +
    +
    +
    + +
    +
    +class trlc.ast.Check_Block(location, n_typ)
    +

    Bases: Node

    +

    Node representing check blocks

    +

    Semantically this has no meaning, but it’s nice to have some kind +of similar representation to how it’s in the file.

    +
    +
    Attribute n_typ:
    +

    composite type for which the checks apply

    +
    +
    Type:
    +

    Composite_Type

    +
    +
    Attribute checks:
    +

    list of checks

    +
    +
    Type:
    +

    list[Check]

    +
    +
    +
    +
    class trlc.ast.Check(n_type, n_expr, n_anchor, severity, t_message)
    @@ -478,7 +534,7 @@

    Types
    -class trlc.ast.Array_Type(location, element_type, lower_bound, upper_bound)
    +class trlc.ast.Array_Type(location, element_type, loc_lower, lower_bound, loc_upper, upper_bound)

    Bases: Type

    Anonymous array type.

    These are declared implicitly for each record component that has @@ -494,12 +550,24 @@

    Types
    Type:

    int

    +
    Attribute loc_lower:
    +

    text location of the lower bound indicator

    +
    +
    Type:
    +

    Location

    +
    Attribute upper_bound:

    maximum number of elements (or None)

    Type:

    int

    +
    Attribute loc_upper:
    +

    text location of the upper bound indicator

    +
    +
    Type:
    +

    Location

    +
    Attribute element_type:

    type of the array elements

    @@ -1536,6 +1604,8 @@

    Table of Contents

  • Miscellaneous @@ -1618,7 +1688,7 @@

    Navigation

  • previous |
  • - + diff --git a/docs/manual/errors.html b/docs/manual/errors.html index 0f70dac9..18f0e17b 100644 --- a/docs/manual/errors.html +++ b/docs/manual/errors.html @@ -6,7 +6,7 @@ - Error handling and reporting — TRLC 1.1.4 documentation + Error handling and reporting — TRLC 1.1.5 documentation @@ -31,7 +31,7 @@

    Navigation

  • previous |
  • - + @@ -252,7 +252,7 @@

    Navigation

  • previous |
  • - + diff --git a/docs/manual/infrastructure.html b/docs/manual/infrastructure.html index 8083108b..cbfed87e 100644 --- a/docs/manual/infrastructure.html +++ b/docs/manual/infrastructure.html @@ -6,7 +6,7 @@ - Infrastructure — TRLC 1.1.4 documentation + Infrastructure — TRLC 1.1.5 documentation @@ -31,7 +31,7 @@

    Navigation

  • previous |
  • - + @@ -176,7 +176,7 @@

    Navigation

  • previous |
  • - + diff --git a/docs/objects.inv b/docs/objects.inv index 6141d8d6..4337e681 100644 Binary files a/docs/objects.inv and b/docs/objects.inv differ diff --git a/docs/search.html b/docs/search.html index b7bbb013..c4b54060 100644 --- a/docs/search.html +++ b/docs/search.html @@ -5,7 +5,7 @@ - Search — TRLC 1.1.4 documentation + Search — TRLC 1.1.5 documentation @@ -28,7 +28,7 @@

    Navigation

  • index
  • - + @@ -93,7 +93,7 @@

    Navigation

  • index
  • - + diff --git a/docs/searchindex.js b/docs/searchindex.js index adf798b6..f55f7a5a 100644 --- a/docs/searchindex.js +++ b/docs/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["index", "manual/ast", "manual/errors", "manual/infrastructure"], "filenames": ["index.rst", "manual/ast.rst", "manual/errors.rst", "manual/infrastructure.rst"], "titles": ["TRLC Python API", "AST", "Error handling and reporting", "Infrastructure"], "terms": {"thi": [0, 1, 2, 3], "i": [0, 1, 2, 3], "descript": [0, 1, 2], "end": 0, "user": [0, 1, 2], "face": 0, "first": [0, 1], "you": [0, 1, 2, 3], "need": [0, 1], "creat": [0, 1, 2, 3], "sourc": [0, 1, 2, 3], "manag": [0, 3], "feed": 0, "file": [0, 1, 2, 3], "from": [0, 1, 2], "error": [0, 1, 3], "import": 0, "message_handl": [0, 1, 2, 3], "source_manag": [0, 1, 3], "mh": [0, 1, 2, 3], "sm": 0, "read": 0, "all": [0, 1, 2, 3], "rsl": [0, 1, 3], "check": [0, 1, 2, 3], "given": [0, 1, 2], "directori": [0, 3], "register_directori": [0, 3], "path": [0, 2], "trlc_file": 0, "onc": [0, 3], "ar": [0, 1, 2], "regist": [0, 3], "call": [0, 1, 3], "process": [0, 2, 3], "function": [0, 1, 2], "pars": [0, 1, 3], "valid": 0, "input": 0, "both": [0, 1], "languag": [0, 1], "defin": [0, 1], "suppli": [0, 1], "stop": 0, "symbol": [0, 3], "none": [0, 1, 2, 3], "sy": 0, "exit": 0, "1": [0, 1, 2], "oper": [0, 1], "return": [0, 1, 2, 3], "symbol_t": [0, 1, 3], "The": [0, 1, 2, 3], "most": 0, "like": [0, 1], "thing": 0, "want": [0, 1, 2, 3], "do": [0, 2], "iter": [0, 1], "over": [0, 1], "requir": [0, 1], "e": [0, 1, 2], "record_object": [0, 1], "have": [0, 1], "been": 0, "declar": [0, 1], "someth": [0, 1, 2], "obj": 0, "iter_record_object": [0, 1], "print": [0, 2], "name": [0, 1, 2, 3], "to_python_dict": [0, 1], "enough": 0, "can": [0, 1, 2], "access": [0, 1], "entir": 0, "tree": [0, 1, 3], "infrastructur": 0, "handl": 0, "report": 0, "locat": [0, 1, 2], "trlc_error": [0, 1, 2, 3], "ast": 0, "root": 0, "class": [0, 2, 3], "entiti": 0, "miscellan": 0, "type": [0, 2, 3], "express": 0, "liter": 0, "evalu": 0, "scope": 0, "trlc": [1, 2, 3], "node": [1, 2], "base": [1, 2, 3], "object": [1, 2, 3], "item": [1, 3], "attribut": [1, 2], "dump": 1, "indent": 1, "0": 1, "visualis": 1, "ani": [1, 2, 3], "veri": 1, "help": 1, "debug": 1, "understand": 1, "method": [1, 3], "produc": 1, "output": [1, 2], "builtin_boolean": 1, "builtin_integ": 1, "builtin_decim": 1, "builtin_str": 1, "builtin_markup_str": 1, "packag": 1, "bar": 1, "record_typ": 1, "mytyp": 1, "composite_compon": 1, "option": [1, 2], "fals": [1, 2, 3], "string": [1, 2], "too": 1, "short": 1, "anchor": 1, "binari": 1, "binary_oper": 1, "comp_gt": 1, "boolean": [1, 2], "unari": 1, "unary_oper": 1, "string_length": 1, "integ": 1, "refer": [1, 2], "10": 1, "instanc": [1, 3], "field": 1, "potato": [1, 2], "builtin_funct": 1, "endswith": 1, "len": 1, "match": 1, "startswith": 1, "an": [1, 2, 3], "concret": 1, "which": 1, "we": [1, 2], "alloc": 1, "memori": 1, "exampl": [1, 2], "record": 1, "unqualifi": 1, "str": [1, 2, 3], "ariti": 1, "builtin": [1, 2], "These": 1, "auto": 1, "gener": [1, 2], "number": [1, 2], "paramet": [1, 2, 3], "int": [1, 2], "deprec": 1, "should": [1, 2], "longer": 1, "us": [1, 2, 3], "bool": [1, 2, 3], "builtin_stab": 1, "A": 1, "when": [1, 2, 3], "encount": 1, "either": 1, "contain": 1, "associ": 1, "just": 1, "singl": 1, "spread": 1, "multipl": 1, "tabl": [1, 3], "section": 1, "parent": 1, "readabl": 1, "repres": 1, "construct": 1, "group": 1, "togeth": 1, "foo": [1, 2], "typed_ent": 1, "n_typ": 1, "compon": 1, "quantified_vari": 1, "variabl": 1, "quantifi": 1, "bind": 1, "For": [1, 2], "foral": 1, "x": [1, 2], "arrai": 1, "second": 1, "ordinari": 1, "name_refer": 1, "typ": 1, "element": 1, "member_of": 1, "tupl": 1, "composit": 1, "each": 1, "t": 1, "blah": 1, "2": [1, 2], "3": 1, "4": 1, "text": 1, "see": 1, "link": 1, "back": 1, "inherit": 1, "origin": [1, 2], "composite_typ": 1, "indic": 1, "null": 1, "enumeration_literal_spec": 1, "enum": 1, "enumer": 1, "note": [1, 2], "mention": 1, "later": 1, "enumeration_liter": 1, "spec": 1, "here": 1, "asil": 1, "qm": 1, "safeti": 1, "relat": 1, "n_packag": 1, "go": 1, "bulk": 1, "5": [1, 2], "potatoreq": 1, "component1": 1, "42": 1, "provid": [1, 2], "specif": 1, "valu": 1, "dict": 1, "actual": [1, 3], "limit": 1, "unary_express": 1, "array_aggreg": 1, "tuple_aggreg": 1, "record_refer": 1, "implicit_nul": 1, "fully_qualified_nam": 1, "fqn": 1, "": 1, "full": 1, "simplifi": 1, "python": [1, 3], "might": [1, 2], "baz": 1, "especi": 1, "design": 1, "api": [1, 3], "itself": 1, "dictionari": 1, "n_type": 1, "n_expr": 1, "n_anchor": 1, "sever": 1, "t_messag": 1, "insid": 1, "block": 1, "impli": 1, "warn": [1, 2], "appli": 1, "where": [1, 2], "messag": [1, 2, 3], "issu": [1, 2, 3], "fatal": [1, 2], "also": [1, 2], "specifi": 1, "default": 1, "separ": 1, "token": 1, "syntact": 1, "abstract": 1, "concrete_typ": 1, "non": 1, "anonym": 1, "wa": 1, "builtin_typ": 1, "array_typ": 1, "element_typ": 1, "lower_bound": 1, "upper_bound": 1, "implicitli": 1, "ha": 1, "minimum": 1, "maximum": 1, "builtin_numeric_typ": 1, "numer": 1, "decim": 1, "inherited_symbol": 1, "thei": 1, "share": 1, "some": 1, "includ": [1, 2], "applic": 1, "exclud": 1, "list": 1, "n_parent": 1, "is_abstract": 1, "In": 1, "extend": 1, "root_t": 1, "part": 1, "abov": 1, "frozen": 1, "map": 1, "is_fin": 1, "final": [1, 2, 3], "new": 1, "mai": 1, "all_compon": 1, "conveni": 1, "get": [1, 2], "get_freezing_express": 1, "n_compon": 1, "retriev": 1, "It": 1, "intern": 1, "compil": 1, "hi": 1, "its": [1, 2], "is_frozen": 1, "test": 1, "is_subclass_of": 1, "true": [1, 2, 3], "tuple_typ": 1, "empti": 1, "precis": 1, "one": [1, 2], "less": 1, "than": [1, 3], "has_separ": 1, "iter_separ": 1, "iter_sequ": 1, "order": [1, 2], "enumeration_typ": 1, "context": [1, 2], "case": 1, "static": 1, "otherwis": 1, "must": 1, "handler": [1, 2, 3], "rais": [1, 2, 3], "cannot": 1, "result": 1, "composite_object": 1, "synthesis": 1, "aggreg": 1, "implicit": 1, "And": 1, "Then": 1, "own": [1, 2], "further": 1, "distinct": 1, "explicit": 1, "null_liter": 1, "appear": 1, "assign": 1, "picasso": 1, "yukon": 1, "gold": 1, "sweet": 1, "found": 1, "somewhat": 1, "content": 1, "There": 1, "two": 1, "form": 1, "coordin": 1, "12": 1, "40": 1, "12345": 1, "term": 1, "differ": 1, "onli": 1, "sugar": 1, "anoth": 1, "kitten": 1, "depends_on": 1, "other_packag": 1, "cat": 1, "consult": 1, "target": 1, "reason": 1, "indirect": 1, "immedi": 1, "resolv": 1, "while": 1, "alwai": 1, "fill": 1, "suppos": 1, "cours": 1, "depend": [1, 3], "n_operand": 1, "operand": 1, "captur": 1, "follow": 1, "plu": 1, "g": [1, 2], "minu": 1, "absolute_valu": 1, "ab": 1, "logical_not": 1, "foobar": 1, "array_length": 1, "component_nam": 1, "conversion_to_int": 1, "conversion_to_decim": 1, "binary_express": 1, "n_lh": 1, "n_rh": 1, "logical_and": 1, "b": 1, "logical_or": 1, "logical_xor": 1, "xor": 1, "logical_impli": 1, "comp_eq": 1, "comp_neq": 1, "comp_lt": 1, "comp_leq": 1, "comp_geq": 1, "string_contain": 1, "string_startswith": 1, "f": 1, "string_endswith": 1, "o": 1, "string_regex": 1, "array_contain": 1, "arr": 1, "time": 1, "divid": 1, "remaind": 1, "power": 1, "index": 1, "support": 1, "ration": 1, "field_access_express": 1, "n_prefix": 1, "n_field": 1, "derefer": 1, "range_test": 1, "n_lower": 1, "n_upper": 1, "rang": 1, "membership": 1, "lh": 1, "lower": 1, "upper": 1, "guarante": 1, "arbitrarili": 1, "complex": 1, "bound": 1, "action": 1, "t_kind": 1, "n_condit": 1, "n_express": 1, "elseif": 1, "condit": 1, "conditional_express": 1, "made": 1, "up": 1, "sequenc": 1, "zero": 1, "elsif": 1, "els": 1, "lot": 1, "kind": [1, 2], "n_cond": 1, "if_act": 1, "more": [1, 3], "least": 1, "other": 1, "present": 1, "else_expr": 1, "quantified_express": 1, "univers": [1, 2], "n_variabl": 1, "n_sourc": 1, "array_compon": 1, "introduc": 1, "bodi": 1, "turn": 1, "n_var": 1, "mean": 1, "exist": [1, 3], "doe": [1, 3], "offer": 1, "addit": [1, 2], "featur": 1, "nice": [1, 2], "wai": 1, "deal": 1, "isinst": 1, "my_express": 1, "pleas": 1, "integer_liter": 1, "posit": 1, "neg": 1, "negat": 1, "would": [1, 2], "op_equ": 1, "decimal_liter": 1, "fraction": 1, "string_liter": 1, "quotat": 1, "mark": 1, "escap": 1, "fulli": 1, "Will": 1, "markup": 1, "boolean_liter": 1, "member": 1, "my_enum": 1, "To": 1, "enum_lit": 1, "polymorph": 1, "come": [1, 2], "all_nam": 1, "set": [1, 2], "lookup_assum": 1, "required_subclass": 1, "assum": 1, "intend": 1, "find": 1, "know": 1, "search": 1, "If": [1, 2, 3], "subclass": 1, "lookup_direct": 1, "error_loc": 1, "pkg": 1, "stab": 1, "txt": 1, "unknown": 1, "brief": 2, "write": 2, "tool": 2, "emit": 2, "realli": 2, "good": 2, "idea": 2, "your": 2, "statement": 2, "free": 2, "displai": 2, "much": 2, "possibl": 2, "system": 2, "my_expr": 2, "attach": 2, "except": 2, "instead": 2, "file_nam": [2, 3], "line_no": 2, "col_no": 2, "virtual": 2, "real": 2, "line": 2, "start": 2, "column": 2, "to_str": 2, "include_column": 2, "represent": 2, "style": 2, "gcc": 2, "format": 2, "filenam": 2, "strip": 2, "make": 2, "smaller": 2, "goe": 2, "wrong": 2, "problem": 2, "lex": 2, "etc": 2, "lint_mod": 3, "main": 3, "entri": 3, "point": 3, "look": 3, "rule": 3, "model": 3, "were": 3, "dir_nam": 3, "schedul": 3, "assertionerror": 3, "alreadi": 3, "could": 3, "without": 3, "register_fil": 3}, "objects": {"trlc.ast": [[1, 0, 1, "", "Action"], [1, 0, 1, "", "Array_Aggregate"], [1, 0, 1, "", "Array_Type"], [1, 0, 1, "", "Binary_Expression"], [1, 0, 1, "", "Boolean_Literal"], [1, 0, 1, "", "Builtin_Boolean"], [1, 0, 1, "", "Builtin_Decimal"], [1, 0, 1, "", "Builtin_Function"], [1, 0, 1, "", "Builtin_Integer"], [1, 0, 1, "", "Builtin_Numeric_Type"], [1, 0, 1, "", "Builtin_String"], [1, 0, 1, "", "Builtin_Type"], [1, 0, 1, "", "Check"], [1, 0, 1, "", "Composite_Component"], [1, 0, 1, "", "Composite_Type"], [1, 0, 1, "", "Concrete_Type"], [1, 0, 1, "", "Conditional_Expression"], [1, 0, 1, "", "Decimal_Literal"], [1, 0, 1, "", "Entity"], [1, 0, 1, "", "Enumeration_Literal"], [1, 0, 1, "", "Enumeration_Literal_Spec"], [1, 0, 1, "", "Enumeration_Type"], [1, 0, 1, "", "Expression"], [1, 0, 1, "", "Field_Access_Expression"], [1, 0, 1, "", "Implicit_Null"], [1, 0, 1, "", "Integer_Literal"], [1, 0, 1, "", "Literal"], [1, 0, 1, "", "Name_Reference"], [1, 0, 1, "", "Node"], [1, 0, 1, "", "Null_Literal"], [1, 0, 1, "", "Package"], [1, 0, 1, "", "Quantified_Expression"], [1, 0, 1, "", "Quantified_Variable"], [1, 0, 1, "", "Range_Test"], [1, 0, 1, "", "Record_Object"], [1, 0, 1, "", "Record_Reference"], [1, 0, 1, "", "Record_Type"], [1, 0, 1, "", "Section"], [1, 0, 1, "", "Separator"], [1, 0, 1, "", "String_Literal"], [1, 0, 1, "", "Symbol_Table"], [1, 0, 1, "", "Tuple_Aggregate"], [1, 0, 1, "", "Tuple_Type"], [1, 0, 1, "", "Type"], [1, 0, 1, "", "Typed_Entity"], [1, 0, 1, "", "Unary_Expression"], [1, 0, 1, "", "Value"]], "trlc.ast.Concrete_Type": [[1, 1, 1, "", "fully_qualified_name"]], "trlc.ast.Expression": [[1, 1, 1, "", "evaluate"]], "trlc.ast.Node": [[1, 1, 1, "", "dump"]], "trlc.ast.Record_Object": [[1, 1, 1, "", "fully_qualified_name"], [1, 1, 1, "", "to_python_dict"]], "trlc.ast.Record_Type": [[1, 1, 1, "", "all_components"], [1, 1, 1, "", "get_freezing_expression"], [1, 1, 1, "", "is_frozen"], [1, 1, 1, "", "is_subclass_of"]], "trlc.ast.Symbol_Table": [[1, 1, 1, "", "all_names"], [1, 1, 1, "", "contains"], [1, 1, 1, "", "iter_record_objects"], [1, 1, 1, "", "lookup_assuming"], [1, 1, 1, "", "lookup_direct"]], "trlc.ast.Tuple_Type": [[1, 1, 1, "", "has_separators"], [1, 1, 1, "", "iter_separators"], [1, 1, 1, "", "iter_sequence"]], "trlc.errors": [[2, 0, 1, "", "Location"], [2, 0, 1, "", "Message_Handler"], [2, 0, 1, "", "TRLC_Error"]], "trlc.errors.Location": [[2, 1, 1, "", "to_string"]], "trlc.errors.Message_Handler": [[2, 1, 1, "", "error"], [2, 1, 1, "", "warning"]], "trlc.trlc": [[3, 0, 1, "", "Source_Manager"]], "trlc.trlc.Source_Manager": [[3, 1, 1, "", "process"], [3, 1, 1, "", "register_directory"], [3, 1, 1, "", "register_file"]]}, "objtypes": {"0": "py:class", "1": "py:method"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "titleterms": {"trlc": 0, "python": 0, "api": 0, "doc": 0, "ast": 1, "root": 1, "class": 1, "entiti": 1, "miscellan": 1, "type": 1, "express": 1, "liter": 1, "evalu": 1, "symbol": 1, "scope": 1, "error": 2, "handl": 2, "report": 2, "infrastructur": 3}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"TRLC Python API": [[0, "trlc-python-api"]], "TRLC API Docs": [[0, null]], "AST": [[1, "ast"]], "Root class": [[1, "root-class"]], "Entities": [[1, "entities"]], "Miscellaneous": [[1, "miscellaneous"]], "Types": [[1, "types"]], "Expressions": [[1, "expressions"]], "Literals": [[1, "literals"]], "Evaluation": [[1, "evaluation"]], "Symbols and scope": [[1, "symbols-and-scope"]], "Error handling and reporting": [[2, "error-handling-and-reporting"]], "Infrastructure": [[3, "infrastructure"]]}, "indexentries": {"action (class in trlc.ast)": [[1, "trlc.ast.Action"]], "array_aggregate (class in trlc.ast)": [[1, "trlc.ast.Array_Aggregate"]], "array_type (class in trlc.ast)": [[1, "trlc.ast.Array_Type"]], "binary_expression (class in trlc.ast)": [[1, "trlc.ast.Binary_Expression"]], "boolean_literal (class in trlc.ast)": [[1, "trlc.ast.Boolean_Literal"]], "builtin_boolean (class in trlc.ast)": [[1, "trlc.ast.Builtin_Boolean"]], "builtin_decimal (class in trlc.ast)": [[1, "trlc.ast.Builtin_Decimal"]], "builtin_function (class in trlc.ast)": [[1, "trlc.ast.Builtin_Function"]], "builtin_integer (class in trlc.ast)": [[1, "trlc.ast.Builtin_Integer"]], "builtin_numeric_type (class in trlc.ast)": [[1, "trlc.ast.Builtin_Numeric_Type"]], "builtin_string (class in trlc.ast)": [[1, "trlc.ast.Builtin_String"]], "builtin_type (class in trlc.ast)": [[1, "trlc.ast.Builtin_Type"]], "check (class in trlc.ast)": [[1, "trlc.ast.Check"]], "composite_component (class in trlc.ast)": [[1, "trlc.ast.Composite_Component"]], "composite_type (class in trlc.ast)": [[1, "trlc.ast.Composite_Type"]], "concrete_type (class in trlc.ast)": [[1, "trlc.ast.Concrete_Type"]], "conditional_expression (class in trlc.ast)": [[1, "trlc.ast.Conditional_Expression"]], "decimal_literal (class in trlc.ast)": [[1, "trlc.ast.Decimal_Literal"]], "entity (class in trlc.ast)": [[1, "trlc.ast.Entity"]], "enumeration_literal (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Literal"]], "enumeration_literal_spec (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Literal_Spec"]], "enumeration_type (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Type"]], "expression (class in trlc.ast)": [[1, "trlc.ast.Expression"]], "field_access_expression (class in trlc.ast)": [[1, "trlc.ast.Field_Access_Expression"]], "implicit_null (class in trlc.ast)": [[1, "trlc.ast.Implicit_Null"]], "integer_literal (class in trlc.ast)": [[1, "trlc.ast.Integer_Literal"]], "literal (class in trlc.ast)": [[1, "trlc.ast.Literal"]], "name_reference (class in trlc.ast)": [[1, "trlc.ast.Name_Reference"]], "node (class in trlc.ast)": [[1, "trlc.ast.Node"]], "null_literal (class in trlc.ast)": [[1, "trlc.ast.Null_Literal"]], "package (class in trlc.ast)": [[1, "trlc.ast.Package"]], "quantified_expression (class in trlc.ast)": [[1, "trlc.ast.Quantified_Expression"]], "quantified_variable (class in trlc.ast)": [[1, "trlc.ast.Quantified_Variable"]], "range_test (class in trlc.ast)": [[1, "trlc.ast.Range_Test"]], "record_object (class in trlc.ast)": [[1, "trlc.ast.Record_Object"]], "record_reference (class in trlc.ast)": [[1, "trlc.ast.Record_Reference"]], "record_type (class in trlc.ast)": [[1, "trlc.ast.Record_Type"]], "section (class in trlc.ast)": [[1, "trlc.ast.Section"]], "separator (class in trlc.ast)": [[1, "trlc.ast.Separator"]], "string_literal (class in trlc.ast)": [[1, "trlc.ast.String_Literal"]], "symbol_table (class in trlc.ast)": [[1, "trlc.ast.Symbol_Table"]], "tuple_aggregate (class in trlc.ast)": [[1, "trlc.ast.Tuple_Aggregate"]], "tuple_type (class in trlc.ast)": [[1, "trlc.ast.Tuple_Type"]], "type (class in trlc.ast)": [[1, "trlc.ast.Type"]], "typed_entity (class in trlc.ast)": [[1, "trlc.ast.Typed_Entity"]], "unary_expression (class in trlc.ast)": [[1, "trlc.ast.Unary_Expression"]], "value (class in trlc.ast)": [[1, "trlc.ast.Value"]], "all_components() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.all_components"]], "all_names() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.all_names"]], "contains() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.contains"]], "dump() (trlc.ast.node method)": [[1, "trlc.ast.Node.dump"]], "evaluate() (trlc.ast.expression method)": [[1, "trlc.ast.Expression.evaluate"]], "fully_qualified_name() (trlc.ast.concrete_type method)": [[1, "trlc.ast.Concrete_Type.fully_qualified_name"]], "fully_qualified_name() (trlc.ast.record_object method)": [[1, "trlc.ast.Record_Object.fully_qualified_name"]], "get_freezing_expression() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.get_freezing_expression"]], "has_separators() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.has_separators"]], "is_frozen() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.is_frozen"]], "is_subclass_of() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.is_subclass_of"]], "iter_record_objects() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.iter_record_objects"]], "iter_separators() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.iter_separators"]], "iter_sequence() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.iter_sequence"]], "lookup_assuming() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.lookup_assuming"]], "lookup_direct() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.lookup_direct"]], "to_python_dict() (trlc.ast.record_object method)": [[1, "trlc.ast.Record_Object.to_python_dict"]], "location (class in trlc.errors)": [[2, "trlc.errors.Location"]], "message_handler (class in trlc.errors)": [[2, "trlc.errors.Message_Handler"]], "trlc_error (class in trlc.errors)": [[2, "trlc.errors.TRLC_Error"]], "error() (trlc.errors.message_handler method)": [[2, "trlc.errors.Message_Handler.error"]], "to_string() (trlc.errors.location method)": [[2, "trlc.errors.Location.to_string"]], "warning() (trlc.errors.message_handler method)": [[2, "trlc.errors.Message_Handler.warning"]], "source_manager (class in trlc.trlc)": [[3, "trlc.trlc.Source_Manager"]], "process() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.process"]], "register_directory() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.register_directory"]], "register_file() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.register_file"]]}}) \ No newline at end of file +Search.setIndex({"docnames": ["index", "manual/ast", "manual/errors", "manual/infrastructure"], "filenames": ["index.rst", "manual/ast.rst", "manual/errors.rst", "manual/infrastructure.rst"], "titles": ["TRLC Python API", "AST", "Error handling and reporting", "Infrastructure"], "terms": {"thi": [0, 1, 2, 3], "i": [0, 1, 2, 3], "descript": [0, 1, 2], "end": 0, "user": [0, 1, 2], "face": 0, "first": [0, 1], "you": [0, 1, 2, 3], "need": [0, 1], "creat": [0, 1, 2, 3], "sourc": [0, 1, 2, 3], "manag": [0, 3], "feed": 0, "file": [0, 1, 2, 3], "from": [0, 1, 2], "error": [0, 1, 3], "import": [0, 1], "message_handl": [0, 1, 2, 3], "source_manag": [0, 1, 3], "mh": [0, 1, 2, 3], "sm": 0, "read": 0, "all": [0, 1, 2, 3], "rsl": [0, 1, 3], "check": [0, 1, 2, 3], "given": [0, 1, 2], "directori": [0, 3], "register_directori": [0, 3], "path": [0, 2], "trlc_file": 0, "onc": [0, 3], "ar": [0, 1, 2], "regist": [0, 3], "call": [0, 1, 3], "process": [0, 2, 3], "function": [0, 1, 2], "pars": [0, 1, 3], "valid": 0, "input": 0, "both": [0, 1], "languag": [0, 1], "defin": [0, 1], "suppli": [0, 1], "stop": 0, "symbol": [0, 3], "none": [0, 1, 2, 3], "sy": 0, "exit": 0, "1": [0, 1, 2], "oper": [0, 1], "return": [0, 1, 2, 3], "symbol_t": [0, 1, 3], "The": [0, 1, 2, 3], "most": 0, "like": [0, 1], "thing": 0, "want": [0, 1, 2, 3], "do": [0, 2], "iter": [0, 1], "over": [0, 1], "requir": [0, 1], "e": [0, 1, 2], "record_object": [0, 1], "have": [0, 1], "been": 0, "declar": [0, 1], "someth": [0, 1, 2], "obj": 0, "iter_record_object": [0, 1], "print": [0, 2], "name": [0, 1, 2, 3], "to_python_dict": [0, 1], "enough": 0, "can": [0, 1, 2], "access": [0, 1], "entir": 0, "tree": [0, 1, 3], "infrastructur": 0, "handl": 0, "report": 0, "locat": [0, 1, 2], "trlc_error": [0, 1, 2, 3], "ast": 0, "root": 0, "class": [0, 2, 3], "entiti": 0, "miscellan": 0, "type": [0, 2, 3], "express": 0, "liter": 0, "evalu": 0, "scope": 0, "trlc": [1, 2, 3], "node": [1, 2], "base": [1, 2, 3], "object": [1, 2, 3], "item": [1, 3], "attribut": [1, 2], "dump": 1, "indent": 1, "0": 1, "visualis": 1, "ani": [1, 2, 3], "veri": 1, "help": 1, "debug": 1, "understand": 1, "method": [1, 3], "produc": 1, "output": [1, 2], "builtin_boolean": 1, "builtin_integ": 1, "builtin_decim": 1, "builtin_str": 1, "builtin_markup_str": 1, "packag": 1, "bar": 1, "record_typ": 1, "mytyp": 1, "composite_compon": 1, "option": [1, 2], "fals": [1, 2, 3], "string": [1, 2], "too": 1, "short": 1, "anchor": 1, "binari": 1, "binary_oper": 1, "comp_gt": 1, "boolean": [1, 2], "unari": 1, "unary_oper": 1, "string_length": 1, "integ": 1, "refer": [1, 2], "10": 1, "instanc": [1, 3], "field": 1, "potato": [1, 2], "builtin_funct": 1, "endswith": 1, "len": 1, "match": 1, "startswith": 1, "an": [1, 2, 3], "concret": 1, "which": 1, "we": [1, 2], "alloc": 1, "memori": 1, "exampl": [1, 2], "record": 1, "unqualifi": 1, "str": [1, 2, 3], "ariti": 1, "builtin": [1, 2], "These": 1, "auto": 1, "gener": [1, 2], "number": [1, 2], "paramet": [1, 2, 3], "int": [1, 2], "deprec": 1, "should": [1, 2], "longer": 1, "us": [1, 2, 3], "bool": [1, 2, 3], "builtin_stab": 1, "declared_l": 1, "A": 1, "when": [1, 2, 3], "encount": 1, "either": 1, "contain": 1, "associ": 1, "just": 1, "singl": 1, "spread": 1, "multipl": 1, "indic": 1, "tabl": [1, 3], "section": 1, "parent": 1, "readabl": 1, "repres": 1, "construct": 1, "group": 1, "togeth": 1, "foo": [1, 2], "typed_ent": 1, "n_typ": 1, "compon": 1, "quantified_vari": 1, "variabl": 1, "quantifi": 1, "bind": 1, "For": [1, 2], "foral": 1, "x": [1, 2], "arrai": 1, "second": 1, "ordinari": 1, "name_refer": 1, "typ": 1, "element": 1, "member_of": 1, "tupl": 1, "composit": 1, "each": 1, "t": 1, "blah": 1, "2": [1, 2], "3": 1, "4": 1, "text": 1, "see": 1, "link": 1, "back": 1, "inherit": 1, "origin": [1, 2], "composite_typ": 1, "null": 1, "enumeration_literal_spec": 1, "enum": 1, "enumer": 1, "note": [1, 2], "mention": 1, "later": 1, "enumeration_liter": 1, "spec": 1, "here": 1, "asil": 1, "qm": 1, "safeti": 1, "relat": 1, "n_packag": 1, "go": 1, "bulk": 1, "5": [1, 2], "potatoreq": 1, "component1": 1, "42": 1, "provid": [1, 2], "specif": 1, "valu": 1, "dict": 1, "actual": [1, 3], "limit": 1, "unary_express": 1, "array_aggreg": 1, "tuple_aggreg": 1, "record_refer": 1, "implicit_nul": 1, "fully_qualified_nam": 1, "fqn": 1, "": 1, "full": 1, "simplifi": 1, "python": [1, 3], "might": [1, 2], "baz": 1, "especi": 1, "design": 1, "api": [1, 3], "itself": 1, "dictionari": 1, "compilation_unit": 1, "file_nam": [1, 2, 3], "special": 1, "structur": 1, "main": [1, 3], "contribut": 1, "list": 1, "check_block": 1, "block": 1, "semant": 1, "ha": 1, "mean": 1, "nice": [1, 2], "some": 1, "kind": [1, 2], "similar": 1, "represent": [1, 2], "how": 1, "appli": 1, "n_type": 1, "n_expr": 1, "n_anchor": 1, "sever": 1, "t_messag": 1, "insid": 1, "impli": 1, "warn": [1, 2], "where": [1, 2], "messag": [1, 2, 3], "issu": [1, 2, 3], "fatal": [1, 2], "also": [1, 2], "specifi": 1, "default": 1, "separ": 1, "token": 1, "syntact": 1, "abstract": 1, "concrete_typ": 1, "non": 1, "anonym": 1, "wa": 1, "builtin_typ": 1, "array_typ": 1, "element_typ": 1, "loc_low": 1, "lower_bound": 1, "loc_upp": 1, "upper_bound": 1, "implicitli": 1, "minimum": 1, "lower": 1, "bound": 1, "maximum": 1, "upper": 1, "builtin_numeric_typ": 1, "numer": 1, "decim": 1, "inherited_symbol": 1, "thei": 1, "share": 1, "includ": [1, 2], "applic": 1, "exclud": 1, "n_parent": 1, "is_abstract": 1, "In": 1, "extend": 1, "root_t": 1, "part": 1, "abov": 1, "frozen": 1, "map": 1, "is_fin": 1, "final": [1, 2, 3], "new": 1, "mai": 1, "all_compon": 1, "conveni": 1, "get": [1, 2], "get_freezing_express": 1, "n_compon": 1, "retriev": 1, "It": 1, "intern": 1, "compil": 1, "hi": 1, "its": [1, 2], "is_frozen": 1, "test": 1, "is_subclass_of": 1, "true": [1, 2, 3], "tuple_typ": 1, "empti": 1, "precis": 1, "one": [1, 2], "less": 1, "than": [1, 3], "has_separ": 1, "iter_separ": 1, "iter_sequ": 1, "order": [1, 2], "enumeration_typ": 1, "context": [1, 2], "case": 1, "static": 1, "otherwis": 1, "must": 1, "handler": [1, 2, 3], "rais": [1, 2, 3], "cannot": 1, "result": 1, "composite_object": 1, "synthesis": 1, "aggreg": 1, "implicit": 1, "And": 1, "Then": 1, "own": [1, 2], "further": 1, "distinct": 1, "explicit": 1, "null_liter": 1, "appear": 1, "assign": 1, "picasso": 1, "yukon": 1, "gold": 1, "sweet": 1, "found": 1, "somewhat": 1, "content": 1, "There": 1, "two": 1, "form": 1, "coordin": 1, "12": 1, "40": 1, "12345": 1, "term": 1, "differ": 1, "onli": 1, "sugar": 1, "anoth": 1, "kitten": 1, "depends_on": 1, "other_packag": 1, "cat": 1, "consult": 1, "target": 1, "reason": 1, "indirect": 1, "immedi": 1, "resolv": 1, "while": 1, "alwai": 1, "fill": 1, "suppos": 1, "cours": 1, "depend": [1, 3], "n_operand": 1, "operand": 1, "captur": 1, "follow": 1, "plu": 1, "g": [1, 2], "minu": 1, "absolute_valu": 1, "ab": 1, "logical_not": 1, "foobar": 1, "array_length": 1, "component_nam": 1, "conversion_to_int": 1, "conversion_to_decim": 1, "binary_express": 1, "n_lh": 1, "n_rh": 1, "logical_and": 1, "b": 1, "logical_or": 1, "logical_xor": 1, "xor": 1, "logical_impli": 1, "comp_eq": 1, "comp_neq": 1, "comp_lt": 1, "comp_leq": 1, "comp_geq": 1, "string_contain": 1, "string_startswith": 1, "f": 1, "string_endswith": 1, "o": 1, "string_regex": 1, "array_contain": 1, "arr": 1, "time": 1, "divid": 1, "remaind": 1, "power": 1, "index": 1, "support": 1, "ration": 1, "field_access_express": 1, "n_prefix": 1, "n_field": 1, "derefer": 1, "range_test": 1, "n_lower": 1, "n_upper": 1, "rang": 1, "membership": 1, "lh": 1, "guarante": 1, "arbitrarili": 1, "complex": 1, "action": 1, "t_kind": 1, "n_condit": 1, "n_express": 1, "elseif": 1, "condit": 1, "conditional_express": 1, "made": 1, "up": 1, "sequenc": 1, "zero": 1, "elsif": 1, "els": 1, "lot": 1, "n_cond": 1, "if_act": 1, "more": [1, 3], "least": 1, "other": 1, "present": 1, "else_expr": 1, "quantified_express": 1, "univers": [1, 2], "n_variabl": 1, "n_sourc": 1, "array_compon": 1, "introduc": 1, "bodi": 1, "turn": 1, "n_var": 1, "exist": [1, 3], "doe": [1, 3], "offer": 1, "addit": [1, 2], "featur": 1, "wai": 1, "deal": 1, "isinst": 1, "my_express": 1, "pleas": 1, "integer_liter": 1, "posit": 1, "neg": 1, "negat": 1, "would": [1, 2], "op_equ": 1, "decimal_liter": 1, "fraction": 1, "string_liter": 1, "quotat": 1, "mark": 1, "escap": 1, "fulli": 1, "Will": 1, "markup": 1, "boolean_liter": 1, "member": 1, "my_enum": 1, "To": 1, "enum_lit": 1, "polymorph": 1, "come": [1, 2], "all_nam": 1, "set": [1, 2], "lookup_assum": 1, "required_subclass": 1, "assum": 1, "intend": 1, "find": 1, "know": 1, "search": 1, "If": [1, 2, 3], "subclass": 1, "lookup_direct": 1, "error_loc": 1, "pkg": 1, "stab": 1, "txt": 1, "unknown": 1, "brief": 2, "write": 2, "tool": 2, "emit": 2, "realli": 2, "good": 2, "idea": 2, "your": 2, "statement": 2, "free": 2, "displai": 2, "much": 2, "possibl": 2, "system": 2, "my_expr": 2, "attach": 2, "except": 2, "instead": 2, "line_no": 2, "col_no": 2, "virtual": 2, "real": 2, "line": 2, "start": 2, "column": 2, "to_str": 2, "include_column": 2, "style": 2, "gcc": 2, "format": 2, "filenam": 2, "strip": 2, "make": 2, "smaller": 2, "goe": 2, "wrong": 2, "problem": 2, "lex": 2, "etc": 2, "lint_mod": 3, "entri": 3, "point": 3, "look": 3, "rule": 3, "model": 3, "were": 3, "dir_nam": 3, "schedul": 3, "assertionerror": 3, "alreadi": 3, "could": 3, "without": 3, "register_fil": 3}, "objects": {"trlc.ast": [[1, 0, 1, "", "Action"], [1, 0, 1, "", "Array_Aggregate"], [1, 0, 1, "", "Array_Type"], [1, 0, 1, "", "Binary_Expression"], [1, 0, 1, "", "Boolean_Literal"], [1, 0, 1, "", "Builtin_Boolean"], [1, 0, 1, "", "Builtin_Decimal"], [1, 0, 1, "", "Builtin_Function"], [1, 0, 1, "", "Builtin_Integer"], [1, 0, 1, "", "Builtin_Numeric_Type"], [1, 0, 1, "", "Builtin_String"], [1, 0, 1, "", "Builtin_Type"], [1, 0, 1, "", "Check"], [1, 0, 1, "", "Check_Block"], [1, 0, 1, "", "Compilation_Unit"], [1, 0, 1, "", "Composite_Component"], [1, 0, 1, "", "Composite_Type"], [1, 0, 1, "", "Concrete_Type"], [1, 0, 1, "", "Conditional_Expression"], [1, 0, 1, "", "Decimal_Literal"], [1, 0, 1, "", "Entity"], [1, 0, 1, "", "Enumeration_Literal"], [1, 0, 1, "", "Enumeration_Literal_Spec"], [1, 0, 1, "", "Enumeration_Type"], [1, 0, 1, "", "Expression"], [1, 0, 1, "", "Field_Access_Expression"], [1, 0, 1, "", "Implicit_Null"], [1, 0, 1, "", "Integer_Literal"], [1, 0, 1, "", "Literal"], [1, 0, 1, "", "Name_Reference"], [1, 0, 1, "", "Node"], [1, 0, 1, "", "Null_Literal"], [1, 0, 1, "", "Package"], [1, 0, 1, "", "Quantified_Expression"], [1, 0, 1, "", "Quantified_Variable"], [1, 0, 1, "", "Range_Test"], [1, 0, 1, "", "Record_Object"], [1, 0, 1, "", "Record_Reference"], [1, 0, 1, "", "Record_Type"], [1, 0, 1, "", "Section"], [1, 0, 1, "", "Separator"], [1, 0, 1, "", "String_Literal"], [1, 0, 1, "", "Symbol_Table"], [1, 0, 1, "", "Tuple_Aggregate"], [1, 0, 1, "", "Tuple_Type"], [1, 0, 1, "", "Type"], [1, 0, 1, "", "Typed_Entity"], [1, 0, 1, "", "Unary_Expression"], [1, 0, 1, "", "Value"]], "trlc.ast.Concrete_Type": [[1, 1, 1, "", "fully_qualified_name"]], "trlc.ast.Expression": [[1, 1, 1, "", "evaluate"]], "trlc.ast.Node": [[1, 1, 1, "", "dump"]], "trlc.ast.Record_Object": [[1, 1, 1, "", "fully_qualified_name"], [1, 1, 1, "", "to_python_dict"]], "trlc.ast.Record_Type": [[1, 1, 1, "", "all_components"], [1, 1, 1, "", "get_freezing_expression"], [1, 1, 1, "", "is_frozen"], [1, 1, 1, "", "is_subclass_of"]], "trlc.ast.Symbol_Table": [[1, 1, 1, "", "all_names"], [1, 1, 1, "", "contains"], [1, 1, 1, "", "iter_record_objects"], [1, 1, 1, "", "lookup_assuming"], [1, 1, 1, "", "lookup_direct"]], "trlc.ast.Tuple_Type": [[1, 1, 1, "", "has_separators"], [1, 1, 1, "", "iter_separators"], [1, 1, 1, "", "iter_sequence"]], "trlc.errors": [[2, 0, 1, "", "Location"], [2, 0, 1, "", "Message_Handler"], [2, 0, 1, "", "TRLC_Error"]], "trlc.errors.Location": [[2, 1, 1, "", "to_string"]], "trlc.errors.Message_Handler": [[2, 1, 1, "", "error"], [2, 1, 1, "", "warning"]], "trlc.trlc": [[3, 0, 1, "", "Source_Manager"]], "trlc.trlc.Source_Manager": [[3, 1, 1, "", "process"], [3, 1, 1, "", "register_directory"], [3, 1, 1, "", "register_file"]]}, "objtypes": {"0": "py:class", "1": "py:method"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"]}, "titleterms": {"trlc": 0, "python": 0, "api": 0, "doc": 0, "ast": 1, "root": 1, "class": 1, "entiti": 1, "miscellan": 1, "type": 1, "express": 1, "liter": 1, "evalu": 1, "symbol": 1, "scope": 1, "error": 2, "handl": 2, "report": 2, "infrastructur": 3}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 8, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.todo": 2, "sphinx": 57}, "alltitles": {"TRLC Python API": [[0, "trlc-python-api"]], "TRLC API Docs": [[0, null]], "AST": [[1, "ast"]], "Root class": [[1, "root-class"]], "Entities": [[1, "entities"]], "Miscellaneous": [[1, "miscellaneous"]], "Types": [[1, "types"]], "Expressions": [[1, "expressions"]], "Literals": [[1, "literals"]], "Evaluation": [[1, "evaluation"]], "Symbols and scope": [[1, "symbols-and-scope"]], "Error handling and reporting": [[2, "error-handling-and-reporting"]], "Infrastructure": [[3, "infrastructure"]]}, "indexentries": {"action (class in trlc.ast)": [[1, "trlc.ast.Action"]], "array_aggregate (class in trlc.ast)": [[1, "trlc.ast.Array_Aggregate"]], "array_type (class in trlc.ast)": [[1, "trlc.ast.Array_Type"]], "binary_expression (class in trlc.ast)": [[1, "trlc.ast.Binary_Expression"]], "boolean_literal (class in trlc.ast)": [[1, "trlc.ast.Boolean_Literal"]], "builtin_boolean (class in trlc.ast)": [[1, "trlc.ast.Builtin_Boolean"]], "builtin_decimal (class in trlc.ast)": [[1, "trlc.ast.Builtin_Decimal"]], "builtin_function (class in trlc.ast)": [[1, "trlc.ast.Builtin_Function"]], "builtin_integer (class in trlc.ast)": [[1, "trlc.ast.Builtin_Integer"]], "builtin_numeric_type (class in trlc.ast)": [[1, "trlc.ast.Builtin_Numeric_Type"]], "builtin_string (class in trlc.ast)": [[1, "trlc.ast.Builtin_String"]], "builtin_type (class in trlc.ast)": [[1, "trlc.ast.Builtin_Type"]], "check (class in trlc.ast)": [[1, "trlc.ast.Check"]], "check_block (class in trlc.ast)": [[1, "trlc.ast.Check_Block"]], "compilation_unit (class in trlc.ast)": [[1, "trlc.ast.Compilation_Unit"]], "composite_component (class in trlc.ast)": [[1, "trlc.ast.Composite_Component"]], "composite_type (class in trlc.ast)": [[1, "trlc.ast.Composite_Type"]], "concrete_type (class in trlc.ast)": [[1, "trlc.ast.Concrete_Type"]], "conditional_expression (class in trlc.ast)": [[1, "trlc.ast.Conditional_Expression"]], "decimal_literal (class in trlc.ast)": [[1, "trlc.ast.Decimal_Literal"]], "entity (class in trlc.ast)": [[1, "trlc.ast.Entity"]], "enumeration_literal (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Literal"]], "enumeration_literal_spec (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Literal_Spec"]], "enumeration_type (class in trlc.ast)": [[1, "trlc.ast.Enumeration_Type"]], "expression (class in trlc.ast)": [[1, "trlc.ast.Expression"]], "field_access_expression (class in trlc.ast)": [[1, "trlc.ast.Field_Access_Expression"]], "implicit_null (class in trlc.ast)": [[1, "trlc.ast.Implicit_Null"]], "integer_literal (class in trlc.ast)": [[1, "trlc.ast.Integer_Literal"]], "literal (class in trlc.ast)": [[1, "trlc.ast.Literal"]], "name_reference (class in trlc.ast)": [[1, "trlc.ast.Name_Reference"]], "node (class in trlc.ast)": [[1, "trlc.ast.Node"]], "null_literal (class in trlc.ast)": [[1, "trlc.ast.Null_Literal"]], "package (class in trlc.ast)": [[1, "trlc.ast.Package"]], "quantified_expression (class in trlc.ast)": [[1, "trlc.ast.Quantified_Expression"]], "quantified_variable (class in trlc.ast)": [[1, "trlc.ast.Quantified_Variable"]], "range_test (class in trlc.ast)": [[1, "trlc.ast.Range_Test"]], "record_object (class in trlc.ast)": [[1, "trlc.ast.Record_Object"]], "record_reference (class in trlc.ast)": [[1, "trlc.ast.Record_Reference"]], "record_type (class in trlc.ast)": [[1, "trlc.ast.Record_Type"]], "section (class in trlc.ast)": [[1, "trlc.ast.Section"]], "separator (class in trlc.ast)": [[1, "trlc.ast.Separator"]], "string_literal (class in trlc.ast)": [[1, "trlc.ast.String_Literal"]], "symbol_table (class in trlc.ast)": [[1, "trlc.ast.Symbol_Table"]], "tuple_aggregate (class in trlc.ast)": [[1, "trlc.ast.Tuple_Aggregate"]], "tuple_type (class in trlc.ast)": [[1, "trlc.ast.Tuple_Type"]], "type (class in trlc.ast)": [[1, "trlc.ast.Type"]], "typed_entity (class in trlc.ast)": [[1, "trlc.ast.Typed_Entity"]], "unary_expression (class in trlc.ast)": [[1, "trlc.ast.Unary_Expression"]], "value (class in trlc.ast)": [[1, "trlc.ast.Value"]], "all_components() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.all_components"]], "all_names() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.all_names"]], "contains() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.contains"]], "dump() (trlc.ast.node method)": [[1, "trlc.ast.Node.dump"]], "evaluate() (trlc.ast.expression method)": [[1, "trlc.ast.Expression.evaluate"]], "fully_qualified_name() (trlc.ast.concrete_type method)": [[1, "trlc.ast.Concrete_Type.fully_qualified_name"]], "fully_qualified_name() (trlc.ast.record_object method)": [[1, "trlc.ast.Record_Object.fully_qualified_name"]], "get_freezing_expression() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.get_freezing_expression"]], "has_separators() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.has_separators"]], "is_frozen() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.is_frozen"]], "is_subclass_of() (trlc.ast.record_type method)": [[1, "trlc.ast.Record_Type.is_subclass_of"]], "iter_record_objects() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.iter_record_objects"]], "iter_separators() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.iter_separators"]], "iter_sequence() (trlc.ast.tuple_type method)": [[1, "trlc.ast.Tuple_Type.iter_sequence"]], "lookup_assuming() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.lookup_assuming"]], "lookup_direct() (trlc.ast.symbol_table method)": [[1, "trlc.ast.Symbol_Table.lookup_direct"]], "to_python_dict() (trlc.ast.record_object method)": [[1, "trlc.ast.Record_Object.to_python_dict"]], "location (class in trlc.errors)": [[2, "trlc.errors.Location"]], "message_handler (class in trlc.errors)": [[2, "trlc.errors.Message_Handler"]], "trlc_error (class in trlc.errors)": [[2, "trlc.errors.TRLC_Error"]], "error() (trlc.errors.message_handler method)": [[2, "trlc.errors.Message_Handler.error"]], "to_string() (trlc.errors.location method)": [[2, "trlc.errors.Location.to_string"]], "warning() (trlc.errors.message_handler method)": [[2, "trlc.errors.Message_Handler.warning"]], "source_manager (class in trlc.trlc)": [[3, "trlc.trlc.Source_Manager"]], "process() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.process"]], "register_directory() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.register_directory"]], "register_file() (trlc.trlc.source_manager method)": [[3, "trlc.trlc.Source_Manager.register_file"]]}}) \ No newline at end of file