Prechádzať zdrojové kódy

Update code generation info file

Joeri Exelmans 4 rokov pred
rodič
commit
722c98a364
1 zmenil súbory, kde vykonal 41 pridanie a 37 odobranie
  1. 41 37
      src/sccd/statechart/codegen/code_generation.txt

+ 41 - 37
src/sccd/statechart/codegen/code_generation.txt

@@ -3,9 +3,40 @@
 Code generation
 ===============
 
+Currently passing:
+
+    features/history/test_composite_shallow.xml
+    features/history/test_default.xml
+    features/history/test_shallow.xml
+    features/parallel/test_parallel.xml
+    day_atlee/test_03_trafficlight_many.xml
+    day_atlee/test_03_trafficlight_single.xml
+    semantics/priority/test_explicit_flat.xml
+    semantics/priority/test_explicit_ortho.xml
+    semantics/priority/test_source_child.xml
+    semantics/priority/test_source_parent.xml
+    semantics/big_step_maximality/test_flat_takemany.xml
+    semantics/big_step_maximality/test_flat_takeone.xml
+    semantics/big_step_maximality/test_ortho_takemany.xml
+    semantics/big_step_maximality/test_ortho_takeone.xml
+    xml_syntax/stateref/test_flat_absolute.xml
+    xml_syntax/stateref/test_flat_relative.xml
+    xml_syntax/stateref/test_nested_absolute.xml
+    xml_syntax/stateref/test_nested_relative.xml
+
+Currently unimplemented:
+
+    - action language (guards, actions)
+      - event parameters
+      - memory protocol semantics
+    - multi-event triggers
+      - internal events (raising and 'sensing')
+        - IEL semantics
+    - 'syntactic' maximality
+
 
 Roadmap
-=======
+-------
 
   (DONE) Milestone 1: Initial compilation to Rust
   
@@ -43,46 +74,19 @@ Roadmap
         semantics/big_step_maximality/test_ortho_takemany.xml
 
 
-  Milestone 3: Support history
+  (DONE) Milestone 3: Support history
+
+  Milestone 4: Timers (should be easy)
+
+  Milestone 5: Internal Events
+
+  Milestone 6: Action language
+
 
 Insights
-========
+--------
 
 - Rust compiler warnings are actually useful for the modeler:
   - e.g. An unexecutable transition is detected as an unreachable statement
   - e.g. An unused event is detected as an unused variable or never-constructed enum variant.
 
-Implementation
-==============
-
-Data types
-----------
-
-- state machine's state
-  - [M1] current state(s)
-      nested structure of
-        - tagged unions (OR-states)
-        - structs (AND-states)
-  - history values
-  - timer IDs
-
-Operations
-----------
-
-  - hierarchical operations
-    - [M1] entering a state's default state
-    - entering a state's (deep/shallow) history
-    
-  - "flat" operations
-    - [M1] firing a transition
-      - [M1] exit states
-          + save history values
-          + canceling timers
-          + exit actions
-      - transition's actions
-      - [M1] enter states
-          + enter actions
-          + reading history values
-          + starting timers
-
-  - [M1] select and execute transition given an event