Changeset 22251 for src/Pugs/CodeGen
- Timestamp:
- 09/15/08 10:58:57 (3 months ago)
- Files:
-
- 1 modified
-
src/Pugs/CodeGen/M0ld.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/CodeGen/M0ld.hs
r22196 r22251 21 21 ++ "my $scope;\n" 22 22 ++ "my $void;\n" 23 ++ "my $Code_scalar = $scope.\" postcircumfix:{ }\"(\"Code\");\n"23 ++ "my $Code_scalar = $scope.\"lookup\"(\"Code\");\n" 24 24 ++ "my $Code = $Code_scalar.\"FETCH\"();\n" 25 25 … … 53 53 ++ lexicalPrelude 54 54 ++ body 55 ++ void ++ " = $interpreter.\"return\"(" ++ ret ++ ");\n" 55 ++ "my $continuation = $interpreter.\"continuation\"();\n" 56 ++ "my $back = $continuation.\"back\"();\n" 57 ++ "my $void = $back.\"setr\"(" ++ ret ++ ");\n" 58 ++ "$void = $interpreter.\"goto\"($back);\n" 59 -- ++ void ++ " = $interpreter.\"return\"(" ++ ret ++ ");\n" 56 60 ++ "}));\n") 57 61 PLit {pLit=lit} -> emit lit r … … 82 86 methodCall inv method args r 83 87 PVar {pVarName=name} -> do 84 return $ "my " ++ r ++ " = $scope.\"postcircumfix:{ }\"(\"" ++ name ++ "\");\n" 88 scalar <- uniqueId 89 return $ "my " ++ scalar ++ " = $scope.\"lookup\"(\"" ++ name ++ "\");\n" 90 ++ "my " ++ r ++ " = " ++ scalar ++ ".\"FETCH\"();\n" 85 91 other -> return $ (show other) ++ ";\n" 86 92
