Changeset 14014 for src/Pugs/AST.hs

Show
Ignore:
Timestamp:
10/07/06 15:25:27 (2 years ago)
Author:
audreyt
Message:

* Closure traits in bare-do-once blocks is now recognized:

use v6;
{

ENTER {...}
LEAVE {...}

}

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • src/Pugs/AST.hs

    r13927 r14014  
    206206mergeStmts x y@(Ann ann (Syn syn _)) | isImplicitTopic syn = 
    207207    mergeStmts x (Ann ann (App (_Var "&infix:~~") Nothing [_Var "$_", y])) 
    208 mergeStmts (Ann ann (Syn "sub" [Val (VCode sub)])) y | subType sub == SubBlock = 
     208mergeStmts x@(Ann _ (Syn "sub" [Val (VCode sub)])) y | subType sub == SubBlock = 
    209209    -- bare Block in statement level; annul all its parameters and run it! 
    210     mergeStmts (Ann ann $ subBody sub) y 
    211 mergeStmts x (Ann ann (Syn "sub" [Val (VCode sub)])) | subType sub == SubBlock = 
     210    mergeStmts (Syn "block" [x]) y 
     211mergeStmts x y@(Ann _ (Syn "sub" [Val (VCode sub)])) | subType sub == SubBlock = 
    212212    -- bare Block in statement level; annul all its parameters and run it! 
    213     mergeStmts x (Ann ann $ subBody sub) 
     213    mergeStmts x (Syn "block" [y]) 
    214214mergeStmts x (Stmts y Noop) = mergeStmts x y 
    215215mergeStmts x (Stmts Noop y) = mergeStmts x y 
     
    282282typeMacro name exp = Syn "sub" . (:[]) . Val . VCode $ MkCode 
    283283    { isMulti       = True 
    284     , subName       = cast ("&term:" ++ name) 
     284    , subName       = cast name 
    285285    , subEnv        = Nothing 
    286286    , subType       = SubMacro 
     
    352352    "$*PROGRAM_NAME $*PID $*UID $*EUID $*GID $*EGID @*CHECK @*INIT $*IN " ++ 
    353353    "$*OUT $*ERR $*ARGS $/ %*ENV $*CWD @=POD $=POD $?PUGS_VERSION " ++ 
    354     "$*OS &?BLOCK_EXIT %?CONFIG $*_ $*AUTOLOAD $*PUGS_VERSION" 
     354    "$*OS %?CONFIG $*_ $*AUTOLOAD $*PUGS_VERSION" 
    355355 
    356356typeOfParam :: Param -> Type