aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-semantics
Commit message (Collapse)AuthorAge
* fix(semantics): configure StateCoderAdapterLibravatar Kristóf Marussy2024-06-28
|
* build: add Maven metadataLibravatar Kristóf Marussy2024-06-23
|
* fix: monomorphic matching for focus argumentsLibravatar Kristóf Marussy2024-06-17
| | | | | | | | | Since we don't do pre-matching for multi-objects, there's no way to fire a decision rule with multiple focus arguments without creating a new concrete object for each focus argument, even if they match the same multi-object. To be more consistent with the multi-object case, we also don't allow the same concrete object to appear as two distict focus arguments.
* fix: allow predicates in rule actionsLibravatar Kristóf Marussy2024-06-17
| | | | | We must mark any predicate definition in a rule action as mutable so that we can collect assertions created by rules during model generation.
* refactor(language): allow rules without preconditionsLibravatar Kristóf Marussy2024-06-17
|
* feat: partial referencesLibravatar Kristóf Marussy2024-06-01
| | | | | References marked as partial are not concretized during model generation. The should be managed by the user manually using propagation rules instead.
* fix(semantics): negative quantification in rulesLibravatar Kristóf Marussy2024-05-26
| | | | | Make sure we appropriate quantify over the existence of objects in negative and transitive calls in rule preconditions.
* feat(language): node constants in rule actionsLibravatar Kristóf Marussy2024-05-26
|
* feat: rule translationLibravatar Kristóf Marussy2024-05-26
|
* refactor(language): merge Assertion and AssertionActionLibravatar Kristóf Marussy2024-05-26
|
* feat: rule parsingLibravatar Kristóf Marussy2024-05-26
|
* refactor(logic): abstract domain interfaceLibravatar Kristóf Marussy2024-04-07
| | | | Require all abstract domain elements to implement the AbstractValue interface.
* refactor: move terms and DNF into logic subprojectLibravatar Kristóf Marussy2024-04-07
|
* feat(language): type inferenceLibravatar Kristóf Marussy2024-04-07
| | | | | | * Customizable operator overloads. * Customizable aggregation operators. * Simplify ProblemQualifiedNameProvider.
* feat(language): datatype declarationsLibravatar Kristóf Marussy2024-04-07
| | | | | Also changes ReferenceDeclaration to declare attributes, since reference and attributes can only be distinguished at linking time.
* fix(test): Windows line endings comparisonLibravatar Kristóf Marussy2024-04-07
|
* refactor(language): no fully qualified self importLibravatar Kristóf Marussy2024-02-18
| | | | | | | | Make sure it is impossible to create clashing fully qualified names when renaming a module by forbidding modules from referring to their own elements with fully qualified names. Therefore, serializing a solution will not create clashing fully qualified names (which would prevent serialization from succeeding).
* feat(language): automatic problem kind inferenceLibravatar Kristóf Marussy2024-02-06
|
* feat: filesystem-level import resolutionLibravatar Kristóf Marussy2024-02-04
| | | | | Modules without an explicitly declared name get a name automatically inferred from their path.
* feat(language): import resolutionLibravatar Kristóf Marussy2024-02-03
|
* refactor(language): name disambiguationLibravatar Kristóf Marussy2024-02-02
| | | | | | * Use fully qualified names starting with :: (as in C++) to unambiguously refer to an element. * Name shadowing within modules.
* refactor: serialize solutions as modulesLibravatar Kristóf Marussy2024-01-31
|
* refactor(language): module and node declarationsLibravatar Kristóf Marussy2024-01-31
| | | | | | | | * New default file extension: .refinery (.problem is also supported). * Add module keyword for self-contained modules. * Rename indiv declarations to atom declaration. * Add node and multi declarations for explicitly declared nodes and multi-objects, respectively.
* fix(build): avoid cyclic dependencyLibravatar Kristóf Marussy2024-01-31
| | | | | | IntelliJ can handle dependencies between test configurations going in the reverse direction compared to dependencies between main configurations, but Eclipse can't. Manually copy some code over to break the reverse dependency.
* refactor: matching node names in CLI and webLibravatar Kristóf Marussy2024-01-01
|
* feat: solution serializerLibravatar Kristóf Marussy2023-12-24
|
* feat: state-based store for cross referencesLibravatar Kristóf Marussy2023-12-08
| | | | | | | Efficiently store cross references even if default ref(*, *): false. Uses propagation rules instead of view queries to reason about type constraints and multiplicity.
* feat(language): opposite reference validationLibravatar Kristóf Marussy2023-11-17
|
* feat: predicates as reference typesLibravatar Kristóf Marussy2023-11-17
| | | | | | | | | | Now unary predicates may be used as types for cross-references. This might create circular references between predicate, but no differently than when the user manually creates predicates with circular references. The reference types of containment and container references still have to be classes, because we use the class hierarchy to encode contained types.
* refactor: smenatics and facadesLibravatar Kristóf Marussy2023-11-03
| | | | | Also moves model metadata into language-web, since we only use it on the frontent.
* refactor(langauge-web): use generator facadesLibravatar Kristóf Marussy2023-11-03
|
* feat: model generator facadeLibravatar Kristóf Marussy2023-11-03
|
* refactor(semantics): simple name creationLibravatar Kristóf Marussy2023-10-15
| | | | Use a simpler data structure for constructing simple names.
* chore: remove VIATRA brandingLibravatar Kristóf Marussy2023-09-16
| | | | | | | | Rename VIATRA subprojects to Refinery Interpreter to avoid interfering with Eclipse Foundation trademarks. Uses refering to a specific (historical) version of VIATRA were kept to avoid ambiguity.
* fix: hide new node names in generated modelsLibravatar Kristóf Marussy2023-09-13
|
* fix: SVG clipping path in FirefoxLibravatar Kristóf Marussy2023-09-12
| | | | "#" should not appear in URI fragments, use "::" instead.
* feat: connect model generator to UILibravatar Kristóf Marussy2023-09-12
|
* feat: cancellation token for ModelStoreLibravatar Kristóf Marussy2023-09-11
|
* fix: VIATRA projection indexer errorLibravatar Kristóf Marussy2023-09-10
| | | | | | | | | | | When a projection indexer is constructed for a production node, the projection memory is only populated if changes are being propagated. The cache doesn't get populated even if changes are flushed afterwards. This not only returns invalid query results, but also a duplicate deletion exception will be thrown when the production node tries to delete a tuple from the index memory. To counteract this issue, we enable update propagation while a matcher (and its associated indexers) are being created.
* feat: integrate DSE with partial interpretationLibravatar Kristóf Marussy2023-09-09
|
* feat: scope propagator in languageLibravatar Kristóf Marussy2023-09-03
|
* build: runtimeOnly Eclipse Collections if posibleLibravatar Kristóf Marussy2023-09-03
|
* refactor: rename invalidNumberOfContainersLibravatar Kristóf Marussy2023-08-29
| | | | | Use a simplified name invalidContainer, since this pattern may match even if there is a sufficient number of ERROR containers.
* refactor(frontent): improve graph drawingLibravatar Kristóf Marussy2023-08-26
|
* feat(frontend): automatic fit zoomLibravatar Kristóf Marussy2023-08-24
|
* fix: predicate value translationLibravatar Kristóf Marussy2023-08-21
|
* feat: improve semantics error reportingLibravatar Kristóf Marussy2023-08-20
| | | | | Also makes model seeds cancellable to reduce server load during semantic analysis.
* fix: nullary model initializationLibravatar Kristóf Marussy2023-08-19
| | | | | Decision trees can only handle relations with 1 level and up, so we use a special case for nullary relations.
* chore: import VIATRA sourceLibravatar Kristóf Marussy2023-08-19
| | | | | Make our modifications more maintainable by editing the source code directly instead of using reflection.
* feat: predicate semanticsLibravatar Kristóf Marussy2023-08-18
|