Skip to content

visualdoj/pubforth

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autobuild PubForth

PubForth - Public Domain Forth

Cross-platform public domain implementation of Forth. Written in Pascal.

It supports producing executables by translating internal code representation to other programming languages (like assembly languages, C, Pascal, Wasm etc).

The main goal is full support of the Forth 2012 Standard.

Status

Progress: 0%

The Plan

One day - one word. đź’Ş (Not mandatory...)

  • 2022.06.14 Initial repository, build, test
  • 2022.06.15 GitHub workflow
  • 2022.06.23 PubForth 0.0.0: Zero-day release with effectively no words supported
  • 2022.06.24 \ "backslash"
  • 2022.06.25 ( "paren"
  • 2022.06.30 : "colon"
  • 2022.06.30 ; "semicolon"
  • 2022.06.30 ." "dot-quote"
  • 2022.06.30 CR
  • 202?.??.?? PubForth 0.1.0: "Hello world" starter pack
  • 2022.07.01 . "dot"
  • 2022.07.02 SWAP
  • 2022.07.03 OVER
  • 2022.07.04 DROP
  • 2022.07.05 DUP
  • 2022.07.06 NIP
  • 2022.07.07 ROT
  • 2022.07.08 + "plus"
  • 2022.07.09 - "minus"
  • 2022.07.10 * "star"
  • 2022.07.11 / "slash"
  • 2022.07.12 0< "zero-less"
  • 2022.07.13 0= "zero-equals"
  • 2022.07.14 0<> "zero-not-equals"
  • 2022.07.15 0> "zero-greater"
  • 2022.07.16 1+ "one-plus"
  • 2022.07.17 1- "one-minus"
  • 2022.07.18 < "less-than"
  • 2022.07.19 > "greater-than"
  • 2022.07.20 = "equals"
  • 2022.07.21 <> "not-equals"
  • 2022.07.22 M* "m-star"
  • 2022.07.23 */ "star-slash"
  • 2022.07.24 /MOD "slash-mod"
  • 2022.07.25 */MOD "star-slash-mod"
  • 2022.07.26 FM/MOD "f-m-slash-mod"
  • 2022.07.27 SM/REM "s-m-slash-rem"
  • 2022.07.28 MAX
  • 2022.07.29 MIN
  • 2022.07.30 MOD
  • 2022.07.31 ?DUP "question-dupe"
  • 2022.08.01 NEGATE
  • 2022.08.02 FALSE
  • 2022.08.03 TRUE
  • 2022.08.04 INVERT
  • 2022.08.05 AND
  • 2022.08.06 OR
  • 2022.08.07 XOR
  • 2022.08.08 LSHIFT
  • 2022.08.09 RSHIFT
  • 2022.08.10 U. "u-dot"
  • 2022.08.11 U< "u-less-than"
  • 2022.08.12 UM* "u-m-star"
  • 2022.08.13 UM/MOD "u-m-slash-mod"
  • 2022.08.14 U> "u-greater-than"
  • 2022.08.15 BASE
  • 2022.08.16 DECIMAL
  • 2022.08.17 HEX
  • 202?.??.?? PubForth 0.2.0: "Stack calculator" edition
  • 2022.08.18 ! "store"
  • 2022.08.19 # "number-sign"
  • 2022.08.20 #> "number-sign-greater"
  • 2022.08.21 #S "number-sign-s"
  • 2022.08.22 ' "tick"
  • 2022.08.23 +! "plus-store"
  • 2022.08.24 +LOOP "plus-loop"
  • 2022.08.25 , "comma"
  • 2022.08.26 2! "two-store"
  • 2022.08.27 2* "two-star"
  • 2022.08.28 2/ "two-slash"
  • 2022.08.29 2@ "two-fetch"
  • 2022.08.30 2DROP "two-drop"
  • 2022.08.31 2DUP "two-dup"
  • 2022.09.01 2OVER "two-over"
  • 2022.09.02 2SWAP "two-swap"
  • 2022.09.03 <# "less-number-sign"
  • 2022.09.04 >BODY "to-body"
  • 2022.09.05 >IN "to-in"
  • 2022.09.06 >NUMBER "to-number"
  • 2022.09.07 >R "to-r"
  • 2022.09.08 @ "fetch"
  • 2022.09.09 ABORT
  • 2022.09.10 ABORT"
  • 2022.09.11 ABS
  • 2022.09.12 ACCEPT
  • 2022.09.13 ALIGN
  • 2022.09.14 ALIGNED
  • 2022.09.15 ALLOT
  • 2022.09.16 BEGIN
  • 2022.09.17 BL
  • 2022.09.18 C! "c-store"
  • 2022.09.19 C, "c-comma"
  • 2022.09.20 C@ "c-fetch"
  • 2022.09.21 CELL+ "cell-plus"
  • 2022.09.22 CELLS
  • 2022.09.23 CHAR
  • 2022.09.24 CHAR+ "char-plus"
  • 2022.09.25 CHARS
  • 2022.09.26 CONSTANT
  • 2022.09.27 COUNT
  • 2022.09.28 CREATE
  • 2022.09.29 DEPTH
  • 2022.09.30 DO
  • 2022.10.01 DOES> "does"
  • 2022.10.02 ELSE
  • 2022.10.03 EMIT
  • 2022.10.04 ENVIRONMENT? "environment-query"
  • 2022.10.05 EVALUATE
  • 2022.10.06 EXECUTE
  • 2022.10.07 EXIT
  • 2022.10.08 FILL
  • 2022.10.09 FIND
  • 2022.10.10 HERE
  • 2022.10.11 HOLD
  • 2022.10.12 I
  • 2022.10.13 IF
  • 2022.10.14 IMMEDIATE
  • 2022.10.15 J
  • 2022.10.16 KEY
  • 2022.10.17 LEAVE
  • 2022.10.18 LITERAL
  • 2022.10.19 LOOP
  • 2022.10.20 MOVE
  • 2022.10.21 POSTPONE
  • 2022.10.22 QUIT
  • 2022.10.23 R> "r-from"
  • 2022.10.24 R@ "r-fetch"
  • 2022.10.25 RECURSE
  • 2022.10.26 REPEAT
  • 2022.10.27 S" "s-quote"
  • 2022.10.28 S>D "s-to-d"
  • 2022.10.29 SIGN
  • 2022.10.30 SOURCE
  • 2022.10.31 SPACE
  • 2022.11.01 SPACES
  • 2022.11.02 STATE
  • 2022.11.03 THEN
  • 2022.11.04 TYPE
  • 2022.11.05 UNLOOP
  • 2022.11.06 UNTIL
  • 2022.11.07 VARIABLE
  • 2022.11.08 WHILE
  • 2022.11.09 WORD
  • 2022.11.10 [ "left-bracket"
  • 2022.11.11 ['] "bracket-tick"
  • 2022.11.12 [CHAR] "bracket-char"
  • 2022.11.13 ] "right-bracket"
  • 202?.??.?? PubForth 0.3.0: Core word set
  • 2022.11.14 .( "dot-paren"
  • 2022.11.15 .R "dot-r"
  • 2022.11.16 2>R "two-to-r"
  • 2022.11.17 2R> "two-r-from"
  • 2022.11.18 2R@ "two-r-fetch"
  • 2022.11.19 :NONAME "colon-no-name"
  • 2022.11.20 ?DO "question-do"
  • 2022.11.21 ACTION-OF
  • 2022.11.22 AGAIN
  • 2022.11.23 BUFFER:
  • 2022.11.24 C" "c-quote"
  • 2022.11.25 CASE
  • 2022.11.26 COMPILE,
  • 2022.11.27 DEFER
  • 2022.11.28 DEFER! "defer-store"
  • 2022.11.29 DEFER@ "defer-fetch"
  • 2022.11.30 ENDCASE
  • 2022.12.01 ENDOF
  • 2022.12.02 ERASE
  • 2022.12.03 HOLDS
  • 2022.12.04 IS
  • 2022.12.05 MARKER
  • 2022.12.06 OF
  • 2022.12.07 PAD
  • 2022.12.08 PARSE
  • 2022.12.09 PARSE-NAME
  • 2022.12.10 PICK
  • 2022.12.11 REFILL
  • 2022.12.12 RESTORE-INPUT
  • 2022.12.13 ROLL
  • 2022.12.14 S\" "s-backslash-quote"
  • 2022.12.15 SAVE-INPUT
  • 2022.12.16 SOURCE-ID
  • 2022.12.17 TO
  • 2022.12.18 TUCK
  • 2022.12.19 U.R "u-dot-r"
  • 2022.12.20 UNUSED
  • 2022.12.21 VALUE
  • 2022.12.22 WITHIN
  • 2022.12.23 [COMPILE] "bracket-compile"
  • 2022.12.24 .S "dot-s"
  • 2022.12.25 ? "question"
  • 2022.12.26 DUMP
  • 2022.12.27 SEE
  • 2022.12.28 WORDS
  • 2022.12.29 ALLOCATE
  • 2022.12.30 FREE
  • 2022.12.31 RESIZE
  • 2023.01.01 -TRAILING "dash-trailing"
  • 2023.01.02 /STRING "slash-string"
  • 2023.01.03 BLANK
  • 2023.01.04 CMOVE
  • 2023.01.05 CMOVE>
  • 2023.01.06 COMPARE
  • 2023.01.07 SEARCH
  • 2023.01.08 SLITERAL
  • 2023.01.09 REPLACES
  • 2023.01.10 SUBSTITUTE
  • 2023.01.11 UNESCAPE
  • 2023.01.12 BIN
  • 2023.01.13 CLOSE-FILE
  • 2023.01.14 CREATE-FILE
  • 2023.01.15 DELETE-FILE
  • 2023.01.16 FILE-POSITION
  • 2023.01.17 FILE-SIZE
  • 2023.01.18 INCLUDE-FILE
  • 2023.01.19 INCLUDED
  • 2023.01.20 OPEN-FILE
  • 2023.01.21 R/O "r-o"
  • 2023.01.22 R/W "r-w"
  • 2023.01.23 READ-FILE
  • 2023.01.24 READ-LINE
  • 2023.01.25 REPOSITION-FILE
  • 2023.01.26 RESIZE-FILE
  • 2023.01.27 S" "s-quote"
  • 2023.01.28 SOURCE-ID
  • 2023.01.29 W/O "w-o"
  • 2023.01.30 WRITE-FILE
  • 2023.01.31 WRITE-LINE
  • 2023.02.01 FILE-STATUS
  • 2023.02.02 FLUSH-FILE
  • 2023.02.03 INCLUDE
  • 2023.02.04 REFILL
  • 2023.02.05 RENAME-FILE
  • 2023.02.06 REQUIRE
  • 2023.02.07 REQUIRED
  • 2023.02.08 S\" "s-backslash-quote"
  • 2023.02.09 CATCH
  • 2023.02.10 THROW
  • 2023.02.11 ABORT
  • 2023.02.12 ABORT" "abort-quote"
  • 2023.02.13 (LOCAL) "paren-local-paren"
  • 2023.02.14 LOCALS| "locals-bar"
  • 2023.02.15 {: "brace-colon"
  • 2023.02.16 DEFINITIONS
  • 2023.02.17 FIND
  • 2023.02.18 FORTH-WORDLIST
  • 2023.02.19 GET-CURRENT
  • 2023.02.20 GET-ORDER
  • 2023.02.21 SEARCH-WORDLIST
  • 2023.02.22 SET-CURRENT
  • 2023.02.23 SET-ORDER
  • 2023.02.24 WORDLIST
  • 2023.02.25 ALSO
  • 2023.02.26 FORTH
  • 2023.02.27 ONLY
  • 2023.02.28 ORDER
  • 2023.03.01 PREVIOUS
  • 2023.03.02 >FLOAT "to-float"
  • 2023.03.03 D>F "d-to-f"
  • 2023.03.04 F! "f-store"
  • 2023.03.05 F* "f-star"
  • 2023.03.06 F+ "f-plus"
  • 2023.03.07 F- "f-minus"
  • 2023.03.08 F/ "f-slash"
  • 2023.03.09 F0< "f-zero-less-than"
  • 2023.03.10 F0= "f-zero-equals"
  • 2023.03.11 F< "f-less-than"
  • 2023.03.12 F>D "f-to-d"
  • 2023.03.13 F@ "f-fetch"
  • 2023.03.14 FALIGN
  • 2023.03.15 FALIGNED
  • 2023.03.16 FCONSTANT
  • 2023.03.17 FDEPTH
  • 2023.03.18 FDROP
  • 2023.03.19 FDUP
  • 2023.03.20 FLITERAL
  • 2023.03.21 FLOAT+ "float-plus"
  • 2023.03.22 FLOATS
  • 2023.03.23 FLOOR
  • 2023.03.24 FMAX
  • 2023.03.25 FMIN
  • 2023.03.26 FNEGATE
  • 2023.03.27 FOVER
  • 2023.03.28 FROT
  • 2023.03.29 FROUND
  • 2023.03.30 FSWAP
  • 2023.03.31 FVARIABLE
  • 2023.04.01 REPRESENT
  • 2023.04.02 DF! "d-f-store"
  • 2023.04.03 DF@ "d-f-fetch"
  • 2023.04.04 DFALIGN
  • 2023.04.05 DFALIGNED
  • 2023.04.06 DFFIELD: "d-f-field-colon"
  • 2023.04.07 DFLOAT+ "d-float-plus"
  • 2023.04.08 DFLOATS "d-floats"
  • 2023.04.09 F** "f-star-star"
  • 2023.04.10 F. "f-dot"
  • 2023.04.11 F>S "f-to-s"
  • 2023.04.12 FABS "f-abs"
  • 2023.04.13 FACOS "f-a-cos"
  • 2023.04.14 FACOSH "f-a-cosh"
  • 2023.04.15 FALOG "f-a-log"
  • 2023.04.16 FASIN "f-a-sin"
  • 2023.04.17 FASINH "f-a-cinch"
  • 2023.04.18 FATAN "f-a-tan"
  • 2023.04.19 FATAN2 "f-a-tan-two"
  • 2023.04.20 FATANH "f-a-tan-h"
  • 2023.04.21 FCOS "f-cos"
  • 2023.04.22 FCOSH "f-cosh"
  • 2023.04.23 FE. "f-e-dot"
  • 2023.04.24 FEXP
  • 2023.04.25 FEXPM1
  • 2023.04.26 FFIELD:
  • 2023.04.27 FLN
  • 2023.04.28 FLNP1
  • 2023.04.29 FLOG
  • 2023.04.30 FS. "f-s-dot"
  • 2023.05.01 FSIN
  • 2023.05.02 FSINCOS
  • 2023.05.03 FSINH
  • 2023.05.04 FSQRT
  • 2023.05.05 FTAN
  • 2023.05.06 FTANH
  • 2023.05.07 FTRUNC
  • 2023.05.08 FVALUE
  • 2023.05.09 F~ "f-proximate"
  • 2023.05.10 PRECISION
  • 2023.05.11 S>F "s-to-f"
  • 2023.05.12 SET-PRECISION
  • 2023.05.13 SF! "s-f-store"
  • 2023.05.14 SF@ "s-f-fetch"
  • 2023.05.15 SFALIGN "s-f-align"
  • 2023.05.16 SFALIGNED "s-f-aligned"
  • 2023.05.17 SFFIELD: "s-f-field-colon"
  • 2023.05.18 SFLOAT+ "s-float-plus"
  • 2023.05.19 SFLOATS "s-floats"
  • 2023.05.20 X-SIZE
  • 2023.05.21 XC!+ "x-c-store-plus"
  • 2023.05.22 XC!+? "x-c-store-plus-query"
  • 2023.05.23 XC, "x-c-comma"
  • 2023.05.24 XC-SIZE "x-c-size"
  • 2023.05.25 XC@+ "x-c-fetch-plus"
  • 2023.05.26 XCHAR+ "x-char-plus"
  • 2023.05.27 XEMIT "x-emit"
  • 2023.05.28 XKEY "x-key"
  • 2023.05.29 XKEY? "x-key-query"
  • 2023.05.30 +X/STRING "plus-x-string"
  • 2023.05.31 -TRAILING-GARBAGE "minus-trailing-garbage"
  • 2023.06.01 CHAR
  • 2023.06.02 EKEY>XCHAR "e-key-to-x-char"
  • 2023.06.03 PARSE
  • 2023.06.04 X-WIDTH
  • 2023.06.05 XC-WIDTH "x-c-width"
  • 2023.06.06 XCHAR- "x-char-minus"
  • 2023.06.07 XHOLD "x-hold"
  • 2023.06.08 X\STRING- "x-string-minus"
  • 2023.06.09 [CHAR] "bracket-char"
  • 2023.06.10 ;CODE "semicolon-code"
  • 2023.06.11 AHEAD
  • 2023.06.12 ASSEMBLER
  • 2023.06.13 BYE
  • 2023.06.14 CODE
  • 2023.06.15 CS-PICK "c-s-pick"
  • 2023.06.16 CS-ROLL "c-s-roll"
  • 2023.06.17 EDITOR
  • 2023.06.18 FORGET
  • 2023.06.19 N>R "n-to-r"
  • 2023.06.20 NAME>COMPILE "name-to-compile"
  • 2023.06.21 NAME>INTERPRET "name-to-interpret"
  • 2023.06.22 NAME>STRING "name-to-string"
  • 2023.06.23 NR> "n-r-from"
  • 2023.06.24 STATE
  • 2023.06.25 SYNONYM
  • 2023.06.26 TRAVERSE-WORDLIST
  • 2023.06.27 [DEFINED] "bracket-defined"
  • 2023.06.28 [ELSE] "bracket-else"
  • 2023.06.29 [IF] "bracket-if"
  • 2023.06.30 [THEN] "bracket-then"
  • 2023.07.01 [UNDEFINED] "bracket-undefined"
  • 2023.07.02 BLK
  • 2023.07.03 BLOCK
  • 2023.07.04 BUFFER
  • 2023.07.05 EVALUATE
  • 2023.07.06 FLUSH
  • 2023.07.07 LOAD
  • 2023.07.08 SAVE-BUFFERS
  • 2023.07.09 UPDATE
  • 2023.07.10 EMPTY-BUFFERS
  • 2023.07.11 LIST
  • 2023.07.12 REFILL
  • 2023.07.13 SCR
  • 2023.07.14 THRU
  • 2023.07.15 \ "backslash"
  • 2023.07.16 2CONSTANT "two-constant"
  • 2023.07.17 2LITERAL "two-literal"
  • 2023.07.18 2VARIABLE "two-variable"
  • 2023.07.19 D+ "d-plus"
  • 2023.07.20 D- "d-minus"
  • 2023.07.21 D. "d-dot"
  • 2023.07.22 D.R "d-dot-r"
  • 2023.07.23 D0< "d-zero-less"
  • 2023.07.24 D0= "d-zero-equals"
  • 2023.07.25 D2* "d-two-star"
  • 2023.07.26 D2/ "d-two-slash"
  • 2023.07.27 D< "d-less-than"
  • 2023.07.28 D= "d-equals"
  • 2023.07.29 D>S "d-to-s"
  • 2023.07.30 DABS
  • 2023.07.31 DMAX
  • 2023.08.01 DMIN
  • 2023.08.02 DNEGATE
  • 2023.08.03 M*/ "m-star-slash"
  • 2023.08.04 M+ "m-plus"
  • 2023.08.05 2ROT "two-rote"
  • 2023.08.06 2VALUE "two-value"
  • 2023.08.07 DU< "d-u-less"
  • 2023.08.08 AT-XY "at-x-y"
  • 2023.08.09 KEY? "key-question"
  • 2023.08.10 PAGE
  • 2023.08.11 +FIELD "plus-field"
  • 2023.08.12 BEGIN-STRUCTURE
  • 2023.08.13 CFIELD: "c-field-colon"
  • 2023.08.14 EKEY
  • 2023.08.15 EKEY>CHAR "e-key-to-char"
  • 2023.08.16 EKEY>FKEY "e-key-to-f-key"
  • 2023.08.17 EKEY? "e-key-question"
  • 2023.08.18 EMIT? "emit-question"
  • 2023.08.19 END-STRUCTURE
  • 2023.08.20 FIELD: "field-colon"
  • 2023.08.21 K-ALT-MASK
  • 2023.08.22 K-CTRL-MASK
  • 2023.08.23 K-DELETE
  • 2023.08.24 K-DOWN
  • 2023.08.25 K-END
  • 2023.08.26 K-F1
  • 2023.08.27 K-F10
  • 2023.08.28 K-F11
  • 2023.08.29 K-F12
  • 2023.08.30 K-F2
  • 2023.08.31 K-F3
  • 2023.09.01 K-F4
  • 2023.09.02 K-F5
  • 2023.09.03 K-F6
  • 2023.09.04 K-F7
  • 2023.09.05 K-F8
  • 2023.09.06 K-F9
  • 2023.09.07 K-HOME
  • 2023.09.08 K-INSERT
  • 2023.09.09 K-LEFT
  • 2023.09.10 K-NEXT
  • 2023.09.11 K-PRIOR
  • 2023.09.12 K-RIGHT
  • 2023.09.13 K-SHIFT-MASK
  • 2023.09.14 K-UP
  • 2023.09.15 MS
  • 2023.09.16 TIME&DATE "time-and-date"
  • 202?.??.?? PubForth 0.TBA.0: Core Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Programming-Tools word set
  • 202?.??.?? PubForth 0.TBA.0: Programming-Tools Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: String word set
  • 202?.??.?? PubForth 0.TBA.0: String Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: File Access word set
  • 202?.??.?? PubForth 0.TBA.0: File Access Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Extended-Character word set
  • 202?.??.?? PubForth 0.TBA.0: Extended-Character Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Locals word set
  • 202?.??.?? PubForth 0.TBA.0: Locals Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Block word set
  • 202?.??.?? PubForth 0.TBA.0: Block Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Double-Number word set
  • 202?.??.?? PubForth 0.TBA.0: Double-Number Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Exception word set
  • 202?.??.?? PubForth 0.TBA.0: Exception Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Facility word set
  • 202?.??.?? PubForth 0.TBA.0: Facility Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Floating-Point word set
  • 202?.??.?? PubForth 0.TBA.0: Floating-Point Extensions word set
  • 202?.??.?? PubForth 0.TBA.0: Memory-Allocation word set
  • 202?.??.?? PubForth 0.TBA.0: Search-Order word set
  • 202?.??.?? PubForth 0.TBA.0: Search-Order Extensions word set
  • 202?.??.?? PubForth 1.0.0