No matching definitions.

tur/compile

src/scscm/compile.tur
defn

lex-err?

(lex-err? [r :ptr<void>])
defn

lex-ok?

(lex-ok? [r :ptr<void>])
defn

lex-ok-val

(lex-ok-val [r :ptr<void>])
defn

lex-err

(lex-err [e :int])
defn

lex-ok

(lex-ok [x :int])
defn

tokenize

(tokenize [source :cstr])
defn

tokens-free

(tokens-free [tokens :int])
defn

parse

(parse [tokens :int])
defn

expand-all

(expand-all [asts :int])
defn

generate-all

(generate-all [nodes :int])
defn

ast-free-all

(ast-free-all [ast_list :int])
defn

scscm-cstr-as-int

(scscm-cstr-as-int [s :cstr])
defn

scscm-read-file

(scscm-read-file [path :cstr])
defn

scscm-int-as-cstr

(scscm-int-as-cstr [n :int])
defn

compile-text

(compile-text [source :cstr])

compile scscm source text to sclang text.

sourceNUL-terminated scscm source string

lex-ok(sclang-text :cstr) on success. lex-err(message-int :int) on lexer/parser error (cast :int to :cstr for message).

(let [r (compile-text "(+ 1 2)")]
    (if (lex-ok? r) (lex-ok-val r) "error"))

Since: SC4

defn

compile-file

(compile-file [path :cstr])

read a file and compile its scscm content to sclang.

pathNUL-terminated filesystem path to a .tur or .scscm file

lex-ok(sclang-text :cstr) on success. lex-err(message-int :int) on I/O or compile error.

(let [r (compile-file "my-synth.scscm")]
    (if (lex-ok? r) (lex-ok-val r) "error"))

Since: SC4