Added file name + line number to symbols and use it for reasonable error handling now, added a version number to the compiled grammer

This commit is contained in:
Nathan Braswell
2016-04-05 03:14:56 -04:00
parent 0e9fff705b
commit 38ec4abc01
7 changed files with 111 additions and 54 deletions

13
tests/error_test.krak Normal file
View File

@@ -0,0 +1,13 @@
import mem:*
import vector:*
fun main():int {
var a = null<vector<bad>>()
/*doesnt_exist(2)*/
/*var b: doesnt_exist*/
return -1
}

View File

@@ -1,22 +1,22 @@
a+: aaaa true
test: test true
a+: aaaa true[:1]
test: test true[:1]
old contributed tests
b: b true
b: b true
$EOF$: $EOF$ false
b: b true[:1]
b: b true[:1]
$EOF$: $EOF$ false[:0]
a*: aaa true
b: b true
a*: aa true
b: b true
b: b true
$EOF$: $EOF$ false
a*: aaa true[:1]
b: b true[:1]
a*: aa true[:1]
b: b true[:1]
b: b true[:1]
$EOF$: $EOF$ false[:0]
a|b: b true
$INVALID$: $INVALID$ false
a|b: b true[:1]
$INVALID$: $INVALID$ false[:0]
xyzzy: xyzzy true
$EOF$: $EOF$ false
xyzzy: xyzzy true[:1]
$EOF$: $EOF$ false[:0]
(i|n|t|e)+: intent true
$EOF$: $EOF$ false
(i|n|t|e)+: intent true[:1]
$EOF$: $EOF$ false[:0]