Changeset 16344
- Timestamp:
- 05/17/07 23:20:11 (18 months ago)
- Files:
-
- 8 modified
-
src/DrIFT/YAML.hs (modified) (1 diff)
-
src/Pugs/Eval.hs (modified) (2 diffs)
-
src/Pugs/Monads.hs (modified) (1 diff)
-
src/Pugs/Parser.hs (modified) (1 diff)
-
src/Pugs/Parser/Util.hs (modified) (1 diff)
-
src/Pugs/Prim.hs (modified) (1 diff)
-
src/Pugs/Run.hs (modified) (1 diff)
-
third-party/HsSyck/Data/Yaml/Syck.hsc (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/DrIFT/YAML.hs
r16343 r16344 253 253 fromYAMLElem = (newTVarIO =<<) . fromYAMLElem 254 254 255 255 256 asYAMLanchor :: a -> EmitAs YamlNode -> EmitAs YamlNode 256 257 asYAMLanchor x m = do -
src/Pugs/Eval.hs
r16341 r16344 274 274 reduceVar var@MkVar{ v_sigil = sig, v_twigil = twi, v_name = name, v_package = pkg } 275 275 | TAttribute <- twi 276 = reduceSyn (show sig ++ "{}") [ Syn "{}" [_Var " &self", Val (VStr $ cast name)] ]276 = reduceSyn (show sig ++ "{}") [ Syn "{}" [_Var "$__SELF__", Val (VStr $ cast name)] ] 277 277 | TPrivate <- twi 278 = reduceSyn (show sig ++ "{}") [ Syn "{}" [_Var " &self", Val (VStr $ cast name)] ]278 = reduceSyn (show sig ++ "{}") [ Syn "{}" [_Var "$__SELF__", Val (VStr $ cast name)] ] 279 279 | otherwise = do 280 280 v <- findVar var … … 1461 1461 applyMacroResult VUndef = retEmpty 1462 1462 applyMacroResult _ = fail "Macro did not return an AST, a Str or a Code!" 1463 fixSub MkCode{ subType = SubPrim } env = env1464 1463 fixSub sub env = env 1465 1464 { -- envLexical = subPad sub -- XXX - fake in-pad knowledge? -
src/Pugs/Monads.hs
r16342 r16344 232 232 runBlocks (filter (rejectKeepUndo rv . subName) . subLeaveBlocks) 233 233 234 when (rv == VControl (ControlLoop LoopLast)) $235 -- We won't have a chance to run the LAST block236 -- once we exit outside the lexical block, so do it now237 runBlocks subLastBlocks238 239 assertBlocks subPostBlocks "POST"240 case rv of241 VControl l@(ControlLeave ftyp depth val) -> do242 let depth' = if ftyp typ then depth - 1 else depth243 if depth' < 0244 then return val245 else retControl l{ leaveDepth = depth' }246 VControl ControlExit{} -> retShift rv247 VError{} -> do248 -- XXX - Implement CATCH block here249 retShift rv250 _ -> return rv234 when (rv == VControl (ControlLoop LoopLast)) $ 235 -- We won't have a chance to run the LAST block 236 -- once we exit outside the lexical block, so do it now 237 runBlocks subLastBlocks 238 239 assertBlocks subPostBlocks "POST" 240 case rv of 241 VControl l@(ControlLeave ftyp depth val) -> do 242 let depth' = if ftyp typ then depth - 1 else depth 243 if depth' < 0 244 then return val 245 else retControl l{ leaveDepth = depth' } 246 VControl ControlExit{} -> retShift rv 247 VError{} -> do 248 -- XXX - Implement CATCH block here 249 retShift rv 250 _ -> return rv 251 251 where 252 252 rejectKeepUndo VUndef = (/= __"KEEP") -
src/Pugs/Parser.hs
r16342 r16344 2067 2067 let methName = ('&':cast (v_name var)) 2068 2068 postApp <- ruleInvocationArguments Nothing methName False 2069 return $ Syn (shows (v_sigil var) "{}") [postApp (_Var " &self")]2069 return $ Syn (shows (v_sigil var) "{}") [postApp (_Var "$__SELF__")] 2070 2070 _ -> return exp 2071 2071 -
src/Pugs/Parser/Util.hs
r16342 r16344 189 189 , isWritable = True 190 190 , isLazy = False 191 , paramName = cast " &self"191 , paramName = cast "$__SELF__" 192 192 , paramContext = CxtItem typ 193 193 , paramDefault = Noop -
src/Pugs/Prim.hs
r15829 r16344 88 88 return $ VStr tmp 89 89 op0 "Pugs::Internals::pi" = const $ return $ VNum pi 90 op0 "self" = const $ expToEvalVal (_Var " &self")90 op0 "self" = const $ expToEvalVal (_Var "$__SELF__") 91 91 op0 "say" = const $ op1 "IO::say" (VHandle stdout) 92 92 op0 "print" = const $ op1 "IO::print" (VHandle stdout) -
src/Pugs/Run.hs
r16343 r16344 277 277 -- print "Loading yaml..." 278 278 --(glob, ast) <- fromYAML yml 279 cleanSeen 279 280 MkCompUnit _ glob ast <- io $ fromYAML yml 280 281 -- print "Loading done!" 282 z <- stm $ join (findSym (cast "&*__fail") glob) 283 -- j <- showYaml z 284 -- print j 281 285 stm $ modifyTVar (envGlobal env) (`unionPads` glob) 282 286 runEnv env{ envBody = ast, envDebug = Nothing } -
third-party/HsSyck/Data/Yaml/Syck.hsc
r16343 r16344 71 71 deriving (Show, Ord, Eq, Enum) 72 72 73 maxId :: SYMID 74 maxId = maxBound 75 73 76 nilNode :: YamlNode 74 nilNode = MkNode 0ENil Nothing ASingleton77 nilNode = MkNode maxId ENil Nothing ASingleton 75 78 76 79 {-# INLINE unpackBuf #-} … … 87 90 88 91 mkNode :: YamlElem -> YamlNode 89 mkNode x = MkNode 0x Nothing ASingleton92 mkNode x = MkNode maxId x Nothing ASingleton 90 93 91 94 mkTagNode :: String -> YamlElem -> YamlNode 92 mkTagNode tag e = MkNode 0e (Just $! packBuf tag) ASingleton95 mkTagNode tag e = MkNode maxId e (Just $! packBuf tag) ASingleton 93 96 94 97 mkTagStrNode :: String -> String -> YamlNode … … 185 188 emitNode freeze e n | ESeq sq <- n_elem n = do 186 189 withTag n (Ptr "array"##) $ \tag -> 187 syck_emit_seq e tag seqInline 190 -- syck_emit_seq e tag seqInline 191 syck_emit_seq e tag seqNone 188 192 mapM_ (syck_emit_item e) =<< mapM freeze sq 189 193 syck_emit_end e … … 191 195 emitNode freeze e n | EMap m <- n_elem n = do 192 196 withTag n (Ptr "map"##) $ \tag -> 193 syck_emit_map e tag mapInline 197 -- syck_emit_map e tag mapInline 198 syck_emit_map e tag mapNone 194 199 flip mapM_ m (\(k,v) -> do 195 200 syck_emit_item e =<< freeze k … … 262 267 263 268 return (fromIntegral symId) 269 270 return symId 264 271 265 272 badAnchorHandlerCallback :: BadAnchorTable -> SyckBadAnchorHandler
