comparison cbackend.rhope @ 100:f51c4c17457c

Broken port of parser to compiler
author Mike Pavone <pavone@retrodev.com>
date Mon, 09 Aug 2010 02:03:57 -0400
parents e09c2d1d6d5b
children 43cc42df26cc
comparison
equal deleted inserted replaced
99:e09c2d1d6d5b 100:f51c4c17457c
720 worker <- Make Op[Strip Addref[to call], func] 720 worker <- Make Op[Strip Addref[to call], func]
721 rargs <- Map[args, ["Make Op"]Set Input[1, func]] 721 rargs <- Map[args, ["Make Op"]Set Input[1, func]]
722 722
723 If[[[func]Last NumParams >>] = [-1]] 723 If[[[func]Last NumParams >>] = [-1]]
724 { 724 {
725 freed <- Val[func] 725 prepped <- [[func]Add Raw Line[
726 }{
727 freed <- [func]Add Raw Line["FreeCall"]
728 }
729 prepped <- [[freed]Add Raw Line[
730 [[[["VCPrepCall(" 726 [[[["VCPrepCall("
731 ]Append[worker] 727 ]Append[worker]
732 ]Append[", "] 728 ]Append[", "]
733 ]Append[[rargs]Length] 729 ]Append[[rargs]Length]
734 ]Append[")"] ] 730 ]Append[")"] ]
735 ]Last NumParams <<[[rargs]Length] 731 ]Last NumParams <<[[rargs]Length]
736 732 }{
733 prepped <- [[func]Add Raw Line[
734 [[[[[["VCRePrepCall("
735 ]Append[worker]
736 ]Append[", "]
737 ]Append[[rargs]Length]
738 ]Append[", "]
739 ]Append[[func]Last NumParams >>]
740 ]Append[")"] ]
741 ]Last NumParams <<[[rargs]Length]
742 }
737 743
738 out <- [[[[Fold[["_Val Function Arg C"]Set Input[3, worker], prepped, rargs] 744 out <- [[[[Fold[["_Val Function Arg C"]Set Input[3, worker], prepped, rargs]
739 ]Add Raw Line[ 745 ]Add Raw Line[
740 [[[[[[[["ValCall(" 746 [[[[[[[["ValCall("
741 ]Append[worker] 747 ]Append[worker]