Changeset 3409
- Timestamp:
- Feb 14, 2008, 12:36:00 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/trunk/compiler/rfp_asail_java.rf
r3407 r3409 534 534 s.javaType : \{"boolean"; "char"; "byte"; "short"; "int"; "long";} = 535 535 'Symbol.'s.javaType'Value('<Rfp2Java t.var>')'; 536 '( 's.javaType') Symbol.objectValue('<Rfp2Java t.var>')';536 '(('s.javaType') Symbol.objectValue('<Rfp2Java t.var>'))'; 537 537 }; 538 538 EVAR = 539 539 <ToChars s.javaType> : e.javaElemType '[]', <ToWord e.javaElemType> :: s.javaElemType, 540 '('s.javaType') Symbol.toArrayValue('<Rfp2Java t.var>', new 's.javaElemType'['<Rfp2Java t.var>'.length()];'; 540 { 541 s.javaElemType : \{"boolean"; "char"; "byte"; "short"; "int"; "long";} = 542 'Symbol.arrayValue('<Rfp2Java t.var>', new 's.javaElemType'['<Rfp2Java t.var>'.length()])'; 543 '(('s.javaType') Symbol.arrayValue('<Rfp2Java t.var>', new 's.javaElemType'['<Rfp2Java t.var>'.length()]))'; 544 }; 541 545 }; 542 546 543 547 $func ConvertFrom t.var e.arg = e; 544 545 548 ConvertFrom t.var e.arg, 546 549 t.var : (s.refType e), … … 556 559 <Del_Pragmas <Gener_Var_Indices 1 (<Vars e.in>) 'arg'>> : e.rfArgTypes s, 557 560 <Del_Pragmas <Gener_Var_Indices 1 (<Vars e.out>) 'res'>> : e.rfResTypes s, 558 <PrintLn 1>,559 561 { 560 562 s.methodName : "" = 'new ' s.className 0; … … 562 564 s.className '.' s.methodName 0; 563 565 } :: e.funcHead s.shift, 564 <PrintLn 1>,565 566 { 566 567 s.shift : 1 = e.rfArgTypes : t e.rfArgTypes2, e.rfArgTypes2; 567 568 e.rfArgTypes; 568 569 } :: e.rfArgTypes2, 569 <PrintLn 1>,570 570 0 $iter { 571 <WriteLn s.num e.javaArgTypes e.rfArgTypes2>,572 e.args <ConvertTo <L s.num e.javaArgTypes> <L s.num e.rfArgTypes2>> <Add s.num 1>;571 {e.args : /**/ = /**/; ', ';} :: e.comma, 572 e.args e.comma <ConvertTo <L s.num e.javaArgTypes> <L s.num e.rfArgTypes2>> <Add s.num 1>; 573 573 } :: e.args s.num, 574 574 <Length e.javaArgTypes> : s.num = 575 <PrintLn 3>, 576 e.funcHead '(' e.args ');' :: v.funcCall, 577 <PrintLn e.rfResTypes>, 575 e.funcHead '(' e.args ')' :: v.funcCall, 578 576 e.rfResTypes : { 579 577 /**/ = v.funcCall';'; 580 578 t.rfResType, (<Rfp2Java e.rfResTypes>'.assign('<ConvertFrom t.rfResType v.funcCall>');'); 581 579 } :: e.body = 582 <PrintLn 1>,583 580 () 584 581 e.refalFormat 585 ('static '<Access_Mode s.linkage>' void ' 586 <Name_To_Java t.qname>' ('<Var_Args_To_Java Expr e.rfArgTypes Result e.rfResTypes>') throws RefalException')587 ('{' ('try {' (e.body) '} catch (java.lang.Exception e) {' ('throw new org.refal.plus.RefalException("'<Get &Module_Name>'", "'<Name_To_Java t.qname>'", e.toString());')'}') '}');582 ('static '<Access_Mode s.linkage>' void ' <Name_To_Java t.qname>' ('<Var_Args_To_Java Expr e.rfArgTypes Result e.rfResTypes>') throws RefalException {' 583 ('try {' (e.body) '} catch (java.lang.Exception e) {' ('throw new org.refal.plus.RefalException("'<Get &Module_Name>'", "'<Name_To_Java t.qname>'", e.toString());')'}') 584 '}' ); 588 585 /* 589 586 {
Note: See TracChangeset
for help on using the changeset viewer.