Changeset 1831
- Timestamp:
- Jan 19, 2006, 4:32:54 AM (15 years ago)
- Location:
- to-imperative/trunk/compiler
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/trunk/compiler/rfp_asail_java.rf
r1828 r1831 64 64 65 65 RFP-ASAIL-To-Java (e.ModuleName) (e.exports) e.asail = 66 <Store &Free-Idx>, 66 67 <RFP-Clear-Table &Iter-Vars>, 67 68 { … … 77 78 { 78 79 <? &Entry-Name> : v.name = 79 ('public static void main(java.lang.String[] args) {' 80 () 81 ('public static void main (java.lang.String[] args) {' 80 82 (('try {' (v.name' (new Expr ());') '}') 81 83 ('catch (RefalException e) {' ('System.out.println ("$error: " + e);') '}') … … 85 87 <Store &Module-Name <Rfp2Java e.ModuleName>>, 86 88 (<Domain &Inputs>) 87 ('public class '<? &Module-Name>' 89 ('public class '<? &Module-Name>'\n{' 88 90 (v.java e.entry) 89 91 '}'); … … 98 100 FUNC? = ('boolean') ('return true;'); 99 101 } :: (e.return-type) e.return = 100 <Store &Free-Idx>,101 102 <Store &Return-Type e.return-type>, 102 103 <Store &Ress e.ress>, … … 104 105 // <RFP-Extract-Qualifiers t.name> :: (e.qualifiers) e.n, 105 106 <Store &Func-Name <Name-To-Java t.name>>, 107 () 106 108 ('static '<Access-Mode t.name>' 'e.return-type' ' 107 109 <? &Func-Name>' ('<Var-Args-To-Java e.args e.ress>') throws RefalException') … … 161 163 { 162 164 <? &Ress> : e t.var e = 163 e.a (<Rfp2Java t.var>'.assign ('e.j-expr');');165 e.a (<Rfp2Java t.var>'.assign ('e.j-expr');'); 164 166 e.a (<Rfp2Java t.var>' = 'e.j-expr';'); 165 167 }; … … 380 382 }; 381 383 382 $func Const-Expr-Aux e.expr = (e.arrays) e.java-expr;384 $func Const-Expr-Aux (e.accum) e.expr = (e.arrays) e.java-expr; 383 385 384 386 Const-Expr-To-Java { … … 392 394 (e.arrays) (e1) = e.arrays (e1); 393 395 (e.arrays) (e1) (e2) = e.arrays ('new Expr ('e1', 'e2')'); 396 (e.arrays) e.concat = 397 '_va_'<Free-Index> :: e.new-var, 398 e.arrays 399 ('static private final Expr[] 'e.new-var' = { '<Concat <Intersperse (', ') e.concat>>' };') 400 ('Expr.concat ('e.new-var')'); 394 401 }; 395 402 }; -
to-imperative/trunk/compiler/rfpc.rf
r1825 r1831 137 137 { 138 138 e.ext : \{ ' .rf'; ' .rfi'; } = 139 <Verbose "parsing started" >,139 <Verbose e.filename ": parsing started" >, 140 140 <RFP-Lexer e.file> :: e.tokens, 141 141 <Store &RFP-Token-Stack e.tokens>, 142 142 <RFP-Parser> :: t.as, 143 <Verbose "parsing finished">,143 <Verbose e.filename ": parsing finished">, 144 144 AS-REFAL t.as; 145 145 e.ext : ' .asr' = … … 314 314 { 315 315 e.inputs : e (e.java-module) e, 316 <Lookup &RFP-Includes <To-Chars e.java-module>> : {316 <Lookup &RFP-Includes <To-Chars e.java-module>> : \{ 317 317 BOOT e = 'org.refal.plus.library.'e.java-module; 318 LOCAL e.path = 319 <Subst (&RFP-Dir-Separator) (('.')) e.path> e.java-module; 320 } :: e.java-module, 318 // LOCAL e.path = 319 // { 320 // e.path : '.' &RFP-Dir-Separator e.rest-path = e.rest-path; 321 // e.path; 322 // } :: e.path, 323 // <Subst (&RFP-Dir-Separator) (('.')) e.path> e.java-module; 324 } :: e.java-module, 321 325 <PrintLN! s.channel 'import 'e.java-module';'>, 322 326 $fail;; … … 548 552 e.indent : e.ind &Tab, 549 553 <PrintLN! s.channel e.ind e.label>; 554 e1 : /*empty*/ = 555 <PrintLN! s.channel>; 550 556 <CPP-Pretty-Print 1 s.channel (e.indent) e1>; 551 557 };
Note: See TracChangeset
for help on using the changeset viewer.