Through a continual process of incremental change, Forth has evolved to meet new challenges in systems and applications programming. colorForth represents one evolutionary step, seeking to maximize speed of compilation and interpretation by minimizing the complexity of these processes. This has been accomplished by a novel approach to source language representation.
Every programming language devised in the past half century, including classical Forth, has defined its source language as a stream of characters. The syntactic elements of this source have been delimited by various punctuation characters. Processing the source requires parsing the stream, one character at a time.
colorForth represents the first known experiment in eliminating the task of parsing from the acts of program compilation and script interpretation. Instead of processing the source code one character at a time each time it is compiled or interpreted, the identification of syntactic elements is done once, by a cooperation between the programmer and the editor, when entering or changing the source.
Instead of storing the source as a stream of characters, the source is stored as a series of pre-parsed syntactic elements. Each pre-parsed word is stored, in binary, in the source file; part of this binary representation is a binary tag which indicates which of 16 syntactic elements the word represents.
When source code is displayed, either on a screen or as HTML, each syntactic element is displayed in a characteristic color. Hence the name, colorForth.