Changes between Version 17 and Version 18 of Language
- Timestamp:
- 05/18/23 22:11:14 (3 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
Language
v17 v18 497 497 === `$elaborate_domain` 498 498 499 Forces explicit enumeration of the elements of a finite domain. Signature 500 {{{ 501 $system void $elaborate_domain($domain d); 502 }}} 503 In the concrete semantics, this is a no-op. 504 499 505 === `$exit` 500 506 501 === `$free` 507 Terminates the calling process. Signature: 508 {{{ 509 $system void $exit(void); 510 }}} 502 511 503 512 === `$havoc` … … 515 524 === `$local_start` 516 525 517 === `$malloc` 526 === Heap memory allocation: `$malloc` and `$free` 527 528 Allocate and deallocate heap memory. Signatures: 529 {{{ 530 $system void* $malloc($scope s, int size); 531 $system void $free(void *p); 532 }}} 533 Each dynamic scope has a heap. 534 Function `$malloc` allocates `size` bytes in the heap of scope `s`. 535 Unlike C's `malloc`, `$malloc` cannot fail. 536 Note that `malloc` is implemented as `$malloc($root, size)`. 537 538 Function `$free` deallocates the object pointed to by `p`, which should be a pointer that was returned 539 by an earlier call to `$malloc`. 540 An error is generated if the pointer is not one that was returned by $malloc, or if it was already freed. 518 541 519 542 === `$pathCondition` 520 543 521 === `$pow` 522 523 `$pow(double, double)` 544 Prints the current effective path condition. 545 {{{ 546 $system void $pathCondition(void); 547 }}} 548 549 === Power function: `$pow` 550 551 Computes ''x^y^``. 552 {{{ 553 $system double $pow(double base, double exp); 554 }}} 524 555 525 556 === `$reveal`
