Attempt to recover from syntax errors with bison

Fixes #595
This commit is contained in:
Rangi
2021-01-21 09:36:10 -05:00
committed by Eldred Habert
parent a679e02246
commit e3d355d976
10 changed files with 72 additions and 4 deletions
+11
View File
@@ -0,0 +1,11 @@
println "begin"
println 42, 1 2 3 4
for n, 5
println "start {d:n}"
println syntax error
println "finish {d:n}"
endr
println "end {d:n}"
+5
View File
@@ -0,0 +1,5 @@
ERROR: error-recovery.asm(3):
syntax error, unexpected number
ERROR: error-recovery.asm(5) -> error-recovery.asm::REPT~1(7):
syntax error, unexpected identifier
error: Assembly aborted (2 errors)!
+4
View File
@@ -0,0 +1,4 @@
begin
$2Astart 0
finish 0
end 0
+5
View File
@@ -0,0 +1,5 @@
ERROR: error-recovery.asm(3):
syntax error
ERROR: error-recovery.asm(5) -> error-recovery.asm::REPT~1(7):
syntax error
error: Assembly aborted (2 errors)!
+16 -1
View File
@@ -1,4 +1,19 @@
ERROR: label-macro-arg.asm(38) -> label-macro-arg.asm::test_char(25):
syntax error, unexpected =
while expanding symbol "VAR_DEF"
error: Assembly aborted (1 errors)!
ERROR: label-macro-arg.asm(38) -> label-macro-arg.asm::test_char(29):
Interpolated symbol "sizeof_.something" does not exist
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25):
Label "sizeof_" created outside of a SECTION
while expanding symbol "VAR_DEF"
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25):
Macro "something" not defined
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(26):
'sizeof_' already defined at label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25)
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(26):
Macro "something" not defined
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(29):
Invalid format spec 'sizeof_'
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(29):
Interpolated symbol "something" does not exist
error: Assembly aborted (8 errors)!
+2
View File
@@ -5,3 +5,5 @@ $8
sizeof__something equals $1
sizeof_@something equals $1
sizeof_#something equals $1
sizeof_.something equals
sizeof_:something equals
+18 -1
View File
@@ -4,4 +4,21 @@ while expanding symbol "VAR_DEF"
ERROR: label-macro-arg.asm(38) -> label-macro-arg.asm::test_char(25):
syntax error
while expanding symbol "VAR_DEF"
error: Assembly aborted (2 errors)!
ERROR: label-macro-arg.asm(38) -> label-macro-arg.asm::test_char(26):
Local label 'sizeof_.something' in main scope
ERROR: label-macro-arg.asm(38) -> label-macro-arg.asm::test_char(29):
Interpolated symbol "sizeof_.something" does not exist
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25):
Label "sizeof_" created outside of a SECTION
while expanding symbol "VAR_DEF"
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25):
Macro "something" not defined
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(26):
'sizeof_' already defined at label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(25)
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(26):
Macro "something" not defined
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(29):
Invalid format spec 'sizeof_'
ERROR: label-macro-arg.asm(39) -> label-macro-arg.asm::test_char(29):
Interpolated symbol "something" does not exist
error: Assembly aborted (10 errors)!