forth-riscv

My forth
git clone git://git.electrosoup.com/forth-riscv
Log | Files | Refs

DateCommit messageAuthorFiles+-
2025-07-12 02:37Add '/' and '/mod'Christian Ermann1+12-0
2025-07-12 02:36Fix bug in 'bootstrap'...?Christian Ermann1+11-6
2025-07-12 02:32Fix 'literal' for immediates with bit 12 setChristian Ermann1+19-10
2025-07-12 02:30Fix ':' leaving -1 on stackChristian Ermann1+0-2
2025-07-03 02:22Fix printing of context for 'error-unknown'Christian Ermann1+14-0
2025-07-02 03:28Factor '(interpret-execute)'Christian Ermann1+30-19
2025-07-02 02:45Add error message when word is unrecognizedChristian Ermann1+37-0
2025-03-30 20:49Change input of 'execute' from a 'cfa' to an 'xt'Christian Ermann1+5-4
2025-03-30 20:39Add 'lit,' and update 'compile,'Christian Ermann1+27-27
2025-03-30 20:05Replace prefix handlers with more flexible parsingChristian Ermann1+120-241
2025-03-28 03:42Simplify 'bootstrap' and its dependenciesChristian Ermann2+86-95
2025-03-23 19:45Change built-in strings and buffers to proper variablesChristian Ermann1+27-29
2025-03-23 06:29Modify 'refill' to use dispatch tableChristian Ermann1+35-25
2024-12-06 07:04Remove 'ip' definition, change 'rsp' to 's1'Christian Ermann1+7-9
2024-12-06 06:49Remove ';does'Christian Ermann1+0-41
2024-12-06 03:09Refactor 'align' and rename to 'align-data'Christian Ermann1+8-14
2024-12-06 03:04Restart on exception (for now)Christian Ermann2+2-35
2024-12-05 06:21Add '(' as a stack comment prefixChristian Ermann1+22-1
2024-12-05 06:11Add '|' as a full-line comment prefixChristian Ermann1+22-1
2024-12-05 05:47Add '"' as a string prefixChristian Ermann1+180-13
2024-12-04 19:04Refactor 'hash'Christian Ermann1+12-16
2024-12-04 18:55Refactor 'accept' and 'refill'Christian Ermann1+55-85
2024-12-04 06:43Refactor 'skip-while', 'skip-until', and 'parse'Christian Ermann1+54-71
2024-12-04 04:35Fix 'create', 'variable', and 'constant' to work with new data layoutChristian Ermann1+48-32
2024-12-03 00:59Replace '; immediate' with ';macro'Christian Ermann1+15-11
2024-12-03 00:41Replace 'hidden' with 'hide' and 'show'Christian Ermann1+12-4
2024-12-03 00:22Replace 'postpone' with '^' prefixChristian Ermann1+39-32
2024-12-03 06:17Add separate data, code, and execution areas to fix definitionsChristian Ermann2+149-69
2024-11-29 23:04Remove interpretation, only compileChristian Ermann1+80-27
2024-11-28 20:26Add prefix-based parsing to interpreterChristian Ermann1+118-20
2024-11-24 19:34Prototype interactive debugger for exceptionsChristian Ermann4+192-4
2024-11-22 01:10Add 'bye' to shutdown systemChristian Ermann2+8-0
2024-11-22 00:09Store name for 'create'd wordsChristian Ermann1+30-2
2024-11-21 21:05Add core test suiteChristian Ermann4+346-0
2024-11-21 04:37Fix 'postpone', 'variable', 'constant', and 'lit-string' for subroutine threadingChristian Ermann2+76-42
2024-11-20 19:15Fix and refactor file interpretationChristian Ermann3+60-70
2024-11-19 01:17Refactor build scripts to support building with or without DockerChristian Ermann10+1414-1363
2024-11-18 00:53Store top of stack in 'w' registerChristian Ermann1+138-189
2024-11-15 09:08Switch from indirect threaded code to subroutine threaded codeChristian Ermann1+418-160
2024-11-13 20:31Add ';does'Christian Ermann1+38-0
2024-11-11 04:44Add rv32i assembler wordsChristian Ermann1+159-2
2024-11-14 01:30Fix 'find' to skip hidden wordsChristian Ermann1+11-1
2024-11-10 21:44Add 'inline' to define new primitive wordsChristian Ermann2+92-0
2024-11-09 05:28Add 'words' to print all words in dictionaryChristian Ermann3+14-1
2024-11-08 06:30Add test harnessChristian Ermann1+48-0
2024-11-07 23:35Replace 'parse-char' with high-level word 'char'Christian Ermann2+11-36
2024-11-07 22:46Factor 'parse-string' into smaller wordsChristian Ermann2+63-33
2024-11-07 19:42Add 'parse' and redefine 'parse-word' as a high-level wordChristian Ermann1+82-44
2024-11-07 04:57Change 'source-offset' and 'source-id' into variablesChristian Ermann1+12-20
2024-11-07 04:47Change 'source' to use a '2var' internallyChristian Ermann1+48-42
2024-11-07 04:19Add 'defconst' and 'defvar' macrosChristian Ermann1+41-39
2024-11-06 22:48Refactor 'defcode' and 'defword' macrosChristian Ermann1+129-121
2024-11-06 06:32Convert tabs to spacesChristian Ermann1+24-24
2024-11-06 06:28Fix 'source' hashChristian Ermann1+1-1
2024-11-06 06:27Add 'sp@', 'rp@', and 'depth'Christian Ermann2+15-2
2024-11-06 06:26Add 'cells', 'cell+', and '*'Christian Ermann2+22-2
2024-11-06 06:25Fix default behavior of 'create'd wordsChristian Ermann1+7-4
2024-11-06 06:01Fix spaces in stringsChristian Ermann2+37-3
2024-11-05 18:50Add string literalsChristian Ermann2+44-4
2024-11-05 04:20Add 'abort'Christian Ermann1+30-2
2024-11-05 03:14Add '\' and '('Christian Ermann2+8-2
2024-11-05 04:21Add 'parse-char'Christian Ermann1+30-1
2024-11-05 00:23Convert tabs to spacesChristian Ermann1+84-84
2024-11-05 00:21Add 'read-line' to replace 'accept' for filesChristian Ermann1+117-55
2024-11-03 22:22Add 'variable' and 'constant'Christian Ermann1+25-2
2024-11-02 00:29Add 'prompt' and 'okay' to indicate status to userChristian Ermann1+23-2
2024-11-01 19:17Add 'postpone', 'if', and 'while'Christian Ermann2+37-2
2024-10-31 22:32Add '>number' and update 'interpret'Christian Ermann1+82-8
2024-10-30 21:38Convert tabs to spacesChristian Ermann1+409-409
2024-10-30 20:48Redefine 'find' as a high-level wordChristian Ermann1+44-31
2024-10-30 19:47Fix 'link'Christian Ermann1+13-13
2024-10-30 19:42Add 'math and logic' and 'compiler' sectionsChristian Ermann1+14-6
2024-10-30 19:29Add 'memory access', 'dictionary management', and 'stack manipulation' sectionsChristian Ermann1+34-22
2024-10-30 19:17Add 'evaluate' to interpret file in memoryChristian Ermann4+109-9
2024-10-30 02:41Redefine 'refill' as a high-level wordChristian Ermann1+39-18
2024-10-29 22:02Replace 'word' with 'parse-word'Christian Ermann1+112-32
2024-10-29 06:38Shorten 'word' and 'find' definitionsChristian Ermann1+7-21
2024-10-29 06:25Redefine 'interpret' as a high-level wordChristian Ermann1+49-28
2024-10-28 22:07Add ':' and ';' to define new words at runtimeChristian Ermann1+61-1
2024-10-28 17:50Redefine 'create' as a high-level wordChristian Ermann2+115-32
2024-10-28 02:08Add 'hash' and 'create' to create new headers at runtimeChristian Ermann2+68-4
2024-10-27 18:21Replace names with hashes in dictionaryChristian Ermann2+62-45
2024-10-26 19:12Set stack params in linker scriptChristian Ermann2+3-4
2024-10-26 18:55Add 'interpret', 'branch', and 'quit'Christian Ermann1+36-10
2024-10-25 21:08Add 'find', '>cfa', and 'execute'Christian Ermann1+69-1
2024-10-25 02:54Add 'word'Christian Ermann2+45-12
2024-10-25 01:20Add 'emit' and 'key' to test inputChristian Ermann1+12-0
2024-10-25 01:13Add 'type'Christian Ermann3+136-30
2024-10-25 01:10Switch to 'gcc' instead of 'as' and 'ld'Christian Ermann1+8-15
2024-09-16 21:51Hello, World!Christian Ermann5+165-0
2024-09-16 21:50Initial commitChristian Ermann0+0-0