Changeset 3951 for to-imperative


Ignore:
Timestamp:
Sep 19, 2008, 9:27:19 PM (12 years ago)
Author:
yura
Message:
  • Fab with big argument.
File:
1 copied

Legend:

Unmodified
Added
Removed
  • to-imperative/trunk/samples/fab2.rf

    r3950 r3951  
    11$use StdIO;
    22
    3 $tfunc Fab e = e;
     3$tfunc Fab s e (e) = e;
    44
    5 Fab {
    6         'A'  e2 = 'B' <Fab e2>;
    7         s1   e2 = s1 <Fab e2>;
    8         (e1) e2 = (<Fab e1>) <Fab e2>;
     5Fab sA eB (earg), earg : {
     6        'A'  e2 = eB <Fab sA eB (e2)>;
     7        s1   e2 = s1 <Fab sA eB (e2)>;
     8        (e1) e2 = (<Fab sA eB (e1)>) <Fab sA eB (e2)>;
    99        /*empty*/ = /*empty*/;
    1010};
    1111
     12$tfunc Fab2 e = e;
     13
     14Fab2 {
     15        'A'  e2 = 'B' <Fab2 e2>;
     16        s1   e2 = s1 <Fab2 e2>;
     17        (e1) e2 = (<Fab2 e1>) <Fab2 e2>;
     18        /*empty*/ = /*empty*/;
     19};
     20
     21
    1222Main =
    13         'ABABA'('CA'('A'('AEA')'ADA'('EA'('A'))'AAA')'AC')'BA' :: e1,
     23        'A' :: e1,
     24        <Fab 'A' ('AAAAAAAAAA') (e1)> :: e1,
     25        <Fab 'A' ('AAAAAAAAAA') (e1)> :: e1,
     26        <Fab 'A' ('AAAAAAAAAA') (e1)> :: e1,
     27//      <Fab 'A' ('AAAAAAAAAA') (e1)> :: e1,
    1428        <PrintLn e1>,
    15         <PrintLn <Fab e1> <Fab 'A'> (<Fab 'A'>)>;
     29        <PrintLn ' '>
     30        <PrintLn ' '>
     31        <PrintLn ' '>,
     32        <Fab2 e1> :: e1,
     33        <PrintLn e1>;
Note: See TracChangeset for help on using the changeset viewer.