(name string, start StartToken)
| 74 | } |
| 75 | |
| 76 | func CompileFile(name string, start StartToken) (*Code, error) { |
| 77 | fn := C.CString(name) |
| 78 | defer C.free(unsafe.Pointer(fn)) |
| 79 | |
| 80 | file, err := C.openFile(fn) |
| 81 | if file == nil { |
| 82 | return nil, err |
| 83 | } |
| 84 | defer C.fclose(file) |
| 85 | |
| 86 | ret := C.compileFile(file, fn, C.int(start)) |
| 87 | if ret == nil { |
| 88 | return nil, exception() |
| 89 | } |
| 90 | return newCode(ret), nil |
| 91 | } |
| 92 | |
| 93 | // Return value: New reference. |
| 94 | func (code *Code) Eval(globals, locals *Base) (*Base, error) { |