mes/module/nyacc
Jan Nieuwenhuizen 7ec42c3cc7 mescc: Use Nyacc frontend.
* module/language/c99/compiler.mes: New file.
* module/language/c99/compiler.scm: Include it.
* module/mes/elf.mes: Move (mes-use-module) into cond-expand.
* module/mes/elf.scm: New file.
* module/mes/libc-i386.scm: New file.
* module/nyacc/lang/c99/parser.mes: Add missing module includes.
* module/nyacc/lang/util.mes: Add missing module include.
* scripts/mescc.mes: Use Nyacc.
* guile/mescc.scm: New file.
* GNUmakefile (guile-mescc): Run it.
2016-12-31 09:03:07 +01:00
..
lang mescc: Use Nyacc frontend. 2016-12-31 09:03:07 +01:00
bison.scm Import Nyacc 0.72.0. 2016-12-17 22:34:43 +01:00
BUGS Import Nyacc 0.72.0. 2016-12-17 22:34:43 +01:00
ChangeLog nyacc: minor fixes 2017-01-08 13:00:57 -08:00
export.scm Import Nyacc 0.72.0. 2016-12-17 22:34:43 +01:00
import.scm Import Nyacc 0.72.0. 2016-12-17 22:34:43 +01:00
lalr.mes nyacc: Add mes modules. 2016-12-18 15:47:55 +01:00
lalr.scm nyacc: fixes didn't get in in 0.74.0 2017-01-08 16:59:20 -08:00
lex.mes nyacc: Add mes modules. 2016-12-18 15:47:55 +01:00
lex.scm nyacc: lots of C99/CPP fixes. now more robust for code mode 2017-01-08 12:16:28 -08:00
parse.mes nyacc: Add mes modules. 2016-12-18 15:47:55 +01:00
parse.scm nyacc: lots of fixes to make CPP more robust; now need to test 2017-01-07 16:06:09 -08:00
README Import Nyacc 0.72.0. 2016-12-17 22:34:43 +01:00
README.nyacc nyacc: fixes didn't get in in 0.74.0 2017-01-08 16:59:20 -08:00
util.mes nyacc: Add mes modules. 2016-12-18 15:47:55 +01:00
util.scm nyacc: lots of fixes to make CPP more robust; now need to test 2017-01-07 16:06:09 -08:00

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