c65gm/main.go

31 lines
782 B
Go

package main
import (
"c65gm/internal/preproc"
"fmt"
)
// put the DefineList type in another file (same package) or import it;
// here I assume definelist.go is in its own package "definelist".
// If it's in the same package main, just call New() directly.
func main() {
defs := preproc.NewDefineList() // <-- important
defs.Add("ARRAY_MIN", "0")
defs.Add("ARRAY_MAX", "100")
defs.Add("ARRAY_MAX_PAX", "1000")
defs.Add("VERSION", "1.0")
defs.Add("π", "3.14159")
src := `for i := ARRAY_MIN to ARRAY_MAX_PAX do
writeln(VERSION);
writeln(ARRAY_MAX);
const PI = π;`
fmt.Println("Original:\n" + src)
fmt.Println("\nReplaced:\n" + defs.ReplaceDefines(src))
defs.Delete("ARRAY_MAX_PAX")
fmt.Println("\nReplaced (after .Delete):\n" + defs.ReplaceDefines(src))
}