Changeset 760 for to-imperative/trunk/samples/select3.rf
- Timestamp:
- May 26, 2003, 7:07:36 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
to-imperative/trunk/samples/select3.rf
r432 r760 9 9 10 10 11 Main = /*<PrintLN <Time>>,*/ 12 <MkArg "1234567890ab"> :: e.Arg, 13 <PrintLN e.Arg>, 14 <Select e.Arg> :: e.Res, 15 <PrintLN e.Res>, 16 /*<PrintLN <Time>>*/; 11 Main = 12 /*<PrintLN <Time>>,*/ 13 <MkArg '1234567890ab'> :: e.Arg, 14 <PrintLN e.Arg>, 15 <Select e.Arg> :: e.Res, 16 <PrintLN e.Res>, 17 /*<PrintLN <Time>>*/; 17 18 18 19 MkArg e.String = * e.Prefixes 19 ( ) (e.String) $iter{20 21 22 } :: (e.Prefixes)(e.Prefix),23 20 ( ) (e.String) $iter { 21 e.Prefix : e.Prefix-- s = 22 (e.Prefixes (e.Prefix)) (e.Prefix--) ; 23 } :: (e.Prefixes) (e.Prefix), 24 e.Prefix : /*empty*/ 24 25 = e.Prefixes; 25 26 26 27 Select e.Sets = * e.Xs-or-sFail -- (eXs') or '*' 27 { <Sel () e.Sets>::(e.Xs)28 29 30 28 { 29 <Sel () e.Sets> :: (e.Xs) = (<Stack2Exp e.Xs>); 30 '*'; 31 }; 31 32 32 33 Sel (e.Xs) e.Sets = * (eXs) | $fail; 33 34 34 e.Sets : \{ 35 /*empty*/ = (e.Xs); 35 36 36 37 38 39 40 37 (e.Set) e.Sets--, 38 e.Set : e sX e, 39 #<InStack e.Xs s.X>, 40 <Sel (s.X (e.Xs)) e.Sets-->; 41 }; 41 42 42 43 InStack e.Xs s.X = * /*empty*/ | $false; 43 e.Xs: s.Y (e.Xs--), 44 \{ s.Y : s.X; 45 <InStack e.Xs-- s.X>; 44 e.Xs : s.Y (e.Xs--), 45 \{ 46 s.Y : s.X; 47 <InStack e.Xs-- s.X>; 46 48 }; 47 49 48 50 Stack2Exp e.Xs = * e.ExpXs 49 e.Xs : { 50 /* empty */ 51 = /* empty */; 52 s.Y (e.Xs--) 53 = <Stack2Exp e.Xs--> s.Y; 54 }; 51 e.Xs : { 52 /* empty */ = /* empty */; 53 s.Y (e.Xs--) = <Stack2Exp e.Xs--> s.Y; 54 };
Note: See TracChangeset
for help on using the changeset viewer.