Path: utzoo!utgpu!jarvis.csri.toronto.edu!clyde.concordia.ca!uunet!willett!files From: files@willett.UUCP (Mailed File Repository) Newsgroups: comp.lang.forth Subject: LANGUAGE OF ANS FORTH Message-ID: <44.UUL1.3#5129@willett.UUCP> Date: 20 Dec 89 06:01:04 GMT Organization: Latest Link in ForthNet Chain Lines: 31 Date: 12-18-89 (23:34) Number: 332 (Echo) To: IAN GREEN Refer#: 328 From: SYSOP (ECFB/SHIFRIN) Read: NO Subj: LANGUAGE OF ANS FORTH Status: PUBLIC MESSAGE IG> If you or someone has the complete BNF syntax for Forth (I am IG>currently playing with L&Ps F83.COM). This I feel would go a long way IG>towards clarifying the way the language works. Actually, Ian, the point I was trying to make is that Forth isn't usually willing to sit still long enough for someone to develop a detailed syntax. By that I mean that every Forth token is eligible for redefinition and may alter the syntax of itself and subsequent string. For example, Forth programs may redefine or add IF or DO type control sructures, may redefine constants e.g. 99 CONSTANT 5 \ 5 now means 99! can even redefine existing functions in terms of themselves e.g. : DUP DUP ." DUPing " . CR DUP ; \ Trace uses of DUP and, in fact, can even redefine defining words like : CONSTANT CREATE ! DOES> @ DUP .S ; : : : 1 #DEFS +! ; which redefines colon in terms of itself and adds a little counter. So, while you could get a BNF description of typical usage, it doesn't really define the language. --- * QDeLuxe 1.10 #214s