home bbs files messages ]

Forums before death by AOL, social media and spammers... "We can't have nice things"

   comp.lang.forth      Forth programmers eat a lot of Bratwurst      117,927 messages   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]

   Message 116,284 of 117,927   
   Ruvim to Ruvim   
   Re: Test cases for quotations   
   09 Mar 24 22:46:29   
   
   From: ruvim.pinka@gmail.com   
      
   On 2024-03-09 17:52, Ruvim wrote:   
   > On 2024-03-09 16:01, Anton Ertl wrote:   
   [...]   
   >> And probably similarly for ";]".  We would have to check whether all   
   >> systems switch to compilation state after the compilation semantics of   
   >> ;], or whether some restore the state before "[:".   
   >   
   > Entering interpretation state after ";]" occurs only when a quotation is   
   > used in interpretation state. But this use case is not covered by the   
   > specification yet, so switching should not be specified.   
   >   
   >   
   > To add this use case we should specify interpretation semantics for "[:".   
   >   
   > To formally distinguish and specify this two use cases we can introduce   
   > subtypes:   
   >   
   >    quotation-sys-comp => quotation-sys   
   >    quotation-sys-int  => quotation-sys   
   >   
   > And then:   
   >   
   > "[:"   
   > Compilation: ( C: –– quotation-sys-comp colon-sys )   
   > Interpretation: ( C: –– quotation-sys-int colon-sys )   
   >   
   > ":]"   
   > Compilation: ( C: quotation-sys colon-sys -- ) ( -- xt | )   
   > If quotation-sys is quotation-sys-comp [ do some actions ]   
   > If quotation-sys is quotation-sys-int [ do other actions, and enter   
   > interpretation state ]   
      
      
   An idea. A better way is to specify two sections of compilation semantic   
   description in the glossary entry, with different stack diagrams.   
   Similar to pattern matching. It allows to make description easier.   
      
      
   5.6.2.xxxx ":]"   
      
   Compilation:  ( C: quotation-sys-comp colon-sys -- )   
   [ do some actions ]   
      
   Compilation:  ( C: quotation-sys-int colon-sys -- ) ( S: -- xt )   
   [ do other actions, and enter interpretation state ]   
      
      
      
      
   For example, applying this approach to the "SET-ORDER" glossary entry:   
      
   16.6.1.2197 SET-ORDER   
      
   Execution: ( -1 -- )   
   Set the search order to the implementation-defined minimum search order.   
   The minimum search order shall include the words FORTH-WORDLIST and   
   SET-ORDER.   
      
   Execution: ( 0 -- )   
   Empty the search order.   
      
   Execution: ( widn ... wid1 +n -- )   
   Set the search order to the word lists identified by widn ... wid1.   
   Subsequently, word list wid1 will be searched first, and word list widn   
   searched last.   
      
      
   --   
   Ruvim   
      
   --- SoupGate-Win32 v1.05   
    * Origin: you cannot sedate... all the things you hate (1:229/2)   

[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]


(c) 1994,  bbs@darkrealms.ca