Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
71
Task/Amb/NetRexx/amb.netrexx
Normal file
71
Task/Amb/NetRexx/amb.netrexx
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/* REXX **************************************************************
|
||||
* 25.08.2013 Walter Pachl derived from REXX version 2
|
||||
*********************************************************************/
|
||||
w=''
|
||||
l=0
|
||||
mm=0
|
||||
mkset(1,'the that a if',w,mm,l)
|
||||
mkset(2,'frog elephant thing',w,mm,l)
|
||||
mkset(3,'walked treaded grows trots',w,mm,l)
|
||||
mkset(4,'slowly quickly',w,mm,l)
|
||||
show(w,mm,l)
|
||||
|
||||
Loop i=1 to 3 /* loop over sets */
|
||||
k=i+1 /* the following set */
|
||||
Loop ii=1 To 10 /* loop over elements in set k*/
|
||||
If w[i,ii].words=i Then Do /* a sentence part found */
|
||||
Loop jj=1 To 10 /* loop over following words */
|
||||
If w[i,ii].right(1)=w[k,jj].left(1) Then Do /* fitting */
|
||||
ns=w[i,ii]' 'w[k,jj] /* build new sentence (part) */
|
||||
If ns.words=k Then /* 'complete' part */
|
||||
add(w,k,ns) /* add to set k */
|
||||
End
|
||||
End
|
||||
End
|
||||
End
|
||||
End
|
||||
Say 'Results:'
|
||||
Loop jj=1 To 10 /* show the results */
|
||||
If w[4,jj].words=4 Then
|
||||
Say '-->' w[4,jj]
|
||||
End
|
||||
|
||||
method add(w,k,s) public static
|
||||
/*********************************************************************
|
||||
* add a fitting sentence (part) s to set w[k,*]
|
||||
*********************************************************************/
|
||||
Loop i=1 To 10 While w[k,i]>'' /* look for an empty slot */
|
||||
End
|
||||
w[k,i]=s /* add the sentence (part) */
|
||||
Return
|
||||
|
||||
method mkset(n,arg,smp,mm,l) public static
|
||||
/*********************************************************************
|
||||
* create set smp[n,*] from data in arg
|
||||
* mm[0] maximum number of elements in any set
|
||||
* l[n] maximum word length in set n
|
||||
*********************************************************************/
|
||||
loop i = 1 to arg.words
|
||||
smp[n,i] = arg.word(i)
|
||||
If smp[n,i].length>l[n] Then
|
||||
l[n]=smp[n,i].length
|
||||
end
|
||||
if i-1>mm[0] Then Do
|
||||
mm[0]=i-1
|
||||
End
|
||||
return
|
||||
|
||||
method show(w,mm,l) public static
|
||||
/*********************************************************************
|
||||
* show the input
|
||||
*********************************************************************/
|
||||
Say 'Input:'
|
||||
Loop j=1 To mm[0] /* output lines */
|
||||
ol=''
|
||||
Loop i=1 To 4
|
||||
ol=ol w[i,j].left(l[i])
|
||||
End
|
||||
Say ol.strip
|
||||
End;
|
||||
say ''
|
||||
Return
|
||||
Loading…
Add table
Add a link
Reference in a new issue