Do routine cleanup

- Clean up whitespace.
- Fix W3C HTML Validator warnings.
- Use CSS to style the table.
  (Try to replicate the effect of <table border>.)
This commit is contained in:
Lassi Kortela 2023-02-22 17:05:21 +02:00
parent 2aae3d999f
commit 6dead2c8ba
1 changed files with 89 additions and 71 deletions

View File

@ -1,9 +1,24 @@
<!DOCTYPE html>
<html>
<head>
<title>The 'dream' Scheme Interpreter</title>
<style type="text/css">
body { background-color:black; color:white; font-family:sans-serif; }
a { text-decoration:underline; }
body {
background-color: black;
color: white;
font-family: sans-serif;
}
a {
text-decoration: underline;
}
table.border {
border-collapse: separate;
border-spacing: 2px;
border: thin outset gray;
}
table.border td, th {
border: thin inset gray;
}
</style>
</head>
<h1>The 'dream' Scheme Interpreter</h1>
@ -23,6 +38,7 @@ Consequently Dream compiles itself. :-)
<hr>
<b>Download latest version for Linux or Windows on x86:</b>
<a href="/cgi-bin/wiki_joey/dream20110707.tar.gz">dream20110707.tar.gz</a>
<dl>
<dt>Linux:</dt>
<dd>'dream' is an ELF executable that may use Linux syscalls only or, by default, is dynamically linked with <b>ld-linux.so.2</b> in order to provide access in scheme to dlopen, dlclose, and dlsym.</dd>
<dd>In particular, if <b>libgmp.so.3</b> is available then it is dynamically loaded in order to implement multiple precision integer arithmetic.</dd>
@ -31,6 +47,7 @@ Consequently Dream compiles itself. :-)
<dd>In particular, if <b>libgmp-3.dll</b> is available then it is automatically loaded in order to implement multiple precision integer arithmetic.</dd>
<dd>dream.exe expects to find 'c:/dream/bootstrap.scm'.
So unzip to your C: drive, or else place a copy of 'bootstrap.scm' there.</dd>
</dl>
<hr>
<b>Check out my DreamOS based on the Dream Scheme
Interpreter as a bootable floppy disk:</b> <a href="dreamos.html">dreamos</a>
@ -49,6 +66,7 @@ Both are aligned on an 8-byte boundary.
Only one of the two is used at a time by the scheme interpreter; when it becomes full, the garbage collector copies all scheme objects in use to the other memory area (which then becomes the active one).
Dynamically allocated scheme objects other than symbols are represented by a discrete number of quad-words which are allocated consecutively within the active memory area.
<h2>Scheme Object Types</h2>
<p>
The simplest object is the scheme pair which consists of two tetras each of which addresses a scheme object.
</p>
<p>
@ -61,7 +79,7 @@ All 256 ascii chars, #t and #f, and the end-of-file object are statically alloca
Only one tetra is necessary for these statically allocated objects.
In the case of chars and booleans, the value is stored in the high byte of the low wyde.
</p>
<table border>
<table class="border">
<tr>
<th></th><th>Bit:</th><th>0-7</th><th>8</th><th>9</th><th>10-15</th><th>16</th><th>17</th><th>18-30</th><th>31</th>
</tr>
@ -75,16 +93,16 @@ In the case of chars and booleans, the value is stored in the high byte of the l
<td>RATIONAL</td><td>1</td><td colspan="2">0</td><td colspan="2"></td>
</tr>
<tr>
<tr>
<td rowspan="2">PORT</td><td>OUTPUT</td><td rowspan="2">5</td><td>0</td><td colspan="2">0</td><td colspan="3" rowspan="2"></td><td rowspan="2">0</td>
</tr>
<tr>
<td>INPUT</td><td>0</td><td colspan="2">1</td>
</tr>
<tr>
<td colspan="2">STRING</td><td>7</td><td>0</td><td>Immutable?</td><td colspan="4">Length in bytes</td><td>0</td>
</tr>
<tr>
<td colspan="2">VECTOR</td><td>9</td><td>1</td><td>0</td><td colspan="4">Length in objects</td><td>0</th>
<td colspan="2">VECTOR</td><td>9</td><td>1</td><td>0</td><td colspan="4">Length in objects</td><td>0</td>
</tr>
</table>
<p>