aboutsummaryrefslogtreecommitdiffhomepage
path: root/tests/monkey-parse.apl
blob: 927396292fb0334b93384cd4062d95c506504367 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#!/usr/local/bin/apl --script --
⍝ Calculate frequency distribution of the characters/glyphs in a given number of input files.
⍝ This will be the input for monkey-test.apl.
Files  4⎕ARG
Data  19 ⎕CR ⎕FIO['read_file']¨Files

 DistGetDist Data; i; C
  ⍝Dist ← 38 ⌷CR ↑⍴Data ⍝ associative array
  Dist.X  0
  i  0
Loop:
  C  ,Data[ii+1]
  ~∨/C=Dist[;1] →→ Dist[C]  0 ←←
  Dist[C]  Dist[C] + 1
(i<⍴Data)/Loop


Dist  GetDist Data
Freq  {Dist[]}¨Dist[;1]
  "Chars ←", ⎕UCS Dist[;1][SortFreq] ⍝ character codepoints
  "Freq ←", Freq[Sort] ⍝ character frequencies

)OFF