Abstract type for all AST nodes.
Logical conjunction.
Basic flow identifier (without special characters).
Type for Boolean-valued expressions.
Typing rule for BoolExpr with K kids which must have the same type.
Basic boolean identifier (with or withtout special characters).
Component Instanciation.
Definition of a list of flows by component instanciation.
Base type for component-based expressions.
Component identifier, located in a package.
Component instance identifier, representing a path in the call tree relative to some root instance.
Represents the information that component instance can be replaced by alternative components.
Component body.
Declares a component.
Component identifier, located in a package.
Declaration of a configuration for an analysis.
Abstract trait for symbols handled in the DSL.
Integer literal in decimal notation.
Integer literal in decimal notation.
Type for all declarations allowed in a DSL model.
Type for value-carrying expressions.
Flow containment test.
Declares a new data-flow.
Type for all data-flow definitions.
Flow equality.
Flow-valued expressions.
Type for identifier-like flow-valued expressions.
Flow intersection operator.
Flow intersection operator.
Flow inequality.
Flow union operator.
Abstract type for identifiers-like nodes.
Logical equivalence.
Logical implication.
Location of an ASTNode in some source file
Location of an ASTNode in some source file
the source filename
line number in the file
column number in the line
Includes a file.
Component instance prefixed boolean identifier
Flow identifier wrapped in a instance prefix.
Base type for integer-valued expressions.
Adds a namespace field to a node.
Thrown when accessing a NamespaceField that has not been set yet.
Logical negation.
Opens a package.
Logical disjuction.
Declares a package.
Adds a disjunction of parents to a node.
Magic object used to circumvent type erasure.
Magic object used to circumvent type erasure.
Adds a parent node to a node.
Thrown when accessing a ParentField that has not been set yet.
Piped symbols matching the PIPED_IDENT rule of the parser.
Piped symbols matching the POINTED_IDENT rule of the parser.
Population count: predicates equvalent to """ \Sigma_{kid \in kids }{kid} \langle relop \rangle cst""".
Type for all program-level declarations.
Base type for integer-valued expressions.
Type for relational operators used in population counts.
Definition of a single flow definition by a flow expression.
Locates an ASTNode in a source file.
Adds source location information to an ASTNode.
Standard symbols mathching the IDENT rule of the parser.
Adds a pointed to a target declaration to a node.
Thrown when accessing a TargetField that has not been set yet.
Declares a type.
Type expressions.
Type identifiers.
Type identifiers. P1 :: ... :: Pn :: T | pkgId | baseId
The empty set litteral of a given type.
The empty set litteral of a given type. P1 :: ... :: Pn :: T ! empty | typeId |
Flow identifier corresponding to a type constructor P1 :: ...
Flow identifier corresponding to a type constructor P1 :: ... :: Pn :: T ! v | typeId | | valueId |
The type of boolean expressions.
Equal operator.
Greater-than-or-equal operator.
Greater-than operator.
Less-than-or-equal operator.
Less-than operator.
Creates the root package from a list of declarations.
Generate a new system by applying substitution
Unknown source location.
This package contains the abstract syntax tree of Scade programs.