Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package cg3_test
- import "core:c"
- import "core:c/libc"
- import "core:fmt"
- import "core:strings"
- foreign import cg3 "system:libcg3.so"
- @(default_calling_convention="c")
- foreign cg3 {
- cg3_init :: proc(stdin: ^c.FILE, stdout: ^c.FILE, stderr: ^c.FILE) -> c.int ---
- cg3_cleanup :: proc() -> c.int ---
- cg3_grammar_load_buffer :: proc(buffer: ^c.char, length: c.size_t) -> rawptr ---
- cg3_grammar_free :: proc(grammar: rawptr) ---
- cg3_applicator_create :: proc(grammmar: rawptr) -> rawptr ---
- cg3_applicator_free :: proc(applicator: rawptr) ---
- cg3_run_grammar_on_text_fns :: proc(applicator: rawptr, input: ^c.char, output: ^c.char) ---
- }
- main :: proc() {
- fmt.println("hi")
- if cg3_init(libc.stdin, libc.stdout, libc.stderr) == 0 {
- panic("init failed")
- }
- defer cg3_cleanup()
- grammar_str := "DELIMITERS = \"<$$$>\" ;\nCMDARGS += --dep-delimit ;\nREMCOHORT (PUNCT) ;\n"
- grammar := cg3_grammar_load_buffer(raw_data(grammar_str), len(grammar_str))
- defer cg3_grammar_free(grammar)
- applicator := cg3_applicator_create(grammar)
- defer cg3_applicator_free(applicator)
- cg3_run_grammar_on_text_fns(applicator, transmute(^u8)strings.clone_to_cstring("test.in.txt"), transmute(^u8)strings.clone_to_cstring("test.out.txt"))
- }
Advertisement
Add Comment
Please, Sign In to add comment