Mercurial > repos > rhope
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] |