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 年之前 |