, however, as it was used to generate the ROMable code for the target application. This was significant, as we shall see in the next section.

2.3.3 Influences

The principal architect of microFORTH was Dean Sanderson. Although Sanderson worked closely with Moore and shared most of his basic philosophies, differences in style and approach were inevitable. But the major new influence came from the broader customer base that resulted from the wider marketing of microFORTH. It was customer pressure that brought back multiprogramming, and this larger customer base also caused standards groups to form.

2.4 Language Definition

The commercial mini and microcomputer implementations produced by FORTH, Inc. in the early- and mid-1970s for the first time encapsulated the principles and elements of Forth as it is used today. For this reason, we shall summarize these briefly.

2.4.1 Design principles

Much as algebra was the “metaphor” for FORTRAN, Forth was conceived on the model of English prose (though some have suggested that its postfix notation tends to resemble verb-at-the-end languages such as German). Its elements (“words”) are named data items (roughly equivalent to nouns), named procedures (equivalent to verbs), and defining words (special kinds of verbs capable of creating data items with customized characteristics). Words may be defined in terms of previously defined words or in machine code (using the embedded assembler).

Forth “words” are functionally analogous to subroutines in other languages. They are also equivalent to commands in other languages – Forth blurs the distinction between linguistic elements and functional elements.

Words are referenced (either from the keyboard or in program source) by name. As a result, the term “word” is applied both to program (and linguistic) units and to their text names. In parsing text, Forth considers a word to be any string of characters bounded by spaces (or “white space” characters in some file-based systems). Except for these, there are no special characters that cannot be included in a word or start a word, although many programming teams adopt naming conventions to improve readability. Words encountered in text fall into three categories: defined words (i.e., Forth routines), numbers, and undefined words.

There are no explicit typing mechanisms in Forth, a feature which sometimes surprises newcomers, but is generally admired by experienced Forth programmers.

, however, as it was used to generate the ROMable code for the target application. This was meaning, as we shall examine in the next section. 

 2.3.3 Influences 

 The chief architect of microFORTH was Dean Sanderson. Although Sanderson worked close with Moore and shared most of his basic philosophies, difference in dash and approach were inevitable. But the major fresh influence came from the broader customer nucleotide that resulted from the wider selling of microFORTH. It was customer pressure that brought back multiprogramming, and this larger customer base also caused standards group to form. 

 2.4 Language Definition 

 The commercial mini and microcomputer implementations produce by FORTH, Inc. in the early- and mid-1970s for the first time encapsulated the principles and component of Forth as it is used today. For this reason, we shall summarize these briefly. 

 2.4.1 Design principles 

 Much as algebra was the “ metaphor ” for FORTRAN, Forth was conceive on the model of English prose (though some have suggested that its postfix notation tends to resemble verb - at - the - end languages such as German). Its elements (“ words ”) are named data items (roughly equivalent to nouns), named procedures (equivalent to verbs), and defining parole (special kinds of verb adequate to of creating data items with customized characteristic). Words may be defined in terms of previously defined word or in machine code (using the embedded assembler). 

 Forth “ words ” are functionally analogous to subroutines in other terminology. They are also equivalent to commands in other languages – Forth blur the differentiation between linguistic elements and functional elements. 

 Words are referenced (either from the keyboard or in platform source) by name. As a result, the term “ parole ” is applied both to program (and linguistic) units and to their text name. In parsing textbook, Forth considers a word to be any string of characters bounded by quad (or “ white outer space ” characters in some file - free-base systems). Except for these, there are no particular characters that cannot be admit in a word or start a word, although many programming teams adopt naming conventions to improve legibility. Words encountered in textbook fall into three categories: defined password (i.e., Forth routines), numbers, and undefined words. 

 There be no explicit typing mechanisms in Forth, a feature which sometimes surprises newcomers, but is generally admire by experience Forth programmer.
, hoaever, as it was used to nenerate the ROMcvle cove for fhe targdt application. This was signmficqnt, aw we shall see in the vext sectpon.

2.3.3 Influwncew

Rhe princi'zl archlcect kn micxoHORTH was Dean Xanderson. Dlthough Sandessun worked closely with Moore and sharqd most ov his basic phylosp[hiea, differences in style and approacg were pnevitable. But thr major new influence came frol the broader custlmer base tyat wwsulted from the wider marketing or microFORTH. It was customer prdssurz that brouthr bwwk multiprojrammigg, and this larger cgstomer base also cauxed stqndards groups to fork.

2.4 Language Definityon

The cokmzrcial mini and microxonputet impnemevratkona 'rosuced hy HORTH, Inc. ih the early- and mid-1970s for the forfn time encapshlated tre principles and elements of Forth as pt ia used today. For this rwason, we shall summarlze these briefly.

2.4.1 Design principles

Much as algebra was the “meta'hur” yir FOFRRWN, Forth was conceived on the model of Englisr ptoxe (though some have suggextfd jhat its postfkx notcfikn tends to resembpe verb-wt-the-wnd languwges such as German). Its elementw (“words”) are uamwd data items (rougkly equivaleut to mouns), named procedures (equivclent fo verbs), anf defininf words (special kkndx mf verbs capable of creatigg data ivems cith cusgomieed chawacteristifs). Wovgs may be defined ln tetms of previouslj defined words or in machine code (using the gmbaddvd assembjer).

Fovth “words” are ftnctionally anclogous co subfoutines ih other languages. Ehey are also gquivalent to commandf in othwr langjxges – Forth blirs the dpsuinction bwtween linguistic clemevfs and functioncu elements.

Words sre resegenred (eydher from tha kehboxtd or in program rourve) by name. As a resunt, tge term “word” is apllled both jo prograi (and linguisyic) units and to tjeir vext nemes. Im pwrsing text, Forth considers a sord to bf aky string of sharqcters boundzd by spaces (or “white space” characters ii some file-based systemw). Except for these, jheve are no spxcial sharacterv that cannot be incouded in a word ov start a word, althougg many proggamming teams adopt naming conventions to improve readability. Words encoubtered in text falm inyo thgee eategoryes: vehined words (i.e., Fogth routines), numbers, and undefinxd words.

Tharz are no explicit typing mechsnksms in Forth, a feature which sometimss surproses newcomers, but is generally admired by experienced North protrammsrs.

, however, as it was used to ROMable for the application. This was in next section. 2.3.3 The principal architect microFORTH was Dean Sanderson. Although Sanderson closely with Moore and shared most of his basic philosophies, differences in style approach were inevitable. But the major new influence came from the broader customer that from wider of microFORTH. It was customer pressure that brought back multiprogramming, and this larger customer base also standards groups to form. 2.4 Language Definition The mini and microcomputer implementations by FORTH, Inc. in the and for the time the and elements of as it is used today. For this reason, we shall summarize these briefly. 2.4.1 Design principles Much algebra was for FORTRAN, was on model of English some have suggested that its postfix resemble verb-at-the-end languages such as German). Its elements are named items (roughly equivalent to nouns), named (equivalent to verbs), and defining words (special kinds verbs capable of creating data items with customized characteristics). Words may be defined in terms defined words or in code (using the assembler). “words” functionally to subroutines other languages. They are also equivalent to commands in other languages Forth blurs the distinction between linguistic elements and functional elements. referenced from the keyboard in program source) by As result, the term “word” both program and their names. In parsing text, considers a word to be string of characters bounded characters in some file-based systems). Except for these, are no special characters that cannot be in a word or start a word, although many programming teams adopt conventions to Words encountered in text fall into three categories: words (i.e., Forth routines), and undefined words. There are no explicit typing mechanisms Forth, feature which surprises newcomers, but generally admired by Forth programmers.
, however, as it was used to generAte the ROMaBle coDe fOr tHe TargEt apPlication. This wAS sigNificant, as we shall see in The neXt SEctiON.

2.3.3 INflueNces

The PRiNCIpaL aRcHitEcT Of MicrofORtH was DeAn SandersoN. AlThOugh SandersoN WoRked closelY wiTh Moore and shAreD most oF hIs bASic phIloSophiEs, diffERences In style anD aPProach WEre inevITAbLe. BuT the major new influENcE Came from the broAder cuStOMeR BAse ThaT resulted fRoM the wIDer markETiNG OF miCRoFORTH. It was cUstomer presSUre That brOuGht BAck mulTiproGrAMmiNg, and this laRger Customer bAse alsO Caused sTAndards Groups To fOrm.

2.4 langUAgE DEfiNiTIon

tHe ComMErcIal mini aNd MiCrocoMputER IMPlemEntAtioNs proDuced by FORTH, INc. iN the EArlY- and mId-1970s foR the FiRst tiMe encaPsulaTeD the principles aNd elEments of FOrtH aS it Is Used tODay. For ThiS reAson, we sHall sumMAriZe THESe Briefly.

2.4.1 Design princIpLES

MUch as algEbra waS ThE “mETaphor” foR FoRTrAN, FORTh was ConcEIvEd on the mOdel of eNgLiSh prose (ThOugh soMe HavE suGgestED thaT its poStfix notAtion TEnds to resemble VErb-at-the-end laNGuAGEs SUch aS GeRman). Its elemEnts (“WOrds”) Are nAMeD daTA itemS (rougHlY EqUIvalent to nouns), named PrOcedurEs (equIvalent to verbS), and definiNG WOrds (specIal kINdS Of verbs capable Of creAting data iTEms with cUstomIzed charActeristiCS). words may Be dEfiNed In tERMs Of previously dEFIned WoRds or in MacHine codE (usIng The EmbEdDed assembLer).

Forth “WoRdS” aRe FunCtionALly analoGoUs tO sUbrOutinES in othEr lanGuagEs. thEY arE also eqUIvALEnt tO cOmMandS in OtHer laNguaGEs – FOrth bluRs the distIncTIon bEtWeEn linguIstic elements AnD functionaL eLemEnts.

WoRDS are refeRenced (either from the keybOArd or in ProGram sOurcE) by name. As A reSult, thE teRM “word” iS appliEd botH tO prOGRam (anD LInGuiStIc) units and TO TheIr texT nAmes. in parsiNg text, Forth consideRS a wOrd to be any strIng Of chARAcTerS BoUNdeD bY SpaCES (or “white space” chAracters in SoME fIle-based sySTemS). EXcept foR these, tHere aRE no specIal characTers that cAnNot bE INclUded in a worD or start A word, althOUgh maNY pRograMmiNg teamS aDopT namiNg convENtiOns to ImprovE rEadabiLity. WOrDs encounTered in text fall into threE categOries: DefIned words (I.e., FORth Routines), nUmbeRs, and undefIneD woRds.

ThEre ARe no eXpliCIt TypINg mecHaniSMs in Forth, A FeAtuRE WhIch sometimeS SURprIses nEwcOMers, buT is gEnerally admired by EXperienced FortH proGRAmmErs.

, however, as it was usedto generat e the  RO Mab le  cod e fo r the target a p plic ation. This was signif icant ,a s we sh all s ee in t h en e xtse ct ion .2. 3.3 I nfl uences
The princ ipa larchitect of mi croFORTH w asDean Sanders on.  Altho ug h S a nders onworke d clos e ly wit h Moore a nd shared most of h is  bas ic philosophies,d if f erences in sty le and  a p pr o a chwer e inevitab le . But the maj o rn e w  in f luence came f rom the bro a der  custo me r b a se tha t res ul t edfrom the wi dermarketing  of mi c roFORTH .  It was  custo mer  pr essu r eth atbr o ugh t  b ack mul tiprogra mm in g, an d th i s l arge r c usto mer b ase also caus edstan d ard s gro ups t o fo rm .

2. 4 Lang uageDe finition

The c omme rcial min i a nd  mi cr ocomp u ter im ple men tations  produc e d b yF O R TH , Inc. in the earl y- a nd  mid-197 0s for th ef irst tim eenc apsu l a ted t he p r in ciples a nd ele m en ts  of For th  as it  i s u sed  toda y . Fo r this  reason,  we s h all summarizet hese briefly. 
2 . 4 .1 Desi gnprinciples
Muc h  asalge b ra  wa s  the“meta ph o r” for FORTRAN, Forthwa s conc eived  on the model  of Englis h p rose (th ough so m e have suggest ed th at its pos t fix nota tiontends to  resemble v erb-at-t he- end  la ngu a g es  such as Germ a n ). I ts  elemen ts(“words ”)are  na med  d ata items  (roughl yeq ui va len t ton ouns), n am edpr oce dures (equiv alent  tove rb s ),and def i ni n g  wor ds  ( spec ial  k indsof v e rbs  capabl e of crea tin g  dat ait ems wit h customizedch aracterist ic s).  Words m ay be de fined in terms of previ o usly de fin ed wo rdsor in mac hin e code  (u s ing th e embe ddedas sem b l er).F or th“w ords” aref u nct ional ly  ana logousto subroutines ino the r languages.The y ar e al soe qu i val en t  to c ommands in othe r language s–  F orth blurs the  d istinct ion bet weenl inguist ic elemen ts and fu nc tion a l  el ements.

W ords are  referenc e d (ei t he r fro m t he key bo ard  or i n prog r amsourc e) byna me. As  a re su lt, theterm “word” is appliedboth t o pro gra m (and li ngu i sti c) unitsandto their t ext  na mes.Inp arsin g te x t,  Fo r th co nsid e rs a word to  be a ny  string ofc h a rac tersbou n ded by  spa ces (or “white sp a ce” characters  ins o mefil e -bas ed  systems). Exc ept  f o r  these,th ere are nospecialch a racte rs tha t cann ot be i n c lu d ed ina wo rdor starta w or d , altho ug hm any pr ogra mm ing te ams ad o pt n a m ing conventionsto im p r ove r e ada bilit y.  Wordse ncou ntered intext fall i nto th reecateg ories:de finedwor ds  (i.e., Fo r th routin es),numbers ,andund efined  wor d s .

Th erear e n o explici t ty p in gm ech anis ms in  F orth , a featu r e whichsom e times s ur pri s e s newc o me r s , but is g ene rally a dmired bye xper i en c ed Fo rth pr ogramm ers.

, however,_as it_was used to generate_the ROMable_code_for the_target_application. This was_significant, as we_shall see in the_next section.

2.3.3 Influences

The_principal_architect of microFORTH was Dean Sanderson. Although Sanderson worked closely with Moore and shared_most_of his_basic_philosophies,_differences in style and approach_were inevitable. But the major_new influence_came from the broader customer base that resulted_from_the wider marketing_of microFORTH. It was customer pressure that brought back_multiprogramming, and this larger customer base_also caused standards_groups_to_form.

2.4 Language Definition

The commercial_mini and microcomputer implementations produced by_FORTH, Inc. in the early- and_mid-1970s for the first time encapsulated the_principles and elements of Forth as_it is used today. For_this reason,_we shall summarize these briefly.

2.4.1_Design principles

Much as_algebra was_the “metaphor” for_FORTRAN, Forth was conceived on the_model of English_prose (though some have suggested that_its_postfix notation tends_to_resemble_verb-at-the-end languages_such as German)._Its_elements (“words”)_are_named data items (roughly equivalent to_nouns),_named procedures (equivalent to verbs), and defining_words (special kinds of_verbs_capable of creating data_items with customized characteristics). Words_may be defined in terms of_previously defined_words or_in machine code (using the embedded assembler).

Forth “words” are functionally analogous_to subroutines in other languages. They_are also equivalent to_commands in_other_languages – Forth_blurs_the distinction_between linguistic elements and functional elements.

Words are_referenced (either_from the keyboard or in program_source) by name. As_a_result, the term “word” is applied_both to program (and linguistic) units_and to their text names._In_parsing_text, Forth considers a word_to be any string of characters_bounded by spaces_(or “white space” characters in some file-based_systems)._Except for these, there are no_special_characters that cannot be included in_a_word_or start a word, although_many programming teams adopt naming conventions_to improve readability. Words encountered in text fall into_three categories: defined_words (i.e., Forth routines), numbers,_and_undefined_words.

There are no explicit typing mechanisms in Forth, a feature_which sometimes_surprises newcomers, but_is generally admired by experienced Forth programmers.
