Requirements and Specification
Specification
language-reference-manual/lrm.trlc
text: It is important to have design goals for a language. The design goals of TRLC are: bullets: ['The intended domain is requirements writing in an industrial\nsafety-critical context, where requirements carry a\nlot of meta-data and linkage.', 'Future language releases should be backwards compatible, as\nwe anticipate that there will be a large body of\nrequirements.', 'Language design should be extensible and flexible for future\nchanges.', 'Requirement files (but not necessarily model) should\nbe human-readable with minimal\ntraining or understanding of the language.', 'No business logic should be encoded in the language design.']
Justifications:
Design goals are reflected in language design.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Text LRM.File_Encoding
text: All input files are encoded in UTF-8. Passing a file with a different encoding to TRLC results in undefined behaviour.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Recommendation LRM.File_Encoding_Fixed
text: It is recommended to try to detect this in an implementation and raise a fatal error; but in the interest of compatibility and sanity an implementation shall not provide a way to switch the encoding (at the command-line or otherwise).
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Text LRM.Whitespace
text: Whitespace is ignored.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
text: Comments are C-Style `/* .. */` and C++ style `//`, and are ignored. The matching for C-style comments is non-greedy.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Terminal LRM.Identifier
text: Identifiers start with a letter and are followed by letters, numbers, or underscores.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Keywords LRM.TRLC_Keywords
text: A keyword is an identifier that is one of the following reserved words: bullets: ['abs', 'abstract', 'and', 'checks', 'else', 'elsif', 'enum', 'error', 'exists', 'extends', 'false', 'fatal', 'final', 'forall', 'freeze', 'if', 'implies', 'import', 'in', 'not', 'null', 'optional', 'or', 'package', 'section', 'separator', 'then', 'true', 'tuple', 'type', 'warning', 'xor']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Punctuation LRM.Single_Delimiters
text: Single character delimiters: bullets: ['Brackets: `(` `)` `[` `]` `{` `}`', 'Punctuation: `,` `.` `=`', 'Operators: `*` `/` `%` `+` `-`', 'Boolean operators: `<` `>`', 'Symbols: `@` `:` `;`']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Punctuation LRM.Double_Delimiters
text: Double character delimiters: bullets: ['Operators: `**`', 'Boolean operators: `==` `<=` `>=` `!=`', 'Punctuation: `=>` `..`']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Text LRM.Lexing_Disambiguation
text: Preference is (obviously) given to longer delimiters if there is ambiguity; i.e. `==` takes precedence over two `=` tokens.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Terminal LRM.Integers
text: Integers are base 2 (prefixed by `0b`), 10, or 16 (prefixed by `0x`), and leading zeros are effectively ignored. It is possible to separate digit groups with an underscore for readability. It shall be a lexing error to use digits that do not fit into the base.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Terminal LRM.Decimals
text: Decimals are base 10, and leading and trailing zeros are effectively ignored.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Terminal LRM.Strings
text: There are three versions of a string, double quoted, triple single quoted, and triple double quoted:
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Simple_String_Value
text: The value of a double quoted string is precisely the characters between the two double quotes, with all instances of the `\"` escape sequence being replaced with `"`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Complex_String_Value
text: The value of a triple quoted string is the whitespace trimmed string of characters between the triple quotes (including the line breaks), The common whitespace at the beginning of each line (ignoring blank lines) starting at the second is removed. The trailing whitespace on every line is removed. There is no escaping in a triple quoted string.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
text: There are two types of files: bullets: ['`.rsl` They contains the user-defined type definitions and\noptionally user-defined warnings or checks', '`.trlc` They contain instances of the types (this is where\nyour requirements go)']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.File_Parsing_Order
text: First, all `.rsl` files are parsed. Then, if no errors are raised, all `.trlc` files are parsed.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.File_Parsing_References
text: After all files are parsed, references are resolved and user-defined checks are applied.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Recommendation LRM.Errors_In_TRLC_Files
text: It is unspecified how an implementation treats errors in `.trlc` files, but it is recommended to not stop processing after the first error.
Justifications:
This recommendation is not followed, as it would make the
qualification of the tool more difficult.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Preamble
text: All files start with a package indication and an optional import list. bnf: file_preamble ::= package_indication { import_clause } package_indication ::= 'package' IDENTIFIER_name import_clause ::= 'import' IDENTIFIER_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Current_Package
text: The package indication defines the "current package".
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Import_Visibility
text: A package may be imported, in which case its name may be used as the prefix of a `qualified_name`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Self_Imports
text: A package may not import itself.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.RSL_File
text: A `.rsl` file starts with a package declaration and is followed by type declarations. bnf: rsl_file ::= file_preamble { type_declaration | check_block }
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Package_Declaration
text: A package indication in an `.rsl` file declares a package. Any given package name may only be declared once globally.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Circular_Dependencies
text: In a `.rsl` file, a package may not import a package that imports itself, directly or indirectly.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Builtin_Types
text: An implementation shall support the following builtin types, that shall be made available for all packages: bullets: ['Boolean', 'Integer', 'Decimal', 'String', 'Markup_String']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Boolean_Values
text: A `Boolean` has two values, `false` and `true`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Integer_Values
text: An `Integer` is a signed integer, with an implementation defined range. This range shall be at least -1000 to 1000, and this can be infinite.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Decimal_Values
text: A `Decimal` is a signed rational with a power-of-ten denominator, with an implementation defined range. This range for the numerator shall be at least -1000 to 1000, and denominator is always a natural number with a range of at least 1 to 1000. Any of these ranges can be infinite (but the denominator is always non-negative).
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.String_Values
text: A `String` is a sequence of implementation defined characters. *(The decision to support Unicode or not is left unspecified.)* The maximum length of a String, if any, is implementation defined, but shall be at least 1000.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Markup_String_Values
text: A `Markup_String` is identical to a `String`, except for a few additional constraints on the string contents. Any value of type `Markup_String` is a valid instance of `String`, but not the other way around.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Builtin_Functions
text: A package also includes a number of builtin functions that are made available: bullets: ['len', 'startswith', 'endswith', 'matches', 'oneof']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Builtin_Type_Conversion_Functions
text: A package also makes available a number of numeric type conversion functions: bullets: ['Integer', 'Decimal']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Described_Names
bnf: described_name ::= IDENTIFIER_name [ STRING_description ]
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Described_Name_Description
text: A described name names an entity. The optional string description has no static or dynamic semantics.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Described_Name_Equality
text: Two described names are considered equal if their names are equal.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Described_Name_Notes
text: The description has no bearing on equality. The string description should be exported to the API, so that downstream tools can make use of it. This way we don't have to give some comments special meaning, and we don't have to implement error-prone heuristics in downstream tools for discovering these descriptions.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Qualified_Name
bnf: qualified_name ::= [ IDENTIFIER_package_name '.' ] IDENTIFIER_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Qualifier
text: The package name of a qualified name must be the current package or an imported package.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Name
text: The name must be a valid symbol in the current scope (if no package is provided) or a valid symbol of the indicated package.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Type_Declarations
bnf: type_declaration ::= enumeration_declaration | tuple_declaration | record_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Duplicate_Types
text: It is an error to create a type with a name that is already visible. (Note: this especially includes shadowing one of the builtin types, but also means you cannot shadow packages.)
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Enumeration_Declaration
bnf: enumeration_declaration ::= 'enum' described_name '{' { enumeration_literal_specification } '}' enumeration_literal_specification ::= described_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Unique_Enumeration_Literals
text: Each described name declares an enumeration literal specification, which shall have a unique name in that enumeration.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Shared_Literals
text: It is not an error to have the same literal specification for different enumerations.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Literals_Shadowing_Permitted
text: It is not an error to have an enumeration literal with the same name as a record or enumeration - as there is no ambiguity - but it is recommended that an implementation emits a warning in this case.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.No_Empty_Enumerations
text: It is an error to specify an (empty) enumeration without any literals.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Enumeration_Example
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Tuple_Declaration
bnf: tuple_declaration ::= 'tuple' described_name '{' field_declaration { [ separator_declaration ] field_declaration } '}' field_declaration ::= described_name [ 'optional' ] qualified_name_FIELD_TYPE separator_declaration ::= 'separator' separator_symbol separator_symbol ::= IDENTIFIER | '@' | ':' | ';'
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Field_Types
text: A field type names any valid visible and complete type. *(Specifically you may not have a recursive tuple reference.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Separators_All_Or_None
text: A tuple type shall declare separators between all fields, or none of them.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Restricted_Tuple_Nesting
text: A tuple type with separators may not contain fields that have tuple types with separators. *(This is to avoid parsing ambiguities for values such as `1; 2; 3`.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Optional_Requires_Separators
text: Only tuples with separators may use optional fields. Tuples without separators cannot have optional fields.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Optional_Fields
text: After an optional field has been declared, all fields following it must also be optional.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Unique_Field_Names
text: It is an error to declare two fields with the same name in the same tuple. *(Note that it is possible, but a bad idea, to have a separator with the same identifier as a field.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Recommendation LRM.Tuple_Based_Literal_Ambiguity
text: There is a potential source of ambiguity between tuples with two or more integers separated by a `x` or `b`. This is resolved by giving precedence to the lexer. For example the string `0x123` should yield the hex integer 291; but the string `0 x123` or `0 x 123` will generate the tuple. It is recommended to warn when building tuples where a `b` or `x` separator follows an integer.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Tuple_Example
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Grammar LRM.Record_Declaration
bnf: record_declaration ::= [ inheritance_qualifier ] 'type' described_name [ 'extends' qualified_name_ROOT_TYPE ] '{' { component_declaration | component_freezing } '}' inheritance_qualifier ::= 'abstract' | 'final' component_declaration ::= described_name [ 'optional' ] qualified_name_COMPONENT_TYPE [ array_declaration ] array_declaration ::= '[' INTEGER_lower '..' '*' ']' | '[' INTEGER_lower '..' INTEGER_upper ']' component_freezing ::= 'freeze' IDENTIFIER_component '=' value
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Valid_Root_Type
text: The root type for a record extension must be a valid record type.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Abstract_Types
text: A record may be marked `abstract`, in which case no objects of this type may be declared. It must be extended *(even if that extension is empty)* before instances of that type can be declared. *(Note that it is possible to have components of an abstract type.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Final_Types
text: A record may be marked `final`, and the extension of a `final` type is also considered to be final *(even if it is not explicitly marked as such)*. An extension of a final type may not contain any component declarations.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Unique_Record_Components
text: Each component declaration shall have a unique name in that record declaration, or any of its root types. *(Two separate record extensions may defined the same component, and they may even have different types. But you cannot re-define a component from a parent type.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Valid_Component_Type
text: Each component type shall refer to a valid type, or to the name of the record type itself. It is an error to refer to a type that has not been declared yet. *(As there are no forward declarations in the language, this forces the user type hierarchy to be a DAG, but permitting self-references.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Anonymous_Arrays
text: A component with an array declaration introduces an anonymous array type. This means the type of the record component is not the type as specified, but rather an array where the element type is that type.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Upper_Bound_Greater_Than_Lower_Bound
text: It is an error to specify an upper bound that is less than the lower bound. *(Note that it is permitted for them to be equal.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Freezing_Components
text: Any valid previously declared record component may be frozen, providing a value of the correct type for the given field in all instances of the record type. It is an error to freeze a component that is already frozen.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Array_Indexing
text: Arrays are indexed by natural numbers and the first index is 0.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Array_Lower_Bound
text: An instance of an array shall not have fewer elements than its lower bound.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Array_Upper_Bound
text: An array type has no upper bound if `*` is specified. An array instance for an array type with an upper bound shall not have more elements than its upper bound.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Array_Implementation_Upper_Bound
text: An implementation may impose an arbitrary limit to the actual upper bound of an array *(that is treat the `*` as if it was that limit)*. This limit, if it exists, shall be greater than or equal to 1000.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Type_Extensions_Inherit_Everything
text: A record type that extends another inherits all components, user defined checks, and component freezes specified for its root type.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Type_Extensions_Polymorphism
text: Instances of an extension may be provided as a reference where a root type is required; but not the other way around. *(This provide a limited form of polymorphism, but with the Liskov substitution principle guaranteed.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Recommendation LRM.Zero_Upper_Bound
text: It is recommended to emit a warning on array types with an upper bound of zero.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Recommendation LRM.Arrays_Sized_One
text: It is recommended to emit a warning on array types with an upper bound of one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Recommendation LRM.Freezing_In_Same_Record
text: It is recommended to emit a warning on freezing a component declared in the same record.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Recommendation LRM.Tuple_Separator_Clashes
text: It is recommended that an implementation checks if a record type contains a tuple with a identifier separator that is the same as one of its components. While this is not an error (parsing for values is greedy) it is still highly confusing.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Record_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Check_Block
bnf: check_block ::= 'checks' IDENTIFIER_record_or_tuple_name '{' { check_declaration } '}' check_declaration ::= expression ',' [ severity ] STRING_message [ ',' STRING_details ] [ ',' IDENTIFIER_component_name ] severity ::= 'warning' | 'error' | 'fatal'
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Applicable_Types
text: It is an error to refer to a type that does not exist in the current package, or is not a record or tuple type.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Applicable_Components
text: In a check declaration or expression, it is an error to refer to a component name (or field name) that does not belong to the record (or tuple respectively) indicated.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.No_Newlines_In_Message
text: It is an error to include a newline in the message.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Only_Current_Package
text: Note that it is never possible to add checks to a type from a foreign package since it is not possible to specify a qualified name.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Check_Evaluation_Order
text: Each check inside a check block is evaluated in the specified order.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Check_Evaluation_Order_Across_Blocks
text: If multiple check blocks are declared for the same type, then the order of evaluation of each check block is unspecified.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Check_Evaluation_Order_For_Extensions
text: For record extensions, all checks for the base record must be evaluated before any check of the record extension is evaluated.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Check_Messages
text: If the evaluated expression is true, no action is taken. If it is false, then a diagnostic is emitted with the specified message and details. It is implementation defined if and how the details are shown, for example in a "brief" mode they could be omitted.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Check_Severity
text: The severity, if provided, controls how future errors are treated, and how the TRLC implementation terminates. bullets: ['A warning has no effect other than emitting the message.', 'An error (the default, in case severity is not specified)\ncauses an implementation to eventually\nreturn a non-zero error code, but further\nchecks will be evaluated (potentially\ncreating more messages).', 'A fatal message is like an error, except that no further\nchecks from this check block shall be\nevaluated for this object.']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Intended_Semantics_Of_Messages
text: The intended meaning of the message is a short description of what is wrong. The intended meaning for the optional details is a longer explanation, including perhaps on what to fix.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Anchoring
text: The component name (if specified) is a hint where the message should be anchored. It is implementation defined how or if this is taken into account. A suitable anchoring for a message without a component or field could be the object declaration itself. If only a single component or field is used in the expression then the message could be anchored the same way as if the component was indicated explicitly in the check.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Sane_Typing
text: It is an important design goal to keep the type system sane and following LSP. I.e. each subtype may only narrow the values permitted in a type. This means for a record R and its extension RE; any valid instance of RE is always a valid instance of R if a new binding of R is created considering only the components that are in R. It will never be possible to delete, suppress, widen, or omit checks in record extensions.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Check_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Expression
bnf: expression ::= relation { 'and' relation } | relation { 'or' relation } | relation [ 'xor' relation ] | relation [ 'implies' relation ]
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Relation
bnf: relation ::= simple_expression [ comparison_operator simple_expression ] | simple_expression [ 'not' ] 'in' membership_choice | simple_expression [ 'not' ] 'in' simple_expression membership_choice ::= simple_expression '..' simple_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Simple_Expression
bnf: simple_expression ::= [ adding_operator ] term { adding_operator term }
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
bnf: term ::= factor { multiplying_operator factor }
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Factor
bnf: factor ::= primary [ '**' primary ] | 'not' primary | 'abs' primary
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Primary
bnf: primary ::= INTEGER | DECIMAL | STRING | 'true' | 'false' | 'null' | name | '(' expression ')' | '(' quantified_expression ')' | '(' conditional_expression ')'
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Recommendation LRM.Unary_Minus_Parsing
text: The parsing of unary minus can be confusing: `-a % b` is actually `- (a % b)`. The semantics of `%` are carefully specified so that this does not matter. It does also mean that `-a / -b` is not legal and needs to be written as either `-a / (-b)` or even better `(-a) / (-b)`. It is recommended that a linter warns whenever a unary minus is encountered that has a non-trivial `term` or `factor` as its operand.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Expression_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
text: A name can be one of four things: bullets: ['A qualified name referring to either some object, a component\n(in a record) or field (in a tuple), or an enumeration type.', 'A tuple field or enumeration literal.', 'An index into an array.', 'A (builtin) function call.'] bnf: name ::= qualified_name | name '.' IDENTIFIER | name '[' expression ']' | name '(' parameter_list ')' parameter_list ::= expression { ',' expression }
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Base_Names
text: The `qualified_name` must resolve to record component or tuple field in scope, or a visible record object, or a visible enumeration type.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Access_Prefixes
text: If the prefix of a dot (`.`) access resolves to an enumeration type, then the identifier must be a valid literal of that type. If the prefix of a dot (`.`) access resolves to a tuple, then the identifier must be a valid field of the type of that tuple. Any other prefix is an error.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Index_Prefixes
text: The type of the `name` in an array indexing prefix (i.e. `[` .. `]`) must be an array type.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Function_Prefixes
text: The `name` in a function call must resolve to one of the builtin functions.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Signature_Len
text: The builtin function `len` is of arity 1. Its parameter must be of type `String` or an array type. Its return type is `Integer`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Signature_String_End_Functions
text: The builtin functions `startswith` and `endswith` are of arity 2. All of their parameters must be of type `String`. The return type of either function is `Boolean`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Signature_Matches
text: The builtin function `matches` is of arity 2. Its parameters must be of type `String`. The return type is `Boolean`. The second parameter must be a valid regular expression. *(It is implementation defined which regular expression language is used, but it is highly, _highly_ recommended to implement the standard POSIX regular expressions.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Static_Regular_Expression
text: In addition, the second parameter to the `matches` function must be a static compile-time constant, i.e. it must not depend on the value of a record field or the value of a quantified variable.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Signature_OneOf
text: The builtin function `oneof` is of arity >= 1. Its parameter(s) must be of type `Boolean`. The return type is `Boolean`.
Issues:
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Signature_Type_Conversion
text: The numeric type conversion functions are of arity 1 and polymorphic (they are defined for both integer and rationals). They return the type indicated by the function name. *(They are polymorphic in case we want to introduce a true rational type, or a floating point type.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Len_Semantics
text: The `len` function computes the length of the given string or array.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Startswith_Semantics
text: The `startswith` function returns true iff the first parameter fully contains the second parameter at its start.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Endswith_Semantics
text: The `endswith` function returns true iff the first parameter fully contains the second parameter at its end.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Matches_Semantics
text: The `matches` function returns true iff the first parameter is matched by the regular expression given in the second parameter.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.OneOf_Semantics
text: The `oneof` function returns true iff exactly one of its parameters is true, and all others are false.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Integer_Conversion_Semantics
text: The `Integer` type conversion rounds to the nearest integral, away from zero in the case of ties.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Decimal_Conversion_Semantics
text: The `Decimal` type conversion simply converts the given integer to the exact same rational.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Name_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Grammar LRM.Operators
bnf: comparison_operator ::= '==' | '!=' | '<' | '<=' | '>' | '>=' adding_operator ::= '+' | '-' multiplying_operator ::= '*' | '/' | '%'
Issues:
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Association
text: For a chain of operators of the same category, the association is left to right.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Range_Checks
text: It is implementation defined if type checks (range or length) are performed for intermediate values; if type checks are not performed then the resulting expression must not be an error.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Range_Checks_Example
text: This means you either type check all the time, or you guarantee that any intermediate will not create an error in the implementation, as long as the final value fits in the relevant type. For example if A and B are maximum length Strings, then `"potato" in A + B` may either create an error when attempting to concatenate the strings, OR it must work correctly. What you cannot do is cause undefined behaviour in the evaluation.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Logical_Operators
text: There are five Boolean operators defined (not, and, or, xor, implies) for expressions of Boolean type. The type of the result is Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Shortcut_Logical_Operators
text: Operators with short-cut semantics are `and`, `or`, and `implies`. They first evaluate their left-hand side and proceed to evaluate the right-hand side if it could influence the final result. The semantics of these operators are the usual ones.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Regular_Logical_Operators
text: Operators with standard semantics are `xor`, and `not`. They do the usual thing.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Equality_Domain
text: The equality operators `==` and `!=` are defined for all types, as long as the types are compatible, i.e. they are the same types or one type is a (transitive) record extension of the other. The result is a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Relational_Domain
text: The ordering relations `<`, `<=`, `>=`, and `>` are defined for pairs of integers or pairs of rationals only. The result is a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Membership_Domain
text: Range membership tests `not in` and `in` are defined for integers and rationals only. All operands must have the same type, and the result is a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Substring_Domain
text: Substring tests `not in` and `in` are defined for Strings only. The result is a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Array_Membership_Domain
text: Array membership tests `not in` and `in` are defined for all arrays. The type of the left-hand side must match the element type of the array. The result is a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Equality_On_Null
text: Null is only equal to itself.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Equality_On_Tuples
text: Two tuple instances are equal if they both contain the same values for all their components.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Equality_On_Record_References
text: Two record references are equal if they both refer to the same record.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Equality_On_Arrays
text: Two arrays are equal if they both have the same length and items (in the same order).
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Simple_Relational_Semantics
text: The meaning of the relationship operators are the usual.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Inclusive_Membership_Test_Semantics
text: An inclusive range membership test `x in a .. b` has the same meaning as the Boolean expression `x >= a and x <= b`. *(This means if a is less than b, it is not an error. Instead the result of such a test is always false.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Exclusive_Membership_Test_Semantics
text: An exclusive range membership test `x not in a .. b` has the same meaning as the Boolean expression `x < a or x > b`.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Simple_Substring_Semantics
text: The meaning of the substring test is the usual. Note that the substring test is of course performed on the value of the string, not the original literal.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Array_Membership_Semantics
text: The array membership test `X in A` is equivalent to `(exists item in A => item == X)`. The array non-membership test `X not in A` is equivalent to `(forall item in A => item != X)`.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Binary_Addition_Domain
text: The binary adding operator `+` is defined for integers, rationals, and strings. The binary subtraction operator `-` is defined for only integers and rationals.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.String_Concatenation_Downgrade
text: When `+` is used to concatenate strings, the result is always a `String`, even if one or both operands if of type `Markup_String`. *(This means the only way you can create a markup string is when you construct it at record object declaration.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Unary_Addition_Domain
text: The unary adding operator `+`, and the unary subtraction operator `-` is defined only for integers and rationals.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Adding_Types
text: For binary adding operators the types of the operands have to match, and the result is the same type as the two operands. For unary adding operators the result is always the same as the operand.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Adding_Semantics
text: The definition of `+` and `-` for integers and rationals is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Concatenation_Semantics
text: The definition of `+` for strings is string concatenation.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Multiplying_Domain
text: The multiplying operators `*`, `/` are defined for integers and rational types. The remainder operator `%` is defined for integers only. For any of these the result is always the same type as the operands.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Multiplying_Semantics
text: The definition of `*` is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Integer_Division_Semantics
text: The definition of `/` for integers is floor division. *(For example `5 / 2` is `2` and `-5 / 2` is `-3`.)*
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Rational_Division_Semantics
text: The definition of `/` for rationals is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Remainder_Semantics
text: The modulus division for `x % y` satisfies the relation `x = y*N + (x % y)`, for some (signed) value of `N`, with one of the following constraints met: bullets: ['`x % y` is `0`', '`x % y` has the same sign as `y` and an absolute\nvalue less than `y`']
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Dynamic_semantics LRM.Division_By_Zero
text: Division by zero or modulo division by 0 is an error.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Power_Domain
text: The exponentiation operator `**` is defined for integers and rational bases, and returns the same type as its base. The exponent type is always an Integer.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Power_Static_Exponent
text: The right-hand side parameter of `**` must be a static compile-time constant, i.e. it must not depend on the value of a record field or the value of a quantified variable. It must not be negative.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Absolute_Value_Domain
text: The absolute value prefix operator `abs` is defined for integers and rationals, and returns a (positive) integer or rational respectively.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Negation_Domain
text: The logical negation prefix operator `not` is defined for Booleans only, and returns a Boolean.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Power_Semantics
text: The definition of exponentiation `**` is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Absolute_Value_Semantics
text: The definition of absolute value `abs` is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Static_semantics LRM.Negation_Semantics
text: The definition of logical negation `not` is the usual one.
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Quantified_Expression
bnf: quantified_expression ::= '(' quantifier IDENTIFIER_name 'in' IDENTIFIER_component_name '=>' expression_PREDICATE ')' quantifier ::= 'forall' | 'exists'
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Name_resolution LRM.Quantification_Object
text: The component name must be defined in the current record, and must be an array type.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Quantification_Naming_Scope
text: A quantified expression introduces a new name, that is valid only inside the predicate. This new name must not shadow any other. *(This means two separate quantified expressions may use the same name, but you may not nest and shadow, and you may not shadow a component name either.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Quantification_Type
text: The type of the predicate must be Boolean. The result of a quantified expression is Boolean.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Universal_Quantification_Semantics
text: For universal *(forall)* quantification the final value is true iff all predicates evaluate to true. *(This means universal quantification over an empty array is vacuously true.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Existential_Quantification_Semantics
text: For existential *(exists)* quantification the final value is true iff the predicate evaluate to true at least once. *(This means existential quantification over an empty array is vacuously false.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Quantification_Evaluation
text: During evaluation of the quantified expression, each element of the array is evaluated in sequence and its value is bound to the declared name. The predicated is then evaluated with this binding.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Recommendation LRM.Quantification_Short_Circuit_Evaluation
text: In general Quantification is equivalent to a chain of `and` or `or` expressions, however it is left unspecified if quantification is using short-circuit semantics or not. It is recommended (for sanity) to do the following: bullets: ['For actual evaluation, use short-circuit semantics, as speed\nis important.', 'For static analysis or linting, use non-short-circuit\nsemantics, as using a quantifier as a\ncomplex guard is not reasonable.']
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Conditional_Expression
bnf: conditional_expression ::= 'if' expression_CONDITION 'then' expression_DEPENDENT {'elsif' expression_CONDITION 'then' expression_DEPENDENT } 'else' expression_DEPENDENT
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Conditional_Expression_Types
text: The condition expressions must be of Boolean type. The dependent expressions must all be of the same type, and the type of the entire conditional expression is also of that type.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Conditional_Expression_Evaluation
text: Each condition is evaluated in sequence. Evaluation stops on the first condition that evaluates to true; after which the corresponding dependent expression is evaluated and returned.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Conditional_Expression_Else
text: If all conditions are evaluated to false, then the else dependent expression is evaluated and returned.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.TRLC_File
text: A `.trlc` file is simply a set of record object declarations. bnf: trlc_file ::= file_preamble { trlc_entry } trlc_entry ::= section_declaration | record_object_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Late_Package_Declarations
text: It is permitted to indicate a package that has not been declared in an `.rsl` file, in which case it is declared by the package_indication in the `.trlc` file. Such a package is declared late. If two `.trlc` files declare the same package, then it is unspecified which file actually declares it.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.TRLC_Parse_Issue
text: For TRLC files it is impossible fully parse a file in isolation, since we must process at least the package indication of every other trlc file to know which import statements are valid.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Section_Declaration
text: A section has no semantic impact, and no impact on name resolution. Section names do not have to be unique. It may be exposed in an API, for example to section a HTML view of requirements. bnf: section_declaration ::= 'section' STRING_section_name '{' { trlc_entry } '}'
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Grammar LRM.Record_Object_Declaration
bnf: record_object_declaration ::= qualified_name_RECORD_TYPE IDENTIFIER_object_name '{' { component_association } '}' component_association ::= IDENTIFIER_component_name '=' value value ::= [ adding_operator ] INTEGER | [ adding_operator ] DECIMAL | STRING | qualified_name_RECORD_OBJECT | qualified_name_ENUM_TYPE '.' IDENTIFIER_enumeration_literal | array_aggregate | tuple_aggregate array_aggregate ::= '[' [ value { ',' value } ] ']' tuple_aggregate ::= '(' value { ',' value } ')' | value { separator_symbol value }
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Record_Types
text: The type of the declaration must be a valid, non-abstract record type. If no qualified name is given, the record type must be in the indicated package. *(Note that it is not legal to declare a tuple object.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Unique_Object_Names
text: The name of the declaration must be a unique name and sufficiently distinct in the current package. *(See name resolution for a definition of sufficiently distinct.)* The name of the declaration must not shadow a type name or package.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Components
text: Each component name must be a valid, non-frozen component of the record type. It is an error to attempt to assign to a frozen component *(even if the value assigned would be the same value as it's frozen value)*.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Valid_Enumeration_Literals
text: Each enumeration must be a valid enumeration type in the indicated (or qualified) package. Each enumeration literal must be a valid literal of the indicated enumeration in the prefix.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Matching_Value_Types
text: The type of each value must match each component or array element type. Records are specified through references *(there is no way to specify an inline anonymous instance)*.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Mandatory_Components
text: It is an error to not provide a value for a non-optional component.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Syntax_Correct_Form
text: The aggregate of a tuple must use the correct form. A tuple without separators uses the bracket syntax (e.g. `(1, 2, 3)`, and a tuple with separators must use the separator syntax (e.g. `12345@42`).
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Generic_Form
text: A tuple value for a tuple without separators must contain one value, in order, for each of its fields.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Tuple_Separator_Form
text: A tuple value for a tuple with separators must contain the separator symbols as indicated in the type, in order. Optional fields and their preceding separator may be omitted. Once an optional field has been omitted, all following (optional) fields must also be omitted.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Evaluation_Of_Checks
text: A record object declaration creates a new binding for a record. The value of any frozen components is the value provided in the freezing declaration. After references are resolved, all applicable checks on the object, including any checks for tuples, are evaluated in the context of this binding.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Late_Reference_Checking
text: It is an error to refer to a record by name that does not exist. It is legal to refer to an record that has not been encountered yet, as references are resolved after parsing.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.References_To_Extensions
text: A record reference must match in type, i.e. be of the correct type or any record extension of that type. *(For example if RE extends R, then a list of R may contain references to instances of R and RE. A list of RE may not contain any references to R.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Single_Value_Assignment
text: A value can be assigned to a component of a record object only once.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Tuple_Checks
text: The checks for a tuple aggregate are immediately evaluated after the last value is parsed.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Name_resolution LRM.Sufficiently_Distinct
text: When declaring record objects there are wider rules that indicate name clashes. Specifically a record may not be declared if its "simplified name" clashes with any other "simplified name". A "simplified name" is the name converted to lowercase and all underscores removed.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Simplified_Name_Example
text: For example the simplified name of `Foo_Bar` is `foobar` and therefore it clashes with `Foobar`, `F_Oobar`, or `Foo_B_A_R`. But only at record declaration; when referring to other object you still have to use a precise match.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Note LRM.Simplified_Name_Rationale
text: The purpose of this rule is to avoid requirements that have hard to distinguish names.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! TRLC Recommendation LRM.Record_Object_API
text: When exposing record instances through the API, it is required to make the type of the instance available. There are some alternatives, none of which are required: bullets: ['Provide an implicit String record field named `type` that\ncarries this information (it is safe to do\nthat, as it is impossible to specify a\nrecord type with a field named `type`).', 'Provide a function or attribute that, when called, provides\nthe type information.', 'Provide the type information through the type system of the\nAPI language (e.g. the Python type system).']
Issues:
missing reference to Code
missing reference to Test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Record_Object_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Text LRM.Markup_String_Format
text: A `Markup_String` allows you to inline references to TRLC record in a string. The format is limited and simple: any name or comma-separated list of names enclosed in double square brackets (i.e. `[[` and `]]`) is considered a reference.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Text LRM.Markup_String_Errors
text: Attempting to nest, or close a list that does not exist, or not close an open list before the end of the string is an error.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Markup_String_Types
text: The fragment of BNF grammar applicable is qualified_name. The type of each named object must be a record type. *(This means you cannot reference types or enumerations.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Markup_String_Late_Reference_Resolution
text: The references are resolved late, just like an ordinary record reference. *(This means you can forward-reference objects, or reference yourself.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Name_resolution LRM.Markup_String_Resolution
text: The name resolution rules for the qualified_name are exactly the same as they are for any other qualified_name. *(This means you need to import all packages from which you reference objects.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Example LRM.Markup_String_Examples
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Restricted_Null
text: The literal null value is only permitted to appear in an equality or inequality. Any other context (such as `(if a then null else b)` is rejected statically.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Static_semantics LRM.Null_Equivalence
text: The expression `null == null` is statically true.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Unspecified_Optional_Components
text: The value of an optional component or field that is not specified is `null`.
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ TRLC Dynamic_semantics LRM.Null_Is_Invalid
text: For any other operator or operation, the null value is considered out of bounds and raises an error. *(This means you can check if something is null or not, but any other use will cause an error.)*
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
Implementation
Code
trlc/ast.py
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Node.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Node.set_ast_link
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Node.write_indent
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Node.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Check_Block.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Check_Block.add_check
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Check_Block.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Compilation_Unit.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.set_package
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.add_import
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.resolve_imports
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.is_visible
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Compilation_Unit.add_item
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Check.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Check.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Check.get_real_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Check.perform
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Unary_Operator
Justifications:
Utility enumeration for unary operators
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Binary_Operator
Justifications:
Utility enumeration for binary operators
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Expression.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Expression.ensure_type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Expression.resolve_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Implicit_Null.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Implicit_Null.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Implicit_Null.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Implicit_Null.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Implicit_Null.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Implicit_Null.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Literal.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Null_Literal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Integer_Literal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Decimal_Literal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.String_Literal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Boolean_Literal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Enumeration_Literal.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Enumeration_Literal.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Enumeration_Literal.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Enumeration_Literal.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Enumeration_Literal.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Enumeration_Literal.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Array_Aggregate.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Array_Aggregate.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.append
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.resolve_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Aggregate.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Tuple_Aggregate.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.assign
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Aggregate.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.resolve_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Tuple_Aggregate.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Record_Reference.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Reference.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Reference.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Reference.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Reference.resolve_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Reference.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Reference.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Name_Reference
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Unary_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Unary_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Unary_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Unary_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Unary_Expression.to_python_object
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Unary_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Binary_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Binary_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Binary_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Binary_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Binary_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor ast.Field_Access_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Field_Access_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Field_Access_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Field_Access_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Field_Access_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Range_Test.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Range_Test.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Range_Test.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Range_Test.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Range_Test.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.OneOf_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.OneOf_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.OneOf_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.OneOf_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.OneOf_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Action.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Action.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Action.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Conditional_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Conditional_Expression.add_elsif
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Conditional_Expression.set_else_part
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Conditional_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Conditional_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Conditional_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Conditional_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Quantified_Expression.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Quantified_Expression.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Quantified_Expression.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Quantified_Expression.evaluate
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Quantified_Expression.can_be_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Entity.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Typed_Entity.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Quantified_Variable.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Type.perform_type_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Type.get_example_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Concrete_Type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Numeric_Type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Function
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Array_Type.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Array_Type.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Array_Type.perform_type_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Array_Type.get_example_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Integer
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Decimal
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Boolean
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_String
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Builtin_Markup_String
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Package.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Package.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Package.__repr__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Composite_Type.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Composite_Type.add_check
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Composite_Type.iter_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Composite_Type.all_components
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Composite_Component.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Composite_Component.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Composite_Component.__repr__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Record_Type.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Type.iter_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Type.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Type.all_components
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Type.is_subclass_of
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Type.is_frozen
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Type.get_freezing_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Type.get_example_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Tuple_Type.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.add_separator
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.iter_separators
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.iter_sequence
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.has_separators
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.perform_type_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Tuple_Type.get_example_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Separator
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Enumeration_Type.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Enumeration_Type.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Enumeration_Type.get_example_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Enumeration_Literal_Spec.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Enumeration_Literal_Spec.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Record_Object.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.fully_qualified_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.to_python_dict
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.is_component_implicit_null
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.assign
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Object.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.resolve_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Record_Object.perform_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Record_Object.__repr__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class ast.Section
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Symbol_Table.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.simplified_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.all_names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Symbol_Table.iter_record_objects_by_section
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.iter_record_objects
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Symbol_Table.make_visible
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.register
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.__contains__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.contains_raw
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.contains
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.lookup_assuming
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.lookup_direct
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.lookup
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.write_indent
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.dump
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method ast.Symbol_Table.create_global_table
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor ast.Scope.__init__
Justifications:
Constructor only declares variables
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Scope.push
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Scope.pop
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Scope.contains
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Scope.lookup
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method ast.Scope.size
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/errors.py
! Python Constructor errors.Location.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Location.to_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Location.context_lines
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Location.get_end_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Kind.__str__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor errors.TRLC_Error.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor errors.Message_Handler.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.suppress
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.cross_file_reference
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.emit
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.lex_error
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.error
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.warning
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.check
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method errors.Message_Handler.ice_loc
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/lexer.py
✔ Python Function lexer.triple_quoted_string_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor lexer.Source_Reference.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Source_Reference.text
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Source_Reference.context_lines
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Source_Reference.get_end_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor lexer.Token_Base.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor lexer.Token.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Token.__repr__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor lexer.Lexer_Base.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.Lexer_Base.is_alpha
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.Lexer_Base.is_numeric
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.Lexer_Base.is_alnum
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Lexer_Base.file_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Lexer_Base.token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.Lexer_Base.skip_whitespace
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Lexer_Base.advance
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Constructor lexer.TRLC_Lexer.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.TRLC_Lexer.current_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.TRLC_Lexer.file_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lexer.TRLC_Lexer.token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lexer.Token_Stream.token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Function lexer.sanity_test
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/lint.py
✔ Python Constructor lint.Linter.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lint.Linter.perform_sanity_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lint.Linter.verify_type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lint.Linter.verify_tuple_type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lint.Linter.verify_record_type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method lint.Linter.verify_array_type
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lint.Linter.markup_ref
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method lint.Linter.verify_imports
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/math.py
! Python Function math.remainder
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Function math.round_nearest_away
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/nested.py
! Python Constructor nested.Nested_Lexer.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method nested.Nested_Lexer.source_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method nested.Nested_Lexer.file_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method nested.Nested_Lexer.token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/parser.py
✔ Python Class parser.Markup_Token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor parser.Markup_Lexer.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Markup_Lexer.file_location
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Markup_Lexer.token
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor parser.Parser_Base.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser_Base.advance
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.skip_until_newline
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.peek
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.peek_eof
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.peek_kw
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser_Base.match
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.match_eof
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser_Base.match_kw
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor parser.Markup_Parser.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Markup_Parser.parse_all_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Markup_Parser.parse_ref_list
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Markup_Parser.parse_qualified_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Constructor parser.Parser.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_described_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_qualified_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_type_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_enum_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_tuple_field
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_tuple_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser.parse_record_component
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method parser.Parser.parse_record_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_relation
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_simple_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_term
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_factor
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_primary
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_quantified_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_conditional_expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_builtin
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_check_block
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_section_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_boolean
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_value
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_markup_string
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_record_object_declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_trlc_entry
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_preamble
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_rsl_file
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method parser.Parser.parse_trlc_file
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/trlc.py
! Python Constructor trlc.Source_Manager.__init__
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.callback_parse_begin
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.callback_parse_progress
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.callback_parse_end
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.signal_progress
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.cross_file_reference
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.update_common_root
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.create_parser
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.register_include
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.register_file
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.register_directory
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.register_rsl_file
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.register_trlc_file
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.build_graph
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.parse_rsl_files
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.parse_trlc_files
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.resolve_record_references
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Method trlc.Source_Manager.perform_checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Method trlc.Source_Manager.process
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Function trlc.trlc
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! Python Function trlc.main
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
trlc/vcg.py
✔ Python Class vcg.Unsupported
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ Python Class vcg.Feedback
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
Verification and Validation
Test
tests-system/checks-6
✔ TRLCST Test directory checks-6
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/comments-1
✔ TRLCST Test directory comments-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/cross-refs-in-errors
✔ TRLCST Test directory cross-refs-in-errors
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/cyclic-packages
✔ TRLCST Test directory cyclic-packages
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/decimal-1
✔ TRLCST Test directory decimal-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/decimal-5
✔ TRLCST Test directory decimal-5
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/delayed-references-1
✔ TRLCST Test directory delayed-references-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/enum
✔ TRLCST Test directory enum
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/enum-ok
✔ TRLCST Test directory enum-ok
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/file-encoding-not-utf8
✔ TRLCST Test directory file-encoding-not-utf8
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/lint-ambiguous-literals
✔ TRLCST Test directory lint-ambiguous-literals
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/lint-vcg-empty-enum
✔ TRLCST Test directory lint-vcg-empty-enum
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/multiple-models
✔ TRLCST Test directory multiple-models
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/preamble-1
✔ TRLCST Test directory preamble-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-applicable-components
✔ TRLCST Test directory rbt-applicable-components
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-applicable-types
✔ TRLCST Test directory rbt-applicable-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-boolean-values
✔ TRLCST Test directory rbt-boolean-values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-builtin-functions-1
✔ TRLCST Test directory rbt-builtin-functions-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-builtin-functions-2
✔ TRLCST Test directory rbt-builtin-functions-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-builtin-types
✔ TRLCST Test directory rbt-builtin-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-check-evaluation-order
✔ TRLCST Test directory rbt-check-evaluation-order
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-check-evaluation-order-for-extensions
✔ TRLCST Test directory rbt-check-evaluation-order-for-extensions
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-check-severity-1
✔ TRLCST Test directory rbt-check-severity-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-check-severity-2
✔ TRLCST Test directory rbt-check-severity-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-check-severity-3
✔ TRLCST Test directory rbt-check-severity-3
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-conditional-expression
✔ TRLCST Test directory rbt-conditional-expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-conditional-expression-types
✔ TRLCST Test directory rbt-conditional-expression-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-decimal-values
✔ TRLCST Test directory rbt-decimal-values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-described-name-equality
✔ TRLCST Test directory rbt-described-name-equality
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-described-names
✔ TRLCST Test directory rbt-described-names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-duplicate-types
✔ TRLCST Test directory rbt-duplicate-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-endswith-semantics
✔ TRLCST Test directory rbt-endswith-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-evaluation-of-checks
✔ TRLCST Test directory rbt-evaluation-of-checks
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-existential-quantification-semantics
✔ TRLCST Test directory rbt-existential-quantification-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-expression
✔ TRLCST Test directory rbt-expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-integer-values
✔ TRLCST Test directory rbt-integer-values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-late-package-declarations
✔ TRLCST Test directory rbt-late-package-declarations
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-late-reference-checking
✔ TRLCST Test directory rbt-late-reference-checking
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-len-semantics
✔ TRLCST Test directory rbt-len-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-mandatory-components
✔ TRLCST Test directory rbt-mandatory-components
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-errors
✔ TRLCST Test directory rbt-markup-string-errors
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-format
✔ TRLCST Test directory rbt-markup-string-format
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-late-reference-resolution
✔ TRLCST Test directory rbt-markup-string-late-reference-resolution
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-resolution
✔ TRLCST Test directory rbt-markup-string-resolution
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-types
✔ TRLCST Test directory rbt-markup-string-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-markup-string-values
✔ TRLCST Test directory rbt-markup-string-values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-matches-semantics
✔ TRLCST Test directory rbt-matches-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-matching-value-types
✔ TRLCST Test directory rbt-matching-value-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-names
✔ TRLCST Test directory rbt-names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-oneof-semantics
✔ TRLCST Test directory rbt-oneof-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-qualified-name
✔ TRLCST Test directory rbt-qualified-name
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-quantification-naming-scope
✔ TRLCST Test directory rbt-quantification-naming-scope
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-quantification-object-1
✔ TRLCST Test directory rbt-quantification-object-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-quantification-object-2
✔ TRLCST Test directory rbt-quantification-object-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-quantified-expression
✔ TRLCST Test directory rbt-quantified-expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-record-object-declaration
✔ TRLCST Test directory rbt-record-object-declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-references-to-extensions
✔ TRLCST Test directory rbt-references-to-extensions
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-restricted-null-1
✔ TRLCST Test directory rbt-restricted-null-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-restricted-null-2
✔ TRLCST Test directory rbt-restricted-null-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-restricted-tuple-nesting-1
✔ TRLCST Test directory rbt-restricted-tuple-nesting-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-restricted-tuple-nesting-2
✔ TRLCST Test directory rbt-restricted-tuple-nesting-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-section-declaration
✔ TRLCST Test directory rbt-section-declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-len-1
✔ TRLCST Test directory rbt-signature-len-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-len-2
✔ TRLCST Test directory rbt-signature-len-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-matches-1
✔ TRLCST Test directory rbt-signature-matches-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-matches-2
✔ TRLCST Test directory rbt-signature-matches-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-matches-3
✔ TRLCST Test directory rbt-signature-matches-3
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-string-end-functions-1
✔ TRLCST Test directory rbt-signature-string-end-functions-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-string-end-functions-2
✔ TRLCST Test directory rbt-signature-string-end-functions-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-string-end-functions-3
✔ TRLCST Test directory rbt-signature-string-end-functions-3
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-signature-type-conversion
✔ TRLCST Test directory rbt-signature-type-conversion
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-single-value-assignment
✔ TRLCST Test directory rbt-single-value-assignment
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-startswith-semantics
✔ TRLCST Test directory rbt-startswith-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-static-regular-expression
✔ TRLCST Test directory rbt-static-regular-expression
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-string-values
✔ TRLCST Test directory rbt-string-values
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-sufficiently-distinct-1
✔ TRLCST Test directory rbt-sufficiently-distinct-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-sufficiently-distinct-2
✔ TRLCST Test directory rbt-sufficiently-distinct-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-sufficiently-distinct-3
✔ TRLCST Test directory rbt-sufficiently-distinct-3
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-declaration
✔ TRLCST Test directory rbt-tuple-declaration
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-field-types
✔ TRLCST Test directory rbt-tuple-field-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-generic-form
✔ TRLCST Test directory rbt-tuple-generic-form
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-optional-fields
✔ TRLCST Test directory rbt-tuple-optional-fields
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-optional-requires-separators
✔ TRLCST Test directory rbt-tuple-optional-requires-separators
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-separator-form-1
✔ TRLCST Test directory rbt-tuple-separator-form-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-separator-form-2
✔ TRLCST Test directory rbt-tuple-separator-form-2
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-separators-all-or-none
✔ TRLCST Test directory rbt-tuple-separators-all-or-none
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-syntax-correct-form
✔ TRLCST Test directory rbt-tuple-syntax-correct-form
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-tuple-unique-field-names
✔ TRLCST Test directory rbt-tuple-unique-field-names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-unary-minus-parsing
✔ TRLCST Test directory rbt-unary-minus-parsing
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-unique-enumeration-literals
✔ TRLCST Test directory rbt-unique-enumeration-literals
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-unique-object-names
✔ TRLCST Test directory rbt-unique-object-names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-universal-quantification-semantics
✔ TRLCST Test directory rbt-universal-quantification-semantics
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-access-prefixes
✔ TRLCST Test directory rbt-valid-access-prefixes
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-base-names
✔ TRLCST Test directory rbt-valid-base-names
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-components
✔ TRLCST Test directory rbt-valid-components
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-enumeration-literals
✔ TRLCST Test directory rbt-valid-enumeration-literals
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-function-prefixes
✔ TRLCST Test directory rbt-valid-function-prefixes
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-index-prefixes
✔ TRLCST Test directory rbt-valid-index-prefixes
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/rbt-valid-record-types
✔ TRLCST Test directory rbt-valid-record-types
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/simple
✔ TRLCST Test directory simple
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/visibility-1
✔ TRLCST Test directory visibility-1
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-system/whitespace
✔ TRLCST Test directory whitespace
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-unit/test_ast_bysection.py
! PyUnit Test test_ast_bysection.TestIterRecordObjectsBySection.test_iter_record_objects_by_section:17
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-unit/test_lexer.py
✔ PyUnit Test test_lexer.Test_Lexer.testIdentifiers1:73
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIdentifiers2:80
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIdentifiers3:86
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testKeywords:92
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testPunctuationSingle:132
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testPunctuationDouble:163
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIncompleteNEQ:181
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIntegers1:188
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIntegers2:196
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIntegers3:202
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testIntegers4:209
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testDecimals1:215
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testDecimals2:222
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testDecimals3:228
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings1:234
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings2:247
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings3:260
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings4:266
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings5:272
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings6:278
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testStrings7:288
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testComment:294
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
✔ PyUnit Test test_lexer.Test_Lexer.testLocation1:300
Justifications:
api functionality not used inside TRLC
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
tests-unit/test_lexer_base.py
! PyUnit Test test_lexer_base.Test_Lexer_Base.testIsAlpha:43
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! PyUnit Test test_lexer_base.Test_Lexer_Base.testIsDigit:50
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00
! PyUnit Test test_lexer_base.Test_Lexer_Base.testIsAlnum:57
Build Reference: 4d88708905c893110061bc3052b731131c0a214b | Timestamp: 2025-03-27 00:49:46+00:00