PILOT is a simple programming language which was developed in 1962 to be used in Computer-Aided Instruction (CAI). This basically means that teachers would write interactive programs to be used by students instead of using "old-fashioned" textbooks. Needless to say, this idea has not caught on very widely, and PILOT is not used much anymore. The name PILOT comes from the full name: Programmed Inquiry, Learning, Or Teaching. A formal IEEE standard was established in 1991, and not a whole lot has been done since.
The standard PILOT language supports 11 statements for handling basic tasks such as input, output, text matching, graphics, and file i/o. Unfortunately, the standard says absolutely nothing about how to handle the last two functions, so many PILOT implementations do not handle them. A simple PILOT program might look like this:
T: Hello, welcome to my program. Please enter a number
A: #num
C: #ans = #num + 7
T: You entered #num. #num + 7 = #ans
This simple program would greet the user, ask for a number, take that number and add 7 to it, then print out the result of the addition. For an intro to the language, you might want to check out the RPilot Documentation.
RPilot, or Rob's PILOT, is a free (aka Open Source) PILOT interpreter which is available to whoever wants it. There are three different "distributions", the DOS, OS/2, and Unix versions. The program is the same, only a few trivial things are changed. RPilot support the following statements:
Accept
- For inputRemark
- For commentsType
- For outputJump
- For controlling program flowUse
- For calling subroutinesEnd
- For ending subroutinesMatch
- For matching text to user inputCompute
- For storing and calculating variable valuesYes
and No
- For another way to handle outputRPilot also supports the following extensions to standard PILOT:
Execute
- For executing a line of PILOT codeShell
- For allowing access to the operating system shellGenerate
- For generating random numbersDebug
- For debugging broken programsRPilot also sports a larger number of mathematical operators than standard
PILOT: +, -, *, \, &, |, %, and ^
. RPilot is listed in the
Free Compilers and Interpreters List.
I got the idea for this after seeing a file entitled "Write a compiler in
QBasic" somewhere. Although I had/have no intention of using BASIC to write
anything, I looked at it, wondering who had ever
done such a thing. The author really only did a very brief intro to basic
compiler principles, and didn't present a whole lot of useful information.
His compiler was
going to be for PILOT, and he included a glimpse at the language.
PILOT being so simple, a compiler for it probably could be written in QBasic,
but you'd permanently damage your brain trying to do so. RPilot is written in C,
and therefore does not make any use of the small amount of code the author
supplied. It's also not a complier, but that's not important :)
Here is a list of the other PILOT interpreters that I know of: