Language Specification Version
0.0.0.5(0.0.1-alpha)
October 15, 1999
This Language Specification
is under construction (in the Requirement phase) now. This specification
may be greatly changed in the process of a future design. If you will implement
this specification, you should be careful... Hum.., It isn't time to implement,
is it? ;-P
This specification is copyright by
Masamichi Beppu(masamichi.beppu@attglobal.net), now. It is free to
build, distribute and sell the software on the basis of this language specification,
except due to show the copyright of this specification. But, The copyright
of "Sourcecode" is in a person who make it.
"B-FORTH" is a kind of the programming language
"FORTH" for the Operating System basis on the specification of "BTRON".
First "FORTH" system has created
by Charles Moore when he was an engineer of a telescope. It's characteristic
is using RPN(Reverse Poland Notation) in it's programming syntax and stack
oriented execution. Major FORTH related systems are followings:
Adobe Systems
Inc. - PostScript
Sun Microsystems
- OpenBoot
SightDesign(Regy
Corporation) - Mind
In "B-Free" Project (They aims to provide a
free(GPL) BTRON), They provides "Mitten". It
likes Adobe's Postscript.
B-FORTH is second FORTH specification for TRON projects (enclose
BTRON subproject), I know.
I've distributed a FORTH system named
FOX (32bits Forth On X68000) in
1991. It's a compatible to FIG-FORTH except parameter’s data-size. And, It's
an exact position independent application. It runs on all MC680x0 microprocessors
except I/O module in FOX. I still have its source code. But, It’s in a 5-1/4
inches FD. I don’t have an environment to convert it from 5-1/4 to 3 inches.
Does anybody give me a its environment? ;-)
Cf.) X68000 is a graphics and sounds
oriented (likes AMIGA) personal computer in Japan. It was sold in 1988-1996.
B-FORTH's characteristic point is using "Real
Object / Virtual Object Model" of BTRON as word definition and reference.
Using this model, forth system is simplified. When this model will extend
to TCP/IP network in the future, forth's words will defined and referred from
over networks! For more information about this model, see http://tronweb.super-nova.co.jp/btron.html.
FORTH’s dictionary structure is as like as
Hypertext. Therefore, B-FORTH uses “Real Object / Virtual Object Model” as
its disctionary structure.
Programming in B-FORTH realizes coding to “Writing
Paper” (1-Dimension Editor) and/or on B-FORTH’s interpreter console like
as other traditional FORTH systems. It’s syntax is as same as other forth
systems. So, we will talk about only a difference operation and behavior from
other forth systems.
When user defines a new word, user drags “a
Blank Writing Paper (Document)” from “Blank Paper Stack” window and drops
to “B-FORTH words” window named “B-FORTH word list” in Japanese. We call “Tsukande
Pon”(drag and drop) about this operation in Japanese. Then, user names it
as Real Object’s name.
When user defines a new word on the console,
B-FORTH creates the word definition (Real Object), and put the word reference
(Virtual Object) in “B-FORTH words” window.
In “B-FORTH words” window, there are all word
defined.
Now, we define the word named “Kaijoh” in Japanese
to calculate factorial.
In the latest version of BTRON, user
can use over 160,000 kinds of letter. It has more letters than Unicode!
This image is the word definition
of calculation factorial. In this window, a word
framed rectangle is a word reference (this word is already defined). This
frame means “Virtual Object” in BTRON. If you double-click this frame, you
can see the definition of the word you double-clicked.
This word isn’t compiled. Because, this word
has virtual object named
“Compiled factorial” with architecture
name. For example, architecture name is “i386”, “SH-4”.
When a user executes this word and it isn’t
compiled, B-FORTH uses interpreter to execute it. The other hand, B-FORTH
executes it a user compiled as native.
Usually, a user writes B-FORTH
application using writing paper (1-Dimension Editor). A user put the tag
“B-FORTH EXECUTABLE” to this document.
… <Sorry, Still Translating To English Now>