diff --git a/tests/output/arr.tok b/tests/output/arr.tok new file mode 100644 index 0000000..4807320 --- /dev/null +++ b/tests/output/arr.tok @@ -0,0 +1,171 @@ +keyword int 1 +identifier CITY 1 +operator = 1 +integer literal 2 1 +delimiter ; 1 +keyword int 2 +identifier WEEK 2 +operator = 2 +integer literal 7 2 +delimiter ; 2 +keyword int 3 +identifier main 3 +delimiter ( 3 +delimiter ) 3 +delimiter { 4 +keyword boolean 5 +identifier hot 5 +operator = 5 +keyword false 5 +delimiter ; 5 +keyword int 6 +identifier temperature 6 +delimiter [ 6 +identifier CITY 6 +delimiter ] 6 +delimiter [ 6 +identifier WEEK 6 +delimiter ] 6 +delimiter ; 6 +identifier for 9 +delimiter ( 9 +keyword int 9 +identifier i 9 +operator = 9 +integer literal 0 9 +delimiter ; 9 +identifier i 9 +operator < 9 +identifier CITY 9 +delimiter ; 9 +identifier i 9 +operator = 9 +identifier i 9 +operator + 9 +integer literal 1 9 +delimiter ) 9 +delimiter { 10 +identifier for 11 +delimiter ( 11 +keyword int 11 +identifier j 11 +operator = 11 +integer literal 0 11 +delimiter ; 11 +identifier j 11 +operator < 11 +identifier WEEK 11 +delimiter ; 11 +identifier j 11 +operator + 11 +operator = 11 +integer literal 1 11 +delimiter ) 11 +delimiter { 12 +identifier printf 13 +delimiter ( 13 +string literal "City %d, Day %d: " 13 +delimiter , 13 +identifier i 13 +operator + 13 +integer literal 1 13 +delimiter , 13 +identifier j 13 +operator + 13 +integer literal 1 13 +delimiter ) 13 +delimiter ; 13 +identifier temperature 14 +delimiter [ 14 +identifier i 14 +delimiter ] 14 +delimiter [ 14 +identifier j 14 +delimiter ] 14 +operator = 14 +floating point literal 30.32 14 +delimiter ; 14 +keyword if 15 +delimiter ( 15 +identifier temperature 15 +delimiter [ 15 +identifier i 15 +delimiter ] 15 +delimiter [ 15 +identifier j 15 +delimiter ] 15 +operator > 15 +floating point literal 35.00 15 +delimiter ) 15 +delimiter { 15 +identifier hot 16 +operator = 16 +keyword true 16 +delimiter ; 16 +delimiter } 17 +delimiter } 18 +delimiter } 19 +identifier printf 20 +delimiter ( 20 +string literal "\nDisplaying values: \n\n" 20 +delimiter ) 20 +delimiter ; 20 +identifier for 23 +delimiter ( 23 +keyword int 23 +identifier i 23 +operator = 23 +integer literal 0 23 +delimiter ; 23 +identifier i 23 +operator < 23 +identifier CITY 23 +delimiter ; 23 +identifier i 23 +operator + 23 +operator = 23 +integer literal 1 23 +delimiter ) 23 +delimiter { 24 +identifier for 25 +delimiter ( 25 +keyword int 25 +identifier j 25 +operator = 25 +integer literal 0 25 +delimiter ; 25 +identifier j 25 +operator < 25 +identifier WEEK 25 +delimiter ; 25 +identifier j 25 +operator + 25 +operator = 25 +integer literal 1 25 +delimiter ) 25 +delimiter { 26 +identifier printf 27 +delimiter ( 27 +string literal "City %d, Day %d = %d\n" 27 +delimiter , 27 +identifier i 27 +operator + 27 +integer literal 1 27 +delimiter , 27 +identifier j 27 +operator + 27 +integer literal 1 27 +delimiter , 27 +identifier temperature 27 +delimiter [ 27 +identifier i 27 +delimiter ] 27 +delimiter [ 27 +identifier j 27 +delimiter ] 27 +delimiter ) 27 +delimiter ; 27 +delimiter } 28 +delimiter } 29 +delimiter } 30 +EOF $ 31 diff --git a/tests/output/compare.tok b/tests/output/compare.tok new file mode 100644 index 0000000..ab2161a --- /dev/null +++ b/tests/output/compare.tok @@ -0,0 +1,67 @@ +keyword int 1 +identifier main 1 +delimiter ( 1 +delimiter ) 1 +delimiter { 1 +keyword int 2 +identifier n1 2 +delimiter , 2 +identifier n2 2 +delimiter , 2 +identifier n3 2 +delimiter ; 2 +identifier n1 3 +operator = 3 +integer literal 23 3 +delimiter ; 3 +identifier n2 4 +operator = 4 +integer literal 32 4 +delimiter ; 4 +identifier nx 5 +operator = 5 +integer literal 40 5 +delimiter ; 5 +identifier n3 6 +operator = 6 +identifier nx 6 +operator / 6 +identifier n2 6 +operator * 6 +identifier n1 6 +delimiter ; 6 +keyword if 9 +delimiter ( 9 +identifier n1 9 +operator >= 9 +identifier n2 9 +delimiter && 9 +identifier n1 9 +operator >= 9 +operator = 9 +identifier n3 9 +delimiter ) 9 +identifier printf 10 +delimiter ( 10 +string literal "%.2f is the largest number." 10 +Invalid Token found "`" + In Line number: 10 +identifier n1 10 +delimiter ) 10 +delimiter ; 10 +keyword if 13 +delimiter ( 13 +identifier n2 13 +operator >= 13 +identifier n1 13 +delimiter && 13 +identifier n2 13 +operator >= 13 +identifier n3 13 +delimiter ) 13 +identifier printf 14 +delimiter ( 14 +Bad terminator encountered: newline (\n) + In Line number: 14 +Unterminated comment block found on line 22 +EOF $ 23 diff --git a/tests/output/division.tok b/tests/output/division.tok new file mode 100644 index 0000000..0d65c97 --- /dev/null +++ b/tests/output/division.tok @@ -0,0 +1,48 @@ +keyword int 1 +identifier main 1 +delimiter ( 1 +delimiter ) 1 +delimiter { 1 +keyword int 2 +identifier dividend 2 +delimiter , 2 +identifier divisor 2 +delimiter , 2 +identifier quotient 2 +delimiter , 2 +identifier remainder 2 +delimiter ; 2 +identifier dividend 3 +operator = 3 +integer literal 213 3 +identifier divisor 4 +operator = 4 +integer literal 3 4 +identifier quotient 7 +operator = 7 +identifier dividend 7 +operator / 7 +identifier divisor 7 +delimiter ; 7 +identifier remainder 10 +operator = 10 +identifier dividend 10 +operator % 10 +identifier divisor 10 +delimiter ; 10 +identifier printf 12 +delimiter ( 12 +string literal "Quotient = %d\n" 12 +delimiter , 12 +identifier quotient 12 +delimiter ) 12 +delimiter ; 12 +identifier printf 13 +delimiter ( 13 +string literal "Remainder = %d" 13 +delimiter , 13 +identifier remainder 13 +delimiter ) 13 +delimiter ; 13 +delimiter } 14 +EOF $ 15 diff --git a/tests/output/prime.tok b/tests/output/prime.tok new file mode 100644 index 0000000..1c850cb --- /dev/null +++ b/tests/output/prime.tok @@ -0,0 +1,136 @@ +keyword int 1 +identifier checkPrimeNumber 1 +delimiter ( 1 +keyword int 1 +identifier n 1 +delimiter ) 1 +delimiter ; 1 +keyword int 2 +identifier main 2 +delimiter ( 2 +delimiter ) 2 +delimiter { 2 +keyword int 3 +identifier n1 3 +delimiter , 3 +identifier n2 3 +delimiter , 3 +identifier i 3 +delimiter , 3 +identifier flag 3 +delimiter ; 3 +identifier n1 5 +operator = 5 +integer literal 2 5 +Invalid Token found "." + In Line number: 5 +identifier n2 6 +operator = 6 +integer literal 5 6 +delimiter ; 6 +identifier printf 7 +delimiter ( 7 +string literal "Prime numbers between %d and %d are: " 7 +delimiter , 7 +identifier n1 7 +delimiter , 7 +identifier n2 7 +delimiter ) 7 +delimiter ; 7 +identifier i 8 +operator = 8 +identifier n1 8 +operator + 8 +integer literal 1 8 +delimiter ; 8 +keyword while 9 +delimiter ( 9 +identifier i 9 +operator < 9 +identifier n2 9 +delimiter ) 9 +delimiter { 9 +identifier flag 12 +operator = 12 +identifier checkPrimeNumber 12 +delimiter ( 12 +identifier i 12 +delimiter ) 12 +delimiter ; 12 +keyword if 14 +delimiter ( 14 +identifier flag 14 +operator == 14 +integer literal 1 14 +delimiter ) 14 +identifier printf 15 +delimiter ( 15 +string literal "%d " 15 +delimiter , 15 +identifier i 15 +delimiter ) 15 +delimiter ; 15 +identifier i 16 +operator = 16 +identifier i 16 +operator + 16 +integer literal 1 16 +delimiter ; 16 +delimiter } 17 +delimiter } 18 +keyword int 21 +identifier checkPrimeNumber 21 +delimiter ( 21 +keyword int 21 +identifier n 21 +delimiter ) 21 +delimiter { 21 +keyword int 22 +identifier j 22 +delimiter , 22 +identifier flag 22 +operator = 22 +integer literal 1 22 +delimiter ; 22 +identifier for 23 +delimiter ( 23 +identifier j 23 +operator = 23 +integer literal 2 23 +delimiter ; 23 +identifier j 23 +operator <= 23 +identifier n 23 +operator / 23 +integer literal 2 23 +delimiter ; 23 +identifier j 23 +operator = 23 +identifier j 23 +operator + 23 +integer literal 1 23 +delimiter ) 23 +delimiter { 23 +keyword if 24 +delimiter ( 24 +identifier n 24 +operator % 24 +identifier j 24 +operator == 24 +integer literal 0 24 +delimiter ) 24 +delimiter { 24 +identifier flag 25 +operator = 25 +integer literal 0 25 +delimiter ; 25 +identifier break 26 +delimiter ; 26 +delimiter } 27 +delimiter } 28 +identifier printf 30 +delimiter ( 30 +Bad terminator encountered: newline (\n) + In Line number: 30 +delimiter } 31 +EOF $ 32 diff --git a/tests/output/stringtest.tok b/tests/output/stringtest.tok new file mode 100644 index 0000000..f347e0e --- /dev/null +++ b/tests/output/stringtest.tok @@ -0,0 +1,17 @@ +identifier x 2 +operator = 2 +integer literal 2 2 +delimiter ; 2 +string literal "dgkgf\rfddf\nfdg\t gdf \"fg \\" 3 +Bad terminator encountered: newline (\n) + In Line number: 4 +Bad escape sequence "\ +" + In Line number: 5 +Bad terminator encountered: newline (\n) + In Line number: 5 +identifier x 6 +operator = 6 +integer literal 1 6 +delimiter ; 6 +EOF $ 6 diff --git a/tests/output/zero.tok b/tests/output/zero.tok new file mode 100644 index 0000000..3f11f33 --- /dev/null +++ b/tests/output/zero.tok @@ -0,0 +1,87 @@ +keyword int 1 +identifier main 1 +delimiter ( 1 +delimiter ) 1 +delimiter { 1 +keyword float 2 +identifier num 2 +delimiter ; 2 +keyword string 3 +identifier s1 3 +operator = 3 +string literal "zero" 3 +delimiter ; 3 +keyword string 4 +identifier s2 4 +operator = 4 +string literal "Negative" 4 +delimiter ; 4 +keyword string 5 +identifier s2 5 +operator = 5 +string literal "Positive" 5 +delimiter ; 5 +identifier num 7 +operator = 7 +floating point literal 100.63 7 +identifier x 8 +operator = 8 +integer literal 90 8 +delimiter ; 8 +identifier num 9 +operator = 9 +identifier num 9 +operator - 9 +identifier x 9 +delimiter ; 9 +keyword if 10 +delimiter ( 10 +identifier num 10 +operator <= 10 +floating point literal 0.0 10 +delimiter ) 10 +delimiter { 10 +keyword if 11 +delimiter ( 11 +identifier num 11 +operator == 11 +floating point literal 0.0 11 +delimiter ) 11 +identifier num 12 +operator = 12 +operator ! 12 +identifier num 12 +delimiter ; 12 +identifier printf 13 +delimiter ( 13 +identifier s1 13 +delimiter ) 13 +delimiter ; 13 +keyword else 14 +identifier printf 15 +delimiter ( 15 +identifier s2 15 +delimiter ) 15 +delimiter ; 15 +delimiter } 16 +keyword if 17 +delimiter ( 17 +identifier num 17 +operator > 17 +floating point literal 0.0 17 +delimiter && 17 +identifier num 17 +operator >= 17 +floating point literal 0.0 17 +delimiter && 17 +identifier num 17 +operator != 17 +integer literal 0 17 +delimiter ) 17 +identifier printf 18 +delimiter ( 18 +identifier s3 18 +delimiter ) 18 +delimiter ; 18 +delimiter } 19 +EOF $ 20