Skip to content

Commit 2589fce

Browse files
JohnnyPolkostis
andauthored
[Dana] Add some valid and invalid programs (#87)
* Add some invalid programs (directory structure needs to become flat) * Add some correct programs together with inputs and results --------- Co-authored-by: Kostis Sagonas <kostis@cs.ntua.gr>
1 parent 0d4107b commit 2589fce

28 files changed

+769
-0
lines changed
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
def main
2+
x = 1
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Error: 'elif' used without a preceding 'if'
2+
3+
def main
4+
begin
5+
elif condition
6+
writeString: "This should never be reached"
7+
end
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
def hello (writeInteger)
2+
writeString: "Hello world!\n"
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Error: missing ':' in function call syntax
2+
3+
def main
4+
writeString "Hello without a colon"
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Error: 'begin' block is never closed with 'end'
2+
3+
def main
4+
begin
5+
writeString: "Hello from an unclosed block"
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Error: call to undefined function 'printInt'
2+
3+
def main
4+
begin
5+
printInt: 42
6+
end
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
def main
2+
break # Error: break outside loop
3+
return: 42
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
def main
2+
continue # Error: continue outside loop
3+
return: 42
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Error: 'if' condition is not boolean (string used as condition)
2+
3+
def main
4+
if "not a boolean":
5+
writeString: "erroneous"
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Error: use of variable 'x' outside its scope (declared inside nested def 'inner')
2+
3+
def main
4+
var y is int
5+
6+
def inner
7+
var x is int
8+
x := 42
9+
y := x

0 commit comments

Comments
 (0)