moving computers

This commit is contained in:
Nathan Braswell
2015-08-03 14:38:17 -04:00
parent f431b0305a
commit 517f9b79fb
2 changed files with 26 additions and 4 deletions

View File

@@ -247,3 +247,25 @@ obj rule (Object) {
}
}
obj state (Object) {
var kernel: vector::vector<rule>
var rest: vector::vector<rule>
fun construct(): *state {
kernel.construct()
rest.construct()
}
fun copy_construct(other: *state) {
kernel.copy_construct(&other->kernel)
rest.copy_construct(&other->rest)
}
fun operator=(other: state) {
destruct()
copy_construct(&other)
}
fun destruct() {
kernel.destruct()
rest.destruct()
}
}

View File

@@ -7,9 +7,9 @@ import symbol:*
fun main():int {
var a = load_grammer(read_file(string("../krakenGrammer.kgm")))
/*var a = load_grammer(read_file(string("../krakenGrammer.kgm")))*/
/*var a = load_grammer(read_file(string("grammer.kgm")))*/
/*var a = load_grammer(read_file(string("grammer2.kgm")))*/
var a = load_grammer(read_file(string("grammer2.kgm")))
println(a.to_string())
var doFirstSet = fun() {
a.calculate_first_set()
@@ -39,10 +39,10 @@ fun main():int {
var lex = lexer(a.terminals)
lex.set_input(read_file(string("test_grammer.krak")))
/*lex.set_input(read_file(string("test_grammer.krak")))*/
/*lex.set_input(string("ccdahas spacedhas*/
/*returndaaaaaaaaaaaaaa"))*/
/*lex.set_input(string("hibyed"))*/
lex.set_input(string("hibyed"))
println("woo lexing:")
range(8).for_each(fun(i: int) { println(lex.next().to_string()); } )
/*range(80).for_each(fun(i: int) { println(lex.next().to_string()); } )*/