Skip to content

Commit

Permalink
doc tweaks
Browse files Browse the repository at this point in the history
  • Loading branch information
znmeb committed Dec 16, 2023
1 parent 2497a25 commit ee5e19d
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 10 deletions.
19 changes: 11 additions & 8 deletions The-Book-of-CLAMS/CLAMS-Forth-Overview.qmd
Original file line number Diff line number Diff line change
Expand Up @@ -80,23 +80,26 @@ the function call (`BL`) instruction has an available range of plus or minus
away in the 2 megabytes of flash, the better.

2. Even with a dictionary entirely in SRAM at run time, constructing a `BL`
function call instruction while compiling a user "colon" definition is a tricky process, difficult to document,
understand and maintain. If you're interested in the details, see
[@pintaske2019irreducible, section 3.5.5 ]. I decided to switch to direct
threading, rather than spend an extra week coding both a flash-to-SRAM
relocation and an algorithm to compute a relative branch address that is then
split into four separate bit fields of two 16-bit `thumb` instructions.
function call instruction while compiling a user "colon" definition is a tricky
process, difficult to document, understand and maintain. If you're interested
in the details, see [@pintaske2019irreducible, section 3.5.5 ]. I decided to
switch to direct threading, rather than spend an extra week coding both a
flash-to-SRAM relocation and an algorithm to compute a relative branch address
that is then split into four separate bit fields of two 16-bit `thumb`
instructions.

## Status / roadmap

1. There is a partial implementation of a subroutine-threaded version with
inlining. I am leaving that in the repository in a development branch but won't
be working on it unless I find that the direct-threaded version cannot meet
speed requirements. The subroutine-threaded version is in branch `forth-stc`.
speed requirements. The subroutine-threaded version is in branch
[`forth-stc`](https://github.com/AlgoCompSynth/CLAMS/tree/forth-stc).

2. The direct-threaded version is nearing a release. I expect to have the
system dictionary, text interpreter and compiler done by January 1, 2024. It is
in the branch `forth-dtc`.
in the branch
[`forth-dtc`](https://github.com/AlgoCompSynth/CLAMS/tree/forth-stc).

3. The next step is to implement synthesis algorithms. The general process will
be to prototype them in Forth, converting to assembler when needed. That will
Expand Down
4 changes: 2 additions & 2 deletions docs/CLAMS-Forth-Overview.html
Original file line number Diff line number Diff line change
Expand Up @@ -215,8 +215,8 @@ <h2 data-number="2.3" class="anchored" data-anchor-id="design-architecture"><spa
<section id="status-roadmap" class="level2" data-number="2.4">
<h2 data-number="2.4" class="anchored" data-anchor-id="status-roadmap"><span class="header-section-number">2.4</span> Status / roadmap</h2>
<ol type="1">
<li><p>There is a partial implementation of a subroutine-threaded version with inlining. I am leaving that in the repository in a development branch but won’t be working on it unless I find that the direct-threaded version cannot meet speed requirements. The subroutine-threaded version is in branch <code>forth-stc</code>.</p></li>
<li><p>The direct-threaded version is nearing a release. I expect to have the system dictionary, text interpreter and compiler done by January 1, 2024. It is in the branch <code>forth-dtc</code>.</p></li>
<li><p>There is a partial implementation of a subroutine-threaded version with inlining. I am leaving that in the repository in a development branch but won’t be working on it unless I find that the direct-threaded version cannot meet speed requirements. The subroutine-threaded version is in branch <a href="https://github.com/AlgoCompSynth/CLAMS/tree/forth-stc"><code>forth-stc</code></a>.</p></li>
<li><p>The direct-threaded version is nearing a release. I expect to have the system dictionary, text interpreter and compiler done by January 1, 2024. It is in the branch <a href="https://github.com/AlgoCompSynth/CLAMS/tree/forth-stc"><code>forth-dtc</code></a>.</p></li>
<li><p>The next step is to implement synthesis algorithms. The general process will be to prototype them in Forth, converting to assembler when needed. That will create the requirements for the digital signal processing library.</p></li>
</ol>

Expand Down
Binary file modified docs/The-Book-of-CLAMS.pdf
Binary file not shown.

0 comments on commit ee5e19d

Please sign in to comment.