55 lines
1.2 KiB
Plaintext
55 lines
1.2 KiB
Plaintext
|
nyacc/README
|
||
|
|
||
|
Copyright (C) 2016 Matthew R. Wette
|
||
|
|
||
|
Copying and distribution of this file, with or without modification,
|
||
|
are permitted in any medium without royalty provided the copyright
|
||
|
notice and this notice are preserved. This file is offered as-is,
|
||
|
without any warranty.
|
||
|
|
||
|
|
||
|
strategy for generating parsers and other stuff
|
||
|
|
||
|
guile -s mach.scm -c '(@ (nyacc lang c99 mach) gen-mach-files)'
|
||
|
=> .scm/{actions.scm,tables.scm}
|
||
|
#guild compile
|
||
|
|
||
|
eval-when?
|
||
|
|
||
|
use-case: dist mach-files and parser
|
||
|
|
||
|
dist:
|
||
|
mach.scm
|
||
|
|
||
|
|
||
|
===============================================================================
|
||
|
|
||
|
dev-parser.scm: mach.scm pbody.scm mk-parser.scm
|
||
|
parser.scm: mach.scm pbody.scm mk-parser.scm
|
||
|
expr-parser.scm: mach.scm pbody.scm mk-parser.scm
|
||
|
|
||
|
$ guile -l cppmach.scm -c '(@ (nyacc lang c99 cppmach) gen-cpp-files)'
|
||
|
> cppact.scm cpptab.scm
|
||
|
|
||
|
$ guile -l mach.scm -c '(@ (nyacc lang c99 mach) gen-c99-files)'
|
||
|
> c99act.scm c99tab.scm
|
||
|
|
||
|
$ guile -l mach.scm -c '(@ (nyacc lang c99 mach) gen-c99x-files)'
|
||
|
> c99xact.scm c99xtab.scm
|
||
|
|
||
|
===============================================================================
|
||
|
|
||
|
install:
|
||
|
cpp.go
|
||
|
mach.go
|
||
|
parser.go
|
||
|
xparser.go
|
||
|
pprint.go
|
||
|
util1.go
|
||
|
util1.go
|
||
|
|
||
|
cpp.scm: cppmach.scm
|
||
|
|
||
|
#cppmach.scm (export-files
|
||
|
|