31 lines
782 B
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))
|
|
|
|
}
|