aboutsummaryrefslogtreecommitdiff
path: root/examples/issue-10.sil
diff options
context:
space:
mode:
authorCamil Staps2017-07-27 13:04:04 +0200
committerCamil Staps2017-07-27 13:04:04 +0200
commita9813c1fd501edb5a98acbee6e309e6ccdbac779 (patch)
tree7c7d34b2a155c80a32f96c5b4f74f82c7bf85c7e /examples/issue-10.sil
parentDon't continue when clm failed (diff)
Add test file for #10 (lazy logical operators)
Diffstat (limited to 'examples/issue-10.sil')
-rw-r--r--examples/issue-10.sil33
1 files changed, 33 insertions, 0 deletions
diff --git a/examples/issue-10.sil b/examples/issue-10.sil
new file mode 100644
index 0000000..dc95a58
--- /dev/null
+++ b/examples/issue-10.sil
@@ -0,0 +1,33 @@
+Void print(Int n) {
+ |~ create
+ |~ fillI_b 0 0
+ |~.d 1 0
+ |~ jsr _print_graph
+ |~.o 0 0
+}
+
+Void printB(Bool b) {
+ |~ create
+ |~ fillB_b 0 0
+ |~.d 1 0
+ |~ jsr _print_graph
+ |~.o 0 0
+}
+
+Bool false() {
+ print(0);
+ return False;
+}
+
+Bool true() {
+ print(1);
+ return True;
+}
+
+Bool main() {
+ printB(true() && false());
+ printB(false() && true());
+ printB(false() || false());
+ printB(true() || false());
+ return True;
+}