Documentation
¶
Overview ¶
凹语言™ 功能 API 包。
Index ¶
- Variables
- func BuildFile(cfg *config.Config, filename string, src interface{}) (wat []byte, err error)
- func BuildVFS(cfg *config.Config, vfs *config.PkgVFS, appPkg string) (wat []byte, err error)
- func FormatCode(filename, code string) (string, error)
- func RunCode(cfg *config.Config, filename, code string) (stdoutStderr []byte, err error)
- type Config
- type Manifest
- type Manifest_package
- type PkgVFS
- type Program
- type StdSize
Examples ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( FlagDebugMode = &config.DebugMode FlagEnableTrace_api = &config.EnableTrace_api FlagEnableTrace_app = &config.EnableTrace_app FlagEnableTrace_compiler = &config.EnableTrace_compiler FlagEnableTrace_loader = &config.EnableTrace_loader )
调试参数
Functions ¶
func FormatCode ¶
格式化代码
Example ¶
package main import ( "fmt" "wa-lang.org/wa/api" ) func main() { s, err := api.FormatCode("hello.wa", "fn add(a:i32, b:i32)=>i32 {return a+b}") if err != nil { panic(err) } fmt.Println(s) }
Output: fn add(a: i32, b: i32) => i32 { return a + b }
func RunCode ¶
执行凹代码
Example ¶
package main import ( "fmt" "log" "wa-lang.org/wa/api" ) func main() { const code = ` var gBase: i32 = 1000 fn main() { println(add(40, 2) + gBase) } fn add(a: i32, b: i32) => i32 { return a+b } ` output, err := api.RunCode(api.DefaultConfig(), "hello.wa", code) if err != nil { log.Fatal(err) } fmt.Print(string(output)) }
Output: 1042
Types ¶
type Program ¶
程序对象, 包含全量的 AST 和 SSA 信息, 经过语义检查
func LoadProgram ¶
加载程序 入口 appPath 是包对应目录的路径
func LoadProgramFile ¶
加载单文件程序 入口 appPath 是包对应目录的路径
Click to show internal directories.
Click to hide internal directories.