N-grams: Difference between revisions
Content added Content deleted
Not a robot (talk | contribs) (Add SETL) |
Not a robot (talk | contribs) (Add Refal) |
||
Line 965: | Line 965: | ||
<pre>("IV"=>2,"T "=>1,"VE"=>2,"E "=>1,"LE"=>1,"AN"=>1,"LI"=>2,"ND"=>1,"ET"=>1," L"=>2," A"=>1,"D "=>1).Bag |
<pre>("IV"=>2,"T "=>1,"VE"=>2,"E "=>1,"LE"=>1,"AN"=>1,"LI"=>2,"ND"=>1,"ET"=>1," L"=>2," A"=>1,"D "=>1).Bag |
||
("ET "=>1,"AND"=>1,"LIV"=>2," LI"=>1,"ND "=>1," LE"=>1,"IVE"=>2,"E A"=>1,"VE "=>1,"T L"=>1,"D L"=>1,"LET"=>1," AN"=>1).Bag</pre> |
("ET "=>1,"AND"=>1,"LIV"=>2," LI"=>1,"ND "=>1," LE"=>1,"IVE"=>2,"E A"=>1,"VE "=>1,"T L"=>1,"D L"=>1,"LET"=>1," AN"=>1).Bag</pre> |
||
=={{header|Refal}}== |
|||
<syntaxhighlight lang="refal">$ENTRY Go { |
|||
, 'LIVE AND LET LIVE': e.Str |
|||
= <ShowNgrams 2 e.Str> |
|||
<ShowNgrams 3 e.Str> |
|||
<ShowNgrams 4 e.Str>; |
|||
}; |
|||
ShowNgrams { |
|||
s.N e.Str = |
|||
<Prout <Symb s.N> '-grams of "' e.Str '":'> |
|||
<ShowLines 5 <Ngrams s.N e.Str>> |
|||
<Prout>; |
|||
}; |
|||
ShowLines { |
|||
s.N = ; |
|||
s.N e.X, <First s.N e.X>: (e.L) e.R = |
|||
<Prout <Each DispNgram e.L>> <ShowLines s.N e.R>; |
|||
}; |
|||
Each { |
|||
s.F = ; |
|||
s.F t.I e.Is = <Mu s.F t.I> <Each s.F e.Is>; |
|||
}; |
|||
DispNgram { |
|||
((e.S) s.C) = '(' e.S ') - ' <Symb s.C> ' '; |
|||
}; |
|||
Ngrams { |
|||
s.N e.Str = <Count () <Groups s.N e.Str>>; |
|||
}; |
|||
Groups { |
|||
s.N e.X, <Lenw e.X>: s.L e.X, <Compare s.L s.N>: { |
|||
'-' = ; |
|||
s.C, <First s.N e.X>: (e.G) e.R, e.X: s.Z e.Y = |
|||
(e.G) <Groups s.N e.Y>; |
|||
} |
|||
}; |
|||
Count { |
|||
(e.Cs) = e.Cs; |
|||
(e.Cs) t.I e.Is = <Count (<Inc (e.Cs) t.I>) e.Is>; |
|||
}; |
|||
Inc { |
|||
(e.X (t.I s.C) e.Y) t.I = e.X (t.I <+ 1 s.C>) e.Y; |
|||
(e.X) t.I = e.X (t.I 1); |
|||
};</syntaxhighlight> |
|||
{{out}} |
|||
<pre>2-grams of "LIVE AND LET LIVE": |
|||
(LI) - 2 (IV) - 2 (VE) - 2 (E ) - 1 ( A) - 1 |
|||
(AN) - 1 (ND) - 1 (D ) - 1 ( L) - 2 (LE) - 1 |
|||
(ET) - 1 (T ) - 1 |
|||
3-grams of "LIVE AND LET LIVE": |
|||
(LIV) - 2 (IVE) - 2 (VE ) - 1 (E A) - 1 ( AN) - 1 |
|||
(AND) - 1 (ND ) - 1 (D L) - 1 ( LE) - 1 (LET) - 1 |
|||
(ET ) - 1 (T L) - 1 ( LI) - 1 |
|||
4-grams of "LIVE AND LET LIVE": |
|||
(LIVE) - 2 (IVE ) - 1 (VE A) - 1 (E AN) - 1 ( AND) - 1 |
|||
(AND ) - 1 (ND L) - 1 (D LE) - 1 ( LET) - 1 (LET ) - 1 |
|||
(ET L) - 1 (T LI) - 1 ( LIV) - 1</pre> |
|||
=={{header|RPL}}== |
=={{header|RPL}}== |