Joeri Exelmans
|
99f2a33513
Fix bug in zero-length blocks.
|
5 年 前 |
Joeri Exelmans
|
2c4aba04c2
Enable history in action language interactive prompt.
|
5 年 前 |
Joeri Exelmans
|
f778b1bd61
Created an interactive prompt app for action language.
|
5 年 前 |
Joeri Exelmans
|
14719055bb
Action language components are now completely independent from anything statechart-related.
|
5 年 前 |
Joeri Exelmans
|
f796f29b60
Moved some more files.
|
5 年 前 |
Joeri Exelmans
|
5c90ba0c93
Action language components almost completely independent of statechart components. Reorganize project directory structure.
|
5 年 前 |
Joeri Exelmans
|
ceb4a73f2b
GC memory is read-only. Introduce Python class SCCDRuntimeException for all runtime exceptions. Clean up some things.
|
5 年 前 |
Joeri Exelmans
|
012898370d
Abandon silly 'state scope' idea (too complex and difficult to combine with memory protocol semantics). Major revision of memory protocol implementation. Added support for function closures.
|
5 年 前 |
Joeri Exelmans
|
819812bf79
Variables declared during enter actions are added to new 'state scope', so they can be read in transitions' guards and actions.
|
5 年 前 |
Joeri Exelmans
|
9ed4bbd9c6
Got rid of dependency 'typing_inspect' giving problems with Python 3.6 by declaring our 'SCCD' types (for int, float, function, array, ...) instead of using Python's built-in types.
|
5 年 前 |
Joeri Exelmans
|
cf2c4b4915
Add test indicating function closures are not supported.
|
5 年 前 |
Joeri Exelmans
|
ee9218c8d6
Fix race condition detection + fix some outdated test files.
|
5 年 前 |
Joeri Exelmans
|
2f1c07eebf
Add test for nested function declarations and recursion (although we probably don't want recursion in our statecharts)
|
5 年 前 |
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 年 前 |
Joeri Exelmans
|
99cf4d26bf
Increment/decrement assignment operators are not special, they are just syntactic sugar.
|
5 年 前 |
Joeri Exelmans
|
f7eb3588c1
Proper static type inference for binary and unary expressions.
|
5 年 前 |
Joeri Exelmans
|
09cc364711
Got Example 7 from Day & Atlee working!
|
5 年 前 |
Joeri Exelmans
|
ae7057602a
Add some tests for return type static analysis.
|
5 年 前 |
Joeri Exelmans
|
021c634211
Rename class 'ReturnType' to 'ReturnBehavior' + add check on fields.
|
5 年 前 |
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 年 前 |
Joeri Exelmans
|
4f95b97760
Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly.
|
5 年 前 |
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 年 前 |
Joeri Exelmans
|
fdc4868683
Action language: Implemented if-statements. Implemented raising events with parameter expressions. Rename some things.
|
5 年 前 |
Joeri Exelmans
|
a715cc2bed
Add 'builtin' function for logging (debug) output from the model.
|
5 年 前 |
Joeri Exelmans
|
10288e3385
Getting closer to XML parsing nirvana...
|
5 年 前 |
Joeri Exelmans
|
e9cd4faca9
The type system stores the real type of a Callable (user-defined or builtin function), including the hidden EvalContext parameter.
|
5 年 前 |
Joeri Exelmans
|
bc16f53e48
Add 'Syntactic' big step maximality tests
|
5 年 前 |
Joeri Exelmans
|
308cd610ad
Implemented 'Syntactic' big step maximality option (not yet fully tested)
|
5 年 前 |
Joeri Exelmans
|
225a6d0c8d
Implemented user-defined functions. Parameter types explicit, return types statically inferred.
|
5 年 前 |
Joeri Exelmans
|
19ac39f437
Add EvalContext data class to group parameters passed to Expression.eval, Statement.exec, Variable.load and Variable.store.
|
5 年 前 |