ANEW --Nice-Locals-- \ Wil Baden 2002-04-05 \ ******************************************************************* \ * * \ * Wil Baden 2002-04-05 * \ * * \ * Nice Locals for PMF * \ * * \ * SwiftForth uses "{" for comments. MPE uses "{" for locals. * \ * * \ * So divide and concur. * \ * * \ * Missing words are in SwiftForth and my PowerMacForth. * \ * * \ ******************************************************************* : Append-Reverse-Words-in-String ( "name ...}" -- ) BEGIN -TRAILING dup WHILE dup >R BL BACK dup >R 2dup chars + 2R> - QPAD APPEND S" " QPAD APPEND REPEAT 2DROP ; : LOCAL{ ( "name" ... }" -- ) [char] } PARSE ( str len) 2dup S" --" SEARCH IF NIP - ELSE 2DROP THEN S" LOCALS| " >QPAD DROP Append-Reverse-Words-in-String ( ) S" |" QPAD APPEND QPAD COUNT EVALUATE ; IMMEDIATE : COMMENT{ [char] } Skip-Past ; IMMEDIATE \ As far as I can see SwiftForth source uses "{" only when \ interpreting. Locals are used only when compiling. : { STATE @ IF postpone LOCAL{ ELSE postpone COMMENT{ THEN ; IMMEDIATE MARKER --TEST-- : TEST { first second -- } first . second . first second + . ; 1 2 TEST --TEST-- \\ *************************** Nice Locals *************************** \ TEST isn't unique 1 2 3