#lang scheme/base (require "tools.ss") (require "coma/macro-eval.ss") (require/provide "purrr/forth-begin.ss" ;; parser driver in the form of 'begin' macros. "purrr/parsing-words.ss" ;; bindings for (non-concatenative) forth parser words "purrr/repl.ss" ;; string -> toplevel form expansion "coma.ss" ;; single stack pure macros "control.ss" ;; dual stack control macros "comp.ss" ;; compiler (macro instantiation + postprocess) "scat.ss" ;; intermediate language "asm.ss" ;; for convenience, export assembler interface "target.ss" "live.ss" ;; target interaction ) ;; Macros defined in .f files use a superset of the macro/2stack ;; language state to implement multiple entry and exit points for ;; instantiated code, and multiple exit for macros. All macro ;; evaluation that's not part of instantiation needs to use this ;; augmented state. (i.e. this is used in macro/constants.ss) (macro-eval-init-state state:compiler) (loading "purrr")