Commit History

Author SHA1 Message Date
  Joeri Exelmans 99f2a33513 Fix bug in zero-length blocks. 5 years ago
  Joeri Exelmans 2c4aba04c2 Enable history in action language interactive prompt. 5 years ago
  Joeri Exelmans f778b1bd61 Created an interactive prompt app for action language. 5 years ago
  Joeri Exelmans 14719055bb Action language components are now completely independent from anything statechart-related. 5 years ago
  Joeri Exelmans f796f29b60 Moved some more files. 5 years ago
  Joeri Exelmans 5c90ba0c93 Action language components almost completely independent of statechart components. Reorganize project directory structure. 5 years ago
  Joeri Exelmans ceb4a73f2b GC memory is read-only. Introduce Python class SCCDRuntimeException for all runtime exceptions. Clean up some things. 5 years ago
  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 years ago
  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 years ago
  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 years ago
  Joeri Exelmans cf2c4b4915 Add test indicating function closures are not supported. 5 years ago
  Joeri Exelmans ee9218c8d6 Fix race condition detection + fix some outdated test files. 5 years ago
  Joeri Exelmans 2f1c07eebf Add test for nested function declarations and recursion (although we probably don't want recursion in our statecharts) 5 years ago
  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 years ago
  Joeri Exelmans 99cf4d26bf Increment/decrement assignment operators are not special, they are just syntactic sugar. 5 years ago
  Joeri Exelmans f7eb3588c1 Proper static type inference for binary and unary expressions. 5 years ago
  Joeri Exelmans 09cc364711 Got Example 7 from Day & Atlee working! 5 years ago
  Joeri Exelmans ae7057602a Add some tests for return type static analysis. 5 years ago
  Joeri Exelmans 021c634211 Rename class 'ReturnType' to 'ReturnBehavior' + add check on fields. 5 years ago
  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 years ago
  Joeri Exelmans 4f95b97760 Fix bug in MemorySnapshot.shrink_stack. Example 7 from Day & Atlee almost executing correctly. 5 years ago
  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 years ago
  Joeri Exelmans fdc4868683 Action language: Implemented if-statements. Implemented raising events with parameter expressions. Rename some things. 5 years ago
  Joeri Exelmans a715cc2bed Add 'builtin' function for logging (debug) output from the model. 5 years ago
  Joeri Exelmans 10288e3385 Getting closer to XML parsing nirvana... 5 years ago
  Joeri Exelmans e9cd4faca9 The type system stores the real type of a Callable (user-defined or builtin function), including the hidden EvalContext parameter. 5 years ago
  Joeri Exelmans bc16f53e48 Add 'Syntactic' big step maximality tests 5 years ago
  Joeri Exelmans 308cd610ad Implemented 'Syntactic' big step maximality option (not yet fully tested) 5 years ago
  Joeri Exelmans 225a6d0c8d Implemented user-defined functions. Parameter types explicit, return types statically inferred. 5 years ago
  Joeri Exelmans 19ac39f437 Add EvalContext data class to group parameters passed to Expression.eval, Statement.exec, Variable.load and Variable.store. 5 years ago