summaryrefslogtreecommitdiff
path: root/miniany/cc.wg
diff options
context:
space:
mode:
Diffstat (limited to 'miniany/cc.wg')
-rw-r--r--miniany/cc.wg37
1 files changed, 30 insertions, 7 deletions
diff --git a/miniany/cc.wg b/miniany/cc.wg
index e5ae626..e2b2c47 100644
--- a/miniany/cc.wg
+++ b/miniany/cc.wg
@@ -23,14 +23,20 @@ WordGrinder dumpfile v3: this is a text file; diff me!
.addons.spellchecker.enabled: false
.addons.spellchecker.usesystemdictionary: true
.addons.spellchecker.useuserdictionary: true
-.documents.1.co: 1
-.documents.1.cp: 31
-.documents.1.cw: 1
+.clipboard.co: 1
+.clipboard.cp: 1
+.clipboard.cw: 1
+.clipboard.margin: 0
+.clipboard.viewmode: 1
+.clipboard.wordcount: 19
+.documents.1.co: 9
+.documents.1.cp: 71
+.documents.1.cw: 4
.documents.1.margin: 0
.documents.1.name: "main"
.documents.1.sticky_selection: false
.documents.1.viewmode: 1
-.documents.1.wordcount: 774
+.documents.1.wordcount: 910
.fileformat: 8
.findtext: "C4"
.menu.accelerators.^@: "ZM"
@@ -139,6 +145,9 @@ WordGrinder dumpfile v3: this is a text file; diff me!
.replacetext: ""
.statusbar: true
.current: 1
+#clipboard
+LB http://selfie.cs.uni-salzburg.at/: C* self-hosting C compiler (also emulator, hypervisor) for RISCV, inspiration for what makes up a minimal C language
+.
#1
H1 CC - a self-hosting, bootstrappable, minimal C compiler
H2 Introduction
@@ -193,8 +202,22 @@ PRE cat c4.c4 EOF c4.c EOF cc.c EOF hello.c | ./c4
P EOF contains the traditional FS (file separator) character in the ASCII character set. Every time c4/c4.c is invoked it reads exacly one input file up to the first FS character (or stops at the end of stdin).
P We can also use -s, or -d on every level as follows:
PRE cat cc.c EOF hello.c | ./c4 -d
-H2 References
-LB "Compiler Construction", Niklaus Wirth
+H2 References
+P Compiler construction in general:
+LB "Compiler Construction"", Niklaus Wirth
LB https://github.com/DoctorWkt/acwj: a nice series on building a C compiler, step by step with lots of good explanations
-LB https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm#climbing, https://en.wikipedia.org/wiki/Operator-precedence_parser#Precedence_climbing_method
+LB https://www.engr.mun.ca/~theo/Misc/exp_parsing.htm#climbing, https://en.wikipedia.org/wiki/Operator-precedence_parser#Precedence_climbing_method
+LB https://github.com/lotabout/write-a-C-interpreter/blob/master/tutorial/en/, tutorial based on C4 how to build a C interpreter, explains nicely details in C4.
+P C4:
+LB https://github.com/rswier/c4.git, C4 - C in four functions, Robert Swierczek, minimalistic C compiler running on an emulator on the IR, inspiration for this project
+LB https://github.com/rswier/c4/blob/switch-and-structs/c4.c, c4 adaptions to provide switch and structs
+LB https://github.com/EarlGray/c4: a X86 JIT version of c4
+LB https://github.com/jserv/amacc: based on C4, JIT or native code, for ARM, quite well documented, also very nice list of compiler resources on Github page
+P Other minimal compilers and systems:
+LB http://selfie.cs.uni-salzburg.at/: C* self-hosting C compiler (also emulator, hypervisor) for RISCV, inspiration for what makes up a minimal C language
+LB http://www.iro.umontreal.ca/~felipe/IFT2030-Automne2002/Complements/tinyc.c, Marc Feeley, really easy and much more readable, meant as educational compiler
+LB https://github.com/rswier/swieros.git: c.c in swieros, Robert Swierczek
+P Assembly:
+LB https://github.com/felipensp/assembly/blob/master/x86/itoa.s, for putint (early debugging keyword)
+LB https://baptiste-wicht.com/posts/2011/11/print-strings-integers-intel-assembly.htm (earldy debugging keyword)
.