Skip to content

Commit

Permalink
test(parser): replace test outputs
Browse files Browse the repository at this point in the history
  • Loading branch information
chanbengz committed Dec 2, 2024
1 parent 6bcaf91 commit c29c86b
Show file tree
Hide file tree
Showing 17 changed files with 70 additions and 20 deletions.
3 changes: 2 additions & 1 deletion src/parser/src/lib.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
use lalrpop_util::lalrpop_mod;
use core::result::Result::Err;

lalrpop_mod!(pub grammar); // synthesized by LALRPOP
pub use grammar::CompExprParser;
Expand All @@ -19,7 +20,7 @@ pub fn parse(source: &str) -> Result<tree::Program, Err(String)> {
let result = ProgramParser::new().parse(&mut errors, lexer).unwrap();
if errors.len() > 0 {
display_error(&errors);
Err("Error in parsing")
Err("Error in parsing".to_string())
} else {
Ok(result)
}
Expand Down
5 changes: 3 additions & 2 deletions src/test/phase1/test_1_r03.out
Original file line number Diff line number Diff line change
@@ -1,2 +1,3 @@
Missing token ";"
Unknown token
Error type A at Line 4: unknown lexeme $
Error type B at Line 6: Missing semicolon ';'
Error type A at Line 8: unknown lexeme @
4 changes: 2 additions & 2 deletions src/test/phase1/test_1_r04.out
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
Missing token ")"
Missing token ")"
Error type B at Line 9: Missing closing parenthesis ')'
Error type B at Line 12: Missing closing parenthesis ')'
2 changes: 1 addition & 1 deletion src/test/phase1/test_1_r06.out
Original file line number Diff line number Diff line change
@@ -1 +1 @@
Missing token "identifier"
Error type A at Line 4: unknown lexeme 3_wrong_id
6 changes: 2 additions & 4 deletions src/test/phase1/test_1_r07.out
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
Missing token ";"
Missing token ";"
Missing token "("
Missing token "("
Error type A at Line 7: unknown lexeme |
Error type A at Line 8: unknown lexeme &
3 changes: 1 addition & 2 deletions src/test/phase1/test_1_r08.out
Original file line number Diff line number Diff line change
@@ -1,2 +1 @@
Missing token "["
Missing token "{"
Error type B at Line 3: Missing semicolon ';'
12 changes: 4 additions & 8 deletions src/test/phase1/test_1_r11.out
Original file line number Diff line number Diff line change
@@ -1,8 +1,4 @@
Missing token ","
Missing token ","
Missing token ","
Missing token "("
Missing token ","
Missing token "("
Missing token ","
Missing token "("
Error type A at Line 3: unknown lexeme 0x77G
Error type A at Line 4: unknown lexeme 0xCS
Error type A at Line 7: unknown lexeme '\x6u'
Error type A at Line 8: unknown lexeme '\x910'
4 changes: 4 additions & 0 deletions src/test/phase1/test_1_s01.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Error type A at Line 4: unknown lexeme 3b
Error type B at Line 4: Missing Exp after +
Error type B at Line 4: Missing Exp after *
Error type B at Line 4: Missing Exp after /
7 changes: 7 additions & 0 deletions src/test/phase1/test_1_s03.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
Error type A at Line 4: unknown lexeme '\xr0'
Error type A at Line 5: unknown lexeme 2_A
Error type A at Line 7: unknown lexeme 0x023456
Error type A at Line 9: unknown lexeme 0023
Error type A at Line 11: unknown lexeme 000.234
Error type B at Line 12: Missing closing parenthesis ')'
Error type B at Line 16: Missing closing parenthesis ')'
14 changes: 14 additions & 0 deletions src/test/phase1/test_1_s04.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
Error type B at Line 3: Missing specifier
Error type B at Line 5: Missing semicolon ';'
Error type B at Line 9: Missing semicolon ';'
Error type B at Line 12: Missing semicolon ';'
Error type B at Line 17: Missing closing parenthesis ')'
Error type B at Line 22: Missing closing parenthesis ')'
Error type B at Line 23: Missing semicolon ';'
Error type B at Line 31: Missing semicolon ';'
Error type B at Line 32: Missing semicolon ';'
Error type B at Line 42: Missing semicolon ';'
Error type B at Line 46: Missing specifier
Error type B at Line 53: Missing semicolon ';'
Error type B at Line 55: Missing semicolon ';'
Error type B at Line 60: Missing semicolon ';'
8 changes: 8 additions & 0 deletions src/test/phase1/test_1_s05.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
Error type B at Line 1: Missing specifier
Error type B at Line 2: Missing variable name
Error type B at Line 4: Missing specifier
Error type B at Line 10: Missing variable name
Error type B at Line 16: Missing variable
Error type A at Line 25: unknown lexeme 02
Error type B at Line 26: Missing arguments
Error type B at Line 27: Missing field name
4 changes: 4 additions & 0 deletions src/test/phase1/test_1_s07.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Error type B at Line 5: Missing closing bracket ']'
Error type B at Line 6: Missing right value
Error type B at Line 7: Missing closing bracket ']'
Error type B at Line 8: Unexpected statement
2 changes: 2 additions & 0 deletions src/test/phase1/test_1_s08.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Error type B at Line 11: no 'if' before 'else'
//Allow other statement
4 changes: 4 additions & 0 deletions src/test/phase1/test_1_s09.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
Error type B at Line 3: Missing opening parenthesis '('
Error type A at Line 4: Unknown characters '1_digit'
Error type B at Line 5: Missing opening parenthesis '('
Error type A at Line 9: Unknown characters '1_digit'
Binary file modified src/test/phase1/test_1_s10.out
Binary file not shown.
9 changes: 9 additions & 0 deletions src/test/phase1/test_1_s12.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
Error type B at Line 3 Missing semicolon ';'
Error type B at Line 5 Missing semicolon ';'
Error type B at Line 1 Missing semicolon ';'
Error type B at Line 8: Missing closing parenthesis ')'
Error type B at Line 10 Missing semicolon ';'
Error type B at Line 12: Missing closing parenthesis ')'
Error type B at Line 15: Missing closing parenthesis ')'
Error type B at Line 22: Missing semicolon ';'
Error type B at Line 28: Missing closing brace '}'
3 changes: 3 additions & 0 deletions src/test/phase1/test_1_s13.out
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
Error type B at Line 3: Missing closing braces ']'
Error type B at Line 5: Missing closing parenthesis ')'
Error type B at Line 1: Missing closing curly bracket '}'

0 comments on commit c29c86b

Please sign in to comment.