Mercurial > repos > rhope
comparison cbackend.rhope @ 81:dbe95bfec970
Very basic file access is now working; however, there's a bug involving assigning a literal to a named pipe inside a conditional block that needs fixing
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 22 Jul 2010 05:39:08 +0000 |
parents | 0083b2f7b3c7 |
children | 27bb051d631c |
comparison
equal
deleted
inserted
replaced
80:d78613686a38 | 81:dbe95bfec970 |
---|---|
673 | 673 |
674 Get Raw Pointer@C Function[func,psource,pdest:out] | 674 Get Raw Pointer@C Function[func,psource,pdest:out] |
675 { | 675 { |
676 dest <- [pdest]Make Op[func] | 676 dest <- [pdest]Make Op[func] |
677 source <- [psource]Make Op[func] | 677 source <- [psource]Make Op[func] |
678 out <- [func]Add Statement[ [[[dest]Append[" = &("]]Append[source]]Append["->payload)"] ] | 678 out <- [func]Add Statement[ [[[dest]Append[" = (void*)("]]Append[source]]Append[" + 1)"] ] |
679 } | 679 } |
680 | 680 |
681 Array Raw Pointer@C Function[func,psource,pdest:out] | 681 Array Raw Pointer@C Function[func,psource,pdest:out] |
682 { | 682 { |
683 dest <- [pdest]Make Op[func] | 683 dest <- [pdest]Make Op[func] |
776 } | 776 } |
777 } | 777 } |
778 | 778 |
779 Func Base@C Function[func,tocall,args,type:out] | 779 Func Base@C Function[func,tocall,args,type:out] |
780 { | 780 { |
781 Print[ [[func]Name >>]Append[ [": Func Base("]Append[tocall] ] ] | |
781 rargs <- Map[args, ["Make Op"]Set Input[1, func]] | 782 rargs <- Map[args, ["Make Op"]Set Input[1, func]] |
782 | 783 |
783 If[[[rargs]Length] > [[func]Last NumParams >>]] | 784 If[[[rargs]Length] > [[func]Last NumParams >>]] |
784 { | 785 { |
785 If[[[func]Last NumParams >>] = [-1]] | 786 If[[[func]Last NumParams >>] = [-1]] |