B-FORTH

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.

CONTENTS

What's "B-FORTH"?

"B-FORTH" is a kind of the programming language "FORTH" for the Operating System basis on the specification of "BTRON".

What's "FORTH"?

B-FORTH on B-right/V (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.

What's B-FORTH

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

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.

Executing B-FORTH’s word

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>