Changeset 22313 for src/Pugs/CodeGen
- Timestamp:
- 09/22/08 19:30:53 (2 months ago)
- Files:
-
- 1 modified
-
src/Pugs/CodeGen/M0ld.hs (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Pugs/CodeGen/M0ld.hs
r22306 r22313 28 28 ++ "$void = $OUT_scalar.\"STORE\"($OUT_root);\n" 29 29 ++ "\n" 30 30 31 ++ "my $Code_scalar = $scope.\"postcircumfix:{ }\"(\"Code\");\n" 31 32 ++ "my $Code_root_scalar = ?SMOP__S1P__RootNamespace.\"postcircumfix:{ }\"(\"::Code\");\n" 32 33 ++ "my $Code = $Code_root_scalar.\"FETCH\"();\n" 33 34 ++ "$void = $Code_scalar.\"STORE\"($Code);\n" 35 36 ++ "my $Scalar_scalar = $scope.\"postcircumfix:{ }\"(\"Scalar\");\n" 37 ++ "my $Scalar_root_scalar = ?SMOP__S1P__RootNamespace.\"postcircumfix:{ }\"(\"::Scalar\");\n" 38 ++ "my $Scalar = $Scalar_root_scalar.\"FETCH\"();\n" 39 ++ "$void = $Scalar_scalar.\"STORE\"($Scalar);\n" 40 34 41 ++ "\n" 35 42 ++ "\n" … … 41 48 ++ "my $Code_scalar = $scope.\"lookup\"(\"Code\");\n" 42 49 ++ "my $Code = $Code_scalar.\"FETCH\"();\n" 50 ++ "my $Scalar_scalar = $scope.\"lookup\"(\"Scalar\");\n" 51 ++ "my $Scalar = $Scalar_scalar.\"FETCH\"();\n" 43 52 44 53 instance EmitM0ld PIL_Environment where … … 49 58 emit statement r = case statement of 50 59 PNil -> return "nil" 51 PPad {} -> return "pad" 60 PPad {pStmts=rest,pScope=SMy,pSyms=[(var,_)]} -> do 61 new_scalar <- uniqueId 62 lexpad_cell <- uniqueId 63 rest <- emit rest r 64 return $ 65 "my " ++ new_scalar ++ " = $Scalar.\"new\"();\n" 66 ++ "my " ++ lexpad_cell ++ " = $scope.\"postcircumfix:{ }\"(" ++ (show var) ++ ");\n" 67 ++ "my $void = " ++ lexpad_cell ++ ".\"STORE\"(" ++ new_scalar ++ ");\n" 68 ++ rest 52 69 PStmts{pStmt=stmt,pStmts=PNil} -> emit stmt r 53 70 PStmts{pStmt=stmt,pStmts=rest} -> do
