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 години |