feat: 9.5.9

This commit is contained in:
tmtt 2022-07-29 15:12:07 +02:00
parent cb1753732b
commit 35f43a7909
1084 changed files with 558985 additions and 0 deletions

37
nanopass/doc/Makefile Normal file
View file

@ -0,0 +1,37 @@
# define default document pathname here
Scheme=scheme
STEXLIB=${HOME}/stex
# override on command line with 'make x=newdoc'
x = user-guide
# define latex processor: latex or pdflatex
latex = pdflatex
# define stex macro files here
stexmacrofiles =
# list bibliography files here
bib = user-guide.bib
# define index if an index is to be generated
# index=yes
doit: $x.pdf
include ~/stex/Mf-stex
# define or override suffixes here
# define any additional targets here
# define any dependencies here
# define cleanup targets here:
$(x).clean:
$(x).reallyclean:
$(x).reallyreallyclean:

View file

@ -0,0 +1,77 @@
(define-language Lannotated
(entry Defn)
(terminals
(record-constructor-descriptor (rcd))
(record-type-descriptor (rtd))
(exact-integer (tag level tag-mask))
(datum (handler record-name pred all-pred all-term-pred
accessor maker))
(box (b))
(syntax (stx))
(identifier (id))
(dots (dots))
(null (null)))
(Defn (def)
(define-language id ref (maybe id0) rtd rcd tag-mask
(term* ...) nt* ...))
(Terminal (term)
(id (id* ...) b (maybe handler) pred))
(Nonterminal (nt)
(id (id* ...) b rtd rcd tag pred all-pred all-term-pred
prod* ...))
(Production (prod)
(production pattern (maybe pretty-prod) rtd tag pred maker field* ...)
(terminal ref (maybe pretty-prod))
(nonterminal ref (maybe pretty-prod)))
(Pattern (pattern)
id
ref
null
(maybe ref)
(pattern dots)
(pattern0 dots pattern1 ... . pattern2)
(pattern0 . pattern1))
(PrettyProduction (pretty-prod)
(procedure handler)
(pretty pattern))
(Field (field)
(ref level accessor)
(optional ref level accessor))
(Reference (ref)
(reference id0 id1 b)))
(define-language Llanguage
(entry Defn)
(terminals
(box (b))
(syntax (stx))
(identifier (id))
(datum (handler))
(dots (dots))
(null (null)))
(Defn (def)
(define-language id cl* ...))
(Clause (cl)
(entry ref)
(nongenerative-id id)
(terminals term* ...)
(id (id* ...) b prod* ...))
(Terminal (term)
simple-term
(=> simple-term handler))
(SimpleTerminal (simple-term)
(id (id* ...) b))
(Production (prod)
pattern
(=> pattern0 pattern1)
(-> pattern handler))
(Pattern (pattern)
id
ref
null
(maybe ref)
(pattern dots)
(pattern0 dots pattern1 ... . pattern2)
(pattern0 . pattern1))
(Reference (ref)
(reference id0 id1 b)))

View file

@ -0,0 +1,67 @@
@phdthesis{keep-phdthesis-2013,
author = {Keep, Andrew W.},
title = {{A Nanopass Framework for Commercial Compiler Development}},
school = {Indiana University},
year = {2013},
month = feb,
url = {https://pqdtopen.proquest.com/pubnum/3560746.html}
}
@inproceedings{Meijer:1991:FPB:645420.652535,
author = {Meijer, Erik and Fokkinga, Maarten M. and Paterson, Ross},
title = {{Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire}},
booktitle = {Proc. 5th ACM Conference on Functional Programming Languages and Computer Architecture},
year = {1991},
isbn = {3-540-54396-1},
pages = {124--144},
numpages = {21},
url = {http://dl.acm.org/citation.cfm?id=645420.652535},
acmid = {652535},
publisher = {Springer-Verlag},
address = {London, UK},
}
@inproceedings{Sarkar:2004:NIC:1016850.1016878,
author = {Sarkar, Dipanwita and Waddell, Oscar and Dybvig, R. Kent},
title = {{A Nanopass Infrastructure for Compiler Education}},
booktitle = {Proc. 9th ACM SIGPLAN International Conference on Functional Programming},
series = {ICFP '04},
year = {2004},
location = {Snow Bird, UT, USA},
pages = {201--212},
numpages = {12},
url = {http://doi.acm.org/10.1145/1016850.1016878},
acmid = {1016878},
publisher = {ACM},
address = {New York},
keywords = {compiler writing tools, domain-specific languages, nanopass compilers, syntactic abstraction},
}
@book{Dybvig:csug8,
author = {R. Kent Dybvig},
title = {{Chez Scheme Version 8 User's Guide}},
publisher = {Cadence Research Systems},
year = 2009,
texturl = "http://www.scheme.com/csug8/",
biburl = "http://www.cs.indiana.edu/{\textasciitilde}dyb/pubs/csug8.bib",
annote = {User's guide and reference manual for Chez Scheme Version 8. Complements \cite{Dybvig:tspl4}.}
}
@book{Dybvig:csug9,
author = {R. Kent Dybvig},
title = {{Chez Scheme Version 9 User's Guide}},
publisher = {Cisco Systems, Inc.},
year = 2019,
url = "http://cisco.github.io/ChezScheme/csug9.5/csug.html",
annote = {User's guide and reference manual for Chez Scheme Version 9.5 Complements \cite{Dybvig:tspl4}.}
}
@book{Dybvig:tspl4,
author = {R. Kent Dybvig},
title = {The {Scheme} Programming Language},
publisher = {{MIT} Press},
edition = {Fourth},
year = 2009,
texturl = "http://www.scheme.com/tspl4/",
annote = {Introduction and reference manual for R6RS Scheme with numerous short and extended examples and exercises.}
}

BIN
nanopass/doc/user-guide.pdf Normal file

Binary file not shown.

2752
nanopass/doc/user-guide.stex Normal file

File diff suppressed because it is too large Load diff