feat: 9.5.9
This commit is contained in:
parent
cb1753732b
commit
35f43a7909
1084 changed files with 558985 additions and 0 deletions
37
nanopass/doc/Makefile
Normal file
37
nanopass/doc/Makefile
Normal 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:
|
||||
|
77
nanopass/doc/language-api.ss
Normal file
77
nanopass/doc/language-api.ss
Normal 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)))
|
67
nanopass/doc/user-guide.bib
Normal file
67
nanopass/doc/user-guide.bib
Normal 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
BIN
nanopass/doc/user-guide.pdf
Normal file
Binary file not shown.
2752
nanopass/doc/user-guide.stex
Normal file
2752
nanopass/doc/user-guide.stex
Normal file
File diff suppressed because it is too large
Load diff
Reference in a new issue