Commit ca99b6ac authored by Sebastian Biewer's avatar Sebastian Biewer
Browse files

See Changelog

parent be166663
Pipeline #26160 failed with stages
in 1 minute and 26 seconds
# Change Log for PseuCo to CCS Compiler
##0.8.10 - 2020-06-09
## 0.8.11 - 2021-01-26
### Added
- Support for `assert` (beta).
## 0.8.10 - 2020-06-09
### Fixed
- Send expressions with unbuffered channels could not be used as RHS expression of assignments. The container holding the sent value was not protected during transition to the followup process.
##0.8.9 - 2019-05-31
## 0.8.9 - 2019-05-31
### Fixed
- Struct and Monitor constructors executed initialization operations concurrently to the agent constructing the object
##0.8.8 - 2019-05-16
## 0.8.8 - 2019-05-16
### Changed
- Reduced internal interleavings caused by sharing free "pointers" among array constructors of different capacities
- Reduced internal interleavings caused by sharing free "Pointers" among buffered channel constructors of different capacities
##0.8.7 - 2019-05-15
## 0.8.7 - 2019-05-15
### Added
......
......@@ -648,6 +648,17 @@ PC.PrimitiveStmt::compile = (compiler, loopEntry) ->
for v in vars
c = v.getContainer(compiler)
compiler.emitOutput("signal_all", c, null)
when PC.PrimitiveStmt.ASSERT
c = compiler.compile(@children[0], loopEntry)
control = compiler.emitChoice()
compiler.emitCondition(new PCCUnaryContainer("!", c))
compiler.emitOutput("exception", null, new PCCConstantContainer("Assertion failed in line #{@line}: `#{@children[0].toString()}`!")) #"Assertion failed in line #{@line}: #{@children[0].toString()}!"
compiler.emitStop()
control.setBranchFinished() # left is finished
compiler.emitCondition(c)
# continue in this branch
[]
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment