Changeset 21930
- Timestamp:
- 08/18/08 09:06:22 (3 months ago)
- Files:
-
- 3 modified
-
misc/elfish/elfX/EmitM0ld.pm (modified) (1 diff)
-
src/Pugs/CodeGen/M0ld.hs (modified) (1 diff)
-
src/Pugs/Compile.hs (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
misc/elfish/elfX/EmitM0ld.pm
r21895 r21930 61 61 if ($n.function eq 'return') { 62 62 my $arguments = $n.capture.arguments; 63 my $positionals = ""; 63 my $positionals_emit = ""; 64 my $positionals_args = ""; 64 65 for $arguments.keys -> $i { 65 $positionals = $positionals ~ $.e($arguments[$i],"pos_" ~ $id ~ "_" ~ $i); 66 $positionals_args = $positionals ~ $.e($arguments[$i],'pos_' ~ $id ~ "_" ~ $i); 67 66 68 } 67 'i_' ~ $id ~ ': $continuation;' ~ "\n" ~ 68 $positionals ~ 69 '$SMOP__SLIME__CurrentFrame.move_capturize('~self.capturize($arguments,$id)~");\n" ~ 70 $ret ~ ': $continuation.$SMOP__ID__setr();' ~ "\n" 69 $positionals_emit ~ 70 '$back.setr('~$positionals_args~");\n" ~ 71 '$interpreter.goto($back);' 71 72 } elsif ($n.function eq 'infix:=') { 72 73 IRx1::Call.new('invocant',$n.capture.arguments[0],'method','STORE','capture',IRx1::Capture.new('arguments',[$n.capture.arguments[1]])).callback(self,$ret); -
src/Pugs/CodeGen/M0ld.hs
r21848 r21930 11 11 genM0ld filepath = do 12 12 penv <- compile () :: Eval PIL_Environment 13 return $ VStr $ filepath++"\n"13 return $ VStr $ (show penv) -
src/Pugs/Compile.hs
r21673 r21930 209 209 compile (Ann _ rest) = compile rest 210 210 compile Noop = return PNoop 211 {- 211 212 compile (Val val) = do 212 213 cxt <- asks envContext … … 218 219 compile Noop 219 220 else compile val 221 -} 222 compile (Val val) = compile val 220 223 compile (Syn "loop" [exp]) = 221 224 compile (Syn "loop" $ [emptyExp, Val (VBool True), emptyExp, exp])
