From 3d603af465718f1e3544b8185ca30f7117dfca59 Mon Sep 17 00:00:00 2001 From: Robin Breitenbach Date: Wed, 14 Aug 2024 15:19:26 +0200 Subject: [PATCH] Update compiler plugin readme --- Modules/LoRe Compiler Plugin/README.md | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Modules/LoRe Compiler Plugin/README.md b/Modules/LoRe Compiler Plugin/README.md index 3194c2eb9..18dbdf825 100644 --- a/Modules/LoRe Compiler Plugin/README.md +++ b/Modules/LoRe Compiler Plugin/README.md @@ -16,23 +16,25 @@ For more information on the sbt-dotty plugin, see the - Arithmetic operators `+`, `-`, `/`, `*` and parentheses on integers - String literals without operations (e.g. "foo") - The unary operator `!` (negation) and the binary operators `&&`, `||` as well as `<`, `>`, `<=`, `>=`, `==` and `!=` +- Type instantiations e.g. List, Map (i.e. "Foo(bar)" where Foo is a type) + - The arrow syntax for Map tuples (i.e. foo -> bar) is not supported, but normal tuples (foo, bar) are +- Arrow (anonymous) functions +- Tuples - Definitions of Sources using all of the above as input values - -## (LoRe) Syntax not supported yet (non-exhaustive) - - Definitions of Derived instances - Definitions of Interaction instances - "requires", "modifies" and "executes" method calls - Function calls - Field calls (normal and curly braces) + +## (LoRe) Syntax not supported yet (non-exhaustive) + - Parentheses (?) - Sequences -- Arrow (anonymous) functions - Type Aliases - Asserts and Assumes (Viper) - Invariants - If-Clauses -- Tuples - Implication and Bi-Implication operators - In-Set operator - Quantification operators (Existential and Universal) @@ -40,3 +42,5 @@ For more information on the sbt-dotty plugin, see the ## Examples - The `sourceExamples` file contains around 50 example definitions using various syntax with Sources across integers, strings and booleans +- The `derivedExamples` file contains around 17 example definitions for function/method/property calls and Derived instantiations +- The `interactionExamples` file contains around 14 definitions for types (List, Map), arrow functions, and Interactions with various method calls on them