diff --git a/stdlib/grammer.krak b/stdlib/grammer.krak index 8e54775..8e2c96a 100644 --- a/stdlib/grammer.krak +++ b/stdlib/grammer.krak @@ -598,7 +598,9 @@ obj table (Object, Serializable) { } fun get(state: int, on_symbol: symbol::symbol): vector::vector { var cleaned_symbol = clean_symbol(on_symbol) - return items[state][cleaned_symbol] + if (items[state].contains_key(cleaned_symbol)) + return items[state][cleaned_symbol] + return vector::vector() } fun get_shift(state: int, on_symbol: symbol::symbol): action { var actions = get(state, on_symbol) diff --git a/stdlib/map.krak b/stdlib/map.krak index 491b591..621c4c7 100644 --- a/stdlib/map.krak +++ b/stdlib/map.krak @@ -65,7 +65,7 @@ obj map (Object, Serializable) { var key_loc = keys.find(key) if (key_loc == -1) { io::println("trying to access nonexistant key-value!") - /*while (true) {}*/ + while (true) {} } return values.get(key_loc) } diff --git a/tests/test_grammer.krak b/tests/test_grammer.krak index bbbf8c7..33f8817 100644 --- a/tests/test_grammer.krak +++ b/tests/test_grammer.krak @@ -9,11 +9,11 @@ import tree:* import serialize:* fun main():int { - + var a.construct(): grammer - /*var file_name = string("../krakenGrammer.kgm")*/ - var file_name = string("../simplifiedKrakenGrammer.kgm") + var file_name = string("../krakenGrammer.kgm") + /*var file_name = string("../simplifiedKrakenGrammer.kgm")*/ /*var file_name = string("grammer.kgm")*/ var compiled_name = file_name + string(".comp_new") diff --git a/tests/to_import.krak b/tests/to_import.krak new file mode 100644 index 0000000..e482d61 --- /dev/null +++ b/tests/to_import.krak @@ -0,0 +1,5 @@ + +var a = 1 + + + diff --git a/tests/to_parse.krak b/tests/to_parse.krak index 68605fd..91ddd49 100644 --- a/tests/to_parse.krak +++ b/tests/to_parse.krak @@ -1 +1,6 @@ -why {} +import to_import + +fun main(): int { + return 0 +} +