1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
|
#[1]Edit [2]bootstrapping (en) [3]bootstrapping Atom feed
[4]Jump to content
[X]
Toggle sidebar [5]bootstrapping
[6]Search
____________________ Search Go
* [7]Create account
* [8]Log in
[ ] Personal tools
* [9]Dark mode
* [10]Create account
* [11]Log in
Pages for logged out editors [12]learn more
* [13]Contributions
* [14]Talk
Navigation
* [15]Main page
* [16]Recent changes
* [17]Random page
* [18]Help about MediaWiki
Tools
* [19]What links here
* [20]Related changes
* [21]Special pages
* [22]Printable version
* [23]Permanent link
* [24]Page information
* [25]Get shortened URL
* [26]Cite this page
[ ]
Contents
(BUTTON) move to sidebar (BUTTON) hide
* Beginning
* 1Welcome to the bootstrapping wiki!
2Topics
3Groups
4Helpful Links
Toggle the table of contents
[ ] Toggle the table of contents
Main Page
* [27]Main Page
* [28]Discussion
[ ] English
* [29]Read
* [30]Edit
* [31]View history
[ ] More
* [32]Read
* [33]Edit
* [34]View history
From bootstrapping
Welcome to the bootstrapping wiki![[35]edit]
This wiki is about bootstrapping, i.e., building up compilers and
interpreters and tools from nothing.
To use an analogy from the world of food production:
"Recipe for yogurt: Add yogurt to milk." - Anon.
In simple technical terms:
Bootstrapping is about building a compiler using tools smaller than
itself, as opposed to building a compiler using an already built
version of itself. The problem with the second is: Where did that
prebuilt binary come from?
The short sci-fi story [36]Coding Machines (Lawrence Kesteloot, January
2009) has bootstrapping as a theme.
Also see the homepage of [37]the Bootstrappable project, which has
pointers to a mailing list and IRC channel.
Topics[[38]edit]
Current topics being considered include:
* [39]mes by janneke, [40]repo
* [41]live-bootstrap by fossy and stikonas, [42]repo
* [43]stage0 by Jeremiah Orians, [44]repo
* [45]Boot2Now by Rick Masters, [46]repo
* [47]Coquillage by bms_
* [48]Aesop by unmatched-paren
* [49]Descent principle
* [50]The Semantics Assignment Problem
* [51]Self-Extension
* [52]Self-Hosting
* [53]Build Systems
* [54]Build Inputs
* [55]C compilers
* [56]Below C Level
* [57]Boostrapping Specific Languages
* [58]Investigate
* [59]Projects List
* [60]Documents
* [61]Forth
Other ideas that have been considered are listed on the dedicated
[62]Past Research page. There is also a list of [63]discarded options
and why.
Groups[[64]edit]
The [65]Groups page has links related to various areas of interest
including:
* Karger-Thompson Attack
* Ubiquitous Implementations
* Small C Compilers
* Grammars, Parsing, and Term Rewriting
* Virtual Machines, Instruction Sets
* CPU's for Bootstrapping
* Minimal Operating Systems
* Biology / Other?
Helpful Links[[66]edit]
* [67]AIM-039.pdf The first self hosted lisp
* [68]lambda-the-ultimate thread asking for info on bootstrapping
* [69]awesome-compilers github list with a lot of information (copy
the relevant parts to this wiki)
* [70]Tombstone diagram
* [71]bootstrappable a community hub for bootstrapping, with mailing
list.
* [72]bootstrappable mailing list
* [73]yabfc - Generating-executable-files-from-scratch
* [74]ELF visualization
* [75]Cfront - converts C++ to C; developed by Bjarne Stroustrup.
* [76]How do I install all of the GNU C Library project libraries
that I just built
* [77]Formal Compiler Verification with ACL2 - proving a compiler
correct with ACL2 and discussion about correctness and self
compiling.
Retrieved from
"[78]https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448"
Cookies help us deliver our services. By using our services, you agree
to our use of cookies.
[79]More information (OK) OK
* This page was last edited on 7 September 2023, at 10:18.
* Content is available under Creative Commons Attribution-ShareAlike
4.0 International (CC BY-SA 4.0) unless otherwise noted.
* [80]Privacy policy
* [81]About bootstrapping
* [82]Disclaimers
* [83]Mobile view
* [84]Terms of Use
* [85]Donate to Miraheze
* [86]Hosted by Miraheze [87]Powered by MediaWiki
* [88]Creative Commons Attribution-ShareAlike 4.0 International (CC
BY-SA 4.0)
References
Visible links:
1. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
2. https://bootstrapping.miraheze.org/w/opensearch_desc.php
3. https://bootstrapping.miraheze.org/wiki/Special:RecentChanges?feed=atom
4. https://bootstrapping.miraheze.org/wiki/Main_Page#bodyContent
5. https://bootstrapping.miraheze.org/wiki/Main_Page
6. https://bootstrapping.miraheze.org/wiki/Special:Search
7. https://bootstrapping.miraheze.org/wiki/Special:CreateAccount?returnto=Main+Page
8. https://bootstrapping.miraheze.org/wiki/Special:UserLogin?returnto=Main+Page
9. https://bootstrapping.miraheze.org/wiki/Main_Page
10. https://bootstrapping.miraheze.org/wiki/Special:CreateAccount?returnto=Main+Page
11. https://bootstrapping.miraheze.org/wiki/Special:UserLogin?returnto=Main+Page
12. https://bootstrapping.miraheze.org/wiki/Help:Introduction
13. https://bootstrapping.miraheze.org/wiki/Special:MyContributions
14. https://bootstrapping.miraheze.org/wiki/Special:MyTalk
15. https://bootstrapping.miraheze.org/wiki/Main_Page
16. https://bootstrapping.miraheze.org/wiki/Special:RecentChanges
17. https://bootstrapping.miraheze.org/wiki/Special:Random
18. https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents
19. https://bootstrapping.miraheze.org/wiki/Special:WhatLinksHere/Main_Page
20. https://bootstrapping.miraheze.org/wiki/Special:RecentChangesLinked/Main_Page
21. https://bootstrapping.miraheze.org/wiki/Special:SpecialPages
22. javascript:print();
23. https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448
24. https://bootstrapping.miraheze.org/wiki/Main_Page?action=info
25. https://bootstrapping.miraheze.org/wiki/Special:UrlShortener?url=https%3A%2F%2Fbootstrapping.miraheze.org%2Fwiki%2FMain_Page
26. https://bootstrapping.miraheze.org/wiki/Special:CiteThisPage?page=Main_Page&id=448&wpFormIdentifier=titleform
27. https://bootstrapping.miraheze.org/wiki/Main_Page
28. https://bootstrapping.miraheze.org/wiki/Talk:Main_Page
29. https://bootstrapping.miraheze.org/wiki/Main_Page
30. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
31. https://bootstrapping.miraheze.org/wiki/Main_Page?action=history
32. https://bootstrapping.miraheze.org/wiki/Main_Page
33. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit
34. https://bootstrapping.miraheze.org/wiki/Main_Page?action=history
35. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit§ion=1
36. https://www.teamten.com/lawrence/writings/coding-machines/
37. https://bootstrappable.org/
38. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit§ion=2
39. https://bootstrapping.miraheze.org/wiki/Mes
40. https://gitlab.com/janneke/mes
41. https://bootstrapping.miraheze.org/wiki/Live-bootstrap
42. https://github.com/fosslinux/live-bootstrap
43. https://bootstrapping.miraheze.org/wiki/Stage0
44. https://git.savannah.nongnu.org/cgit/stage0.git/
45. https://bootstrapping.miraheze.org/wiki/Boot2Now
46. https://github.com/ironmeld/boot2now
47. https://bootstrapping.miraheze.org/wiki/Coquillage
48. https://bootstrapping.miraheze.org/wiki/Aesop
49. https://bootstrapping.miraheze.org/wiki/Descent_principle
50. https://bootstrapping.miraheze.org/wiki/The_Semantics_Assignment_Problem
51. https://bootstrapping.miraheze.org/wiki/Self-Extension
52. https://bootstrapping.miraheze.org/wiki/Self-Hosting
53. https://bootstrapping.miraheze.org/wiki/Build_Systems
54. https://bootstrapping.miraheze.org/wiki/Build_Inputs
55. https://bootstrapping.miraheze.org/wiki/C_compilers
56. https://bootstrapping.miraheze.org/wiki/Below_C_Level
57. https://bootstrapping.miraheze.org/wiki/Boostrapping_Specific_Languages
58. https://bootstrapping.miraheze.org/wiki/Investigate
59. https://bootstrapping.miraheze.org/wiki/Projects_List
60. https://bootstrapping.miraheze.org/wiki/Documents
61. https://bootstrapping.miraheze.org/wiki/Forth
62. https://bootstrapping.miraheze.org/wiki/Past_Research
63. https://bootstrapping.miraheze.org/wiki/Discarded_options_and_why
64. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit§ion=3
65. https://bootstrapping.miraheze.org/wiki/Groups
66. https://bootstrapping.miraheze.org/wiki/Main_Page?action=edit§ion=4
67. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-039.pdf
68. http://lambda-the-ultimate.org/node/3678
69. https://github.com/aalhour/awesome-compilers
70. https://en.wikipedia.org/wiki/Tombstone_diagram
71. http://bootstrappable.org/
72. https://www.freelists.org/archive/bootstrappable/
73. https://github.com/cameronswinoga/yabfc/wiki/Generating-executable-files-from-scratch
74. http://i.imgur.com/xMyblyM.png
75. https://en.wikipedia.org/wiki/Cfront
76. https://sourceware.org/glibc/wiki/FAQ#How_do_I_install_all_of_the_GNU_C_Library_project_libraries_that_I_just_built.3F
77. http://ssw.jku.at/General/Staff/TW/FormCompilerVerificationACL2.pdf
78. https://bootstrapping.miraheze.org/wiki/Main_Page?oldid=448
79. https://meta.miraheze.org/wiki/Special:MyLanguage/Privacy_Policy#4._Cookies
80. https://meta.miraheze.org/wiki/Special:MyLanguage/Privacy_Policy
81. https://bootstrapping.miraheze.org/wiki/bootstrapping:About
82. https://bootstrapping.miraheze.org/wiki/bootstrapping:General_disclaimer
83. https://bootstrapping.miraheze.org/wiki/Main_Page?mobileaction=toggle_view_mobile
84. https://meta.miraheze.org/wiki/Special:MyLanguage/Terms_of_Use
85. https://meta.miraheze.org/wiki/Special:MyLanguage/Donate
86. https://meta.miraheze.org/wiki/Special:MyLanguage/Miraheze
87. https://www.mediawiki.org/
88. https://creativecommons.org/licenses/by-sa/4.0/
Hidden links:
90. https://bootstrapping.miraheze.org/wiki/Main_Page
91. https://bootstrapping.miraheze.org/wiki/Main_Page#Welcome_to_the_bootstrapping_wiki!
92. https://bootstrapping.miraheze.org/wiki/Main_Page#Topics
93. https://bootstrapping.miraheze.org/wiki/Main_Page#Groups
94. https://bootstrapping.miraheze.org/wiki/Main_Page#Helpful_Links
|