Joeri Exelmans
|
2f1c07eebf
Add test for nested function declarations and recursion (although we probably don't want recursion in our statecharts)
|
5 yıl önce |
Joeri Exelmans
|
f93fc55dc3
Datamodel: Have a "setup" script declaring variables in the instance scope instead of silly XML tags <var> and <func> for variable and function declarations. Nicer syntax, more powerful and we reuse functionality (like parsing and interpreting a block of statements) instead of treating the datamodel as something special. Function declarations are just expressions assigned to variables or directly called. Nested function declarations should be fully supported (yet untested).
|
5 yıl önce |
Joeri Exelmans
|
99cf4d26bf
Increment/decrement assignment operators are not special, they are just syntactic sugar.
|
5 yıl önce |
Joeri Exelmans
|
f7eb3588c1
Proper static type inference for binary and unary expressions.
|
5 yıl önce |
Joeri Exelmans
|
09cc364711
Got Example 7 from Day & Atlee working!
|
5 yıl önce |
Joeri Exelmans
|
ae7057602a
Add some tests for return type static analysis.
|
5 yıl önce |
Joeri Exelmans
|
021c634211
Rename class 'ReturnType' to 'ReturnBehavior' + add check on fields.
|
5 yıl önce |
Joeri Exelmans
|
3c606e245b
Implemented 'else' branches for if-statements. Better static analysis of return types. Moved non-statechart XML parsing logic to separate file.
|
5 yıl önce |
Joeri Exelmans
|
4f95b97760
Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly.
|
5 yıl önce |
Joeri Exelmans
|
52823174d2
Proper block-of-statements static return type inference checking all branches and raising error if different branches have different return types.
|
5 yıl önce |
Joeri Exelmans
|
fdc4868683
Action language: Implemented if-statements. Implemented raising events with parameter expressions. Rename some things.
|
5 yıl önce |
Joeri Exelmans
|
a715cc2bed
Add 'builtin' function for logging (debug) output from the model.
|
5 yıl önce |
Joeri Exelmans
|
10288e3385
Getting closer to XML parsing nirvana...
|
5 yıl önce |
Joeri Exelmans
|
e9cd4faca9
The type system stores the real type of a Callable (user-defined or builtin function), including the hidden EvalContext parameter.
|
5 yıl önce |
Joeri Exelmans
|
bc16f53e48
Add 'Syntactic' big step maximality tests
|
5 yıl önce |
Joeri Exelmans
|
308cd610ad
Implemented 'Syntactic' big step maximality option (not yet fully tested)
|
5 yıl önce |
Joeri Exelmans
|
225a6d0c8d
Implemented user-defined functions. Parameter types explicit, return types statically inferred.
|
5 yıl önce |
Joeri Exelmans
|
19ac39f437
Add EvalContext data class to group parameters passed to Expression.eval, Statement.exec, Variable.load and Variable.store.
|
5 yıl önce |
Joeri Exelmans
|
33cf1867c5
Extend semantic option wildcard mechanism to comma-separated lists of options. Parse transition event attribute as comma-separated list of (possibly negated) events with parameters. Event parameters added to transition scope. Input port ignored when generating ID for input/internal event (need this for Day & Atlee's examples)
|
5 yıl önce |
Joeri Exelmans
|
73c7897945
Add statechart from Day & Atlee (doesn't work yet, need to implement: 1. event parameters, 2. user defined functions, 3. builtin functions 'log10' and 'int')
|
5 yıl önce |
Joeri Exelmans
|
84e26cc27f
Add example from Day & Atlee
|
5 yıl önce |
Joeri Exelmans
|
4fb521b6f8
Get rid of stack size optimization (made performance worse). Block-statement remembers its Scope.
|
5 yıl önce |
Joeri Exelmans
|
8ed7fc5ddb
Fix memory protocol semantics (always write to 'clean' memory, read from 'snapshot' memory)
|
5 yıl önce |
Joeri Exelmans
|
836c690e01
Prepare for multi-event triggers: Event trigger has bitmap with event_id's required to enable the transition.
|
5 yıl önce |
Joeri Exelmans
|
3e825ba583
Input port taken into account when assigning globally unique ID to input event.
|
5 yıl önce |
Joeri Exelmans
|
bb3cd2a13f
AfterTrigger is stateless again (as it should be)
|
5 yıl önce |
Joeri Exelmans
|
ea2e32768e
Added another example from Day & Atlee. Test nonterminating big step by setting limit on subrounds in superround.
|
5 yıl önce |
Joeri Exelmans
|
0e4e6fdd0d
Begin adding examples from Day & Atlee paper. Clearer error when <state> initial attribute is invalid. SVG renderer: workaround for order of orthogonal components.
|
5 yıl önce |
Joeri Exelmans
|
80d532b9a3
Simpler handling of tests expected to fail. Added race condition test.
|
5 yıl önce |
Joeri Exelmans
|
439bbee01d
Implemented Assignment Memory Protocol semantic options.
|
5 yıl önce |