aboutsummaryrefslogtreecommitdiffstats
path: root/subprojects/language-semantics/src
Commit message (Collapse)AuthorAge
* 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
|
* 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.
* feat: predicate semanticsLibravatar Kristóf Marussy2023-08-18
|
* fix: more precise new object typesLibravatar Kristóf Marussy2023-08-17
| | | | | A new object should not be an instance of any subclasses. Also, it should be possible cleare a node without any other type.
* feat: basic semantics mapping and visualizationLibravatar Kristóf Marussy2023-08-17
|
* refactor(language): invalid multiplicity traceLibravatar Kristóf Marussy2023-08-15
| | | | | Also simplifies attributes and flags for now, as we don't translate them to abstractions.
* refactor: clean up Symbol constructorLibravatar Kristóf Marussy2023-06-18
| | | | Shorthad syntax for the most commonly used symbol types.
* chore: add copyright headersLibravatar Kristóf Marussy2023-04-15
| | | | | | | | | | | | | | Make sure we obey the REUSE (https://reuse.software) specification and the origin, copyright owner, and license of all files are clearly marked. The whole project is under the EPL-2.0, except for trivial files where copyright is not applicable that are marked with the CC0-1.0 license. Moreover, code included from third parties is also available under the respective license. chore: add CONTRIBUTORS.md List all authors and supporting organizations in accordance with the REUSE specification.
* refactor: Model store and query APILibravatar Kristóf Marussy2023-01-29
| | | | Use Adapters to simplify API usage.
* refactor(store): simplify return typesLibravatar Kristóf Marussy2022-12-13
| | | | | | Prefers sealed non-generic interfaces over wildcard types to avoid confusion about method return types, especially in collections (see SonarQube rule java:S1452).
* refactor(language): simplify syntaxLibravatar Kristóf Marussy2022-11-22
|
* refactor: separate primitive types from nodesLibravatar Kristóf Marussy2022-11-22
|
* feat(store): DataRepresentation reflective typeLibravatar Kristóf Marussy2022-11-10
|
* refactor: DNF atomsLibravatar Kristóf Marussy2022-11-05
| | | | | | Restore count != capability. Still needs semantics and tests for count atoms over partial models.
* feat: data structure for default assertionsLibravatar Kristóf Marussy2022-10-03
|
* refactor: tuples in QueryableModelLibravatar Kristóf Marussy2022-10-03
|