User Tools

Site Tools


tutorials:forth

Warning: Undefined array key -1 in /sdf/sys/html/twenex/wiki/inc/html.php on line 1458

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
tutorials:forth [2022/01/08 12:42]
papa
tutorials:forth [2022/06/07 02:10] (current)
rcs correct lack of space after dot commands in examples
Line 1: Line 1:
 [[http://forth.org/whatis.html|Forth]] is a stack-based, RPN-format programming language created by [[https://colorforth.github.io/|Charles H. Moore]] and first released in 1970.  [[http://forth.org/whatis.html|Forth]] is a stack-based, RPN-format programming language created by [[https://colorforth.github.io/|Charles H. Moore]] and first released in 1970. 
 +
 +There are two Forth implementation available.
  
 **FORTH-10** is a Forth language interpreter included in the Panda TOPS-20 distribution. The anonymous programmer describes the implementation as "NOT totally standard". MIDAS assembly language source is available in file ''TOPS20:<UTILITIES>FORTH.MID''. **FORTH-10** is a Forth language interpreter included in the Panda TOPS-20 distribution. The anonymous programmer describes the implementation as "NOT totally standard". MIDAS assembly language source is available in file ''TOPS20:<UTILITIES>FORTH.MID''.
  
-====== Survival Guide ======+**FORTH** is another interpreter originally written on the MIT AI lab DEC-20 called OZ, by John Wilson.
  
-Start the interpreter on TWENEX with the command ''FORTH''. If you have not created an [[#start-up_file|auto-load file]], FORTH-10 will respond with the default greeting and prompt.+====== FORTH-10 Survival Guide ======
  
-  @FORTH+Start the interpreter on TWENEX with the command ''FORTH-10''. If you have not created an [[#start-up_file|auto-load file]], FORTH-10 will respond with the default greeting and prompt. 
 + 
 +  @FORTH-10
   FORTH-10   Type QUIT to exit.   FORTH-10   Type QUIT to exit.
    Ok    Ok
Line 17: Line 21:
   7 3 Ok  ( Push 7 then 3 on stack. )   7 3 Ok  ( Push 7 then 3 on stack. )
   + Ok    ( Remove two items from stack (3 and 7), push the sum on stack, so 10 is only item. )    + Ok    ( Remove two items from stack (3 and 7), push the sum on stack, so 10 is only item. ) 
-  .10 Ok  ( Word . pops top stack item and prints it. Stack is now empty. )+  . 10 Ok  ( Word . pops top stack item and prints it. Stack is now empty. )
      
 Words ''.'', ''+'', ''-'', ''*'', and ''/'' interpret stack items as integer values. For floating-point values, use ''f.'', ''f+'', ''f-'', ''f*'', and ''f/''.   Words ''.'', ''+'', ''-'', ''*'', and ''/'' interpret stack items as integer values. For floating-point values, use ''f.'', ''f+'', ''f-'', ''f*'', and ''f/''.  
  
   3.14159 Ok   3.14159 Ok
-  f.3.14159 Ok      ( f. pops stack and displays as floating-point. )+  f. 3.14159 Ok      ( f. pops stack and displays as floating-point. )
      
 Add new words to the dictionary with the defining words '':'' and '';''. Add new words to the dictionary with the defining words '':'' and '';''.
Line 33: Line 37:
                      ( previous top value, multiply and push product on stack.  )                      ( previous top value, multiply and push product on stack.  )
   7 TIMES5 Ok        ( Execute the word. )   7 TIMES5 Ok        ( Execute the word. )
-  .35  Ok            ( Pop and display result. )+  . 35  Ok            ( Pop and display result. )
      
 List words currently defined in the dictionary with ''VLIST''. List words currently defined in the dictionary with ''VLIST''.
Line 47: Line 51:
 Forth source files can be prepared with any editor. Load and interpret source files in FORTH-10 with the command ''LOAD "//file//"''. Forth source files can be prepared with any editor. Load and interpret source files in FORTH-10 with the command ''LOAD "//file//"''.
  
-===== Hello, World! =====+====== Hello, World! ======
  
   : HELLO CR ." "HELLO, WORLD!" CR ; Ok   : HELLO CR ." "HELLO, WORLD!" CR ; Ok
Line 75: Line 79:
  
 At start-up, FORTH-10 searches the user's log-in directory for a file named ''AUTO-LOAD.4TH''. If such a file exists, it is loaded automatically. If the file does not exist, FORTH-10 displays a standard greeting message. At start-up, FORTH-10 searches the user's log-in directory for a file named ''AUTO-LOAD.4TH''. If such a file exists, it is loaded automatically. If the file does not exist, FORTH-10 displays a standard greeting message.
 +
 +====== FORTH ======
 +
 +Start the John Wilson's interpreter on TWENEX with the command ''FORTH''. It will respond with this greeting and prompt.
 +
 +  @FORTH
 +  FORTH/Oz v1 (JohnW)
 +  ok
 +  
 +Exit FORTH with the command ''BYE''.
 +
 +
 +====== Reference ======
 +
 +//Starting FORTH// is the standard introductory text for the Forth language.
 +
 +* Leo Brody, //Starting FORTH//. Forth, Inc. https://www.forth.com/starting-forth/. [Accessed January 8, 2022.]
 +
tutorials/forth.1641645771.txt.gz · Last modified: 2022/01/08 12:42 by papa