Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,86 @@
|
|||
Proc Min
|
||||
Declare int PC, i, float e, t
|
||||
PC = %PCount
|
||||
e = @!(1)
|
||||
If PC > 1
|
||||
For i, 2, PC
|
||||
t = @!(i)
|
||||
e = if( (e == 0.0) and (t == 0.0), -(-e - t), if(t < e, t, e) )
|
||||
EndFor
|
||||
EndIf
|
||||
Return e
|
||||
EndProc
|
||||
|
||||
Proc Odd
|
||||
Parameters int n
|
||||
Return TestBit(n,0)
|
||||
EndProc
|
||||
|
||||
Proc strip_comments
|
||||
Parameters string s, delim
|
||||
Declare int posi[]
|
||||
Declare int i, min_p, p
|
||||
min_p = $7FFFFFFF
|
||||
For i, 1, Len(delim)
|
||||
posi[ i ] = InStr( mid$(delim,i,1), s )
|
||||
Case posi[ i ] > 0 : min_p = Min( posi[ i ], min_p )
|
||||
EndFor
|
||||
posi[ 0 ] = InStr( chr$(34), s )
|
||||
|
||||
// if there is a string delimiter on the left side...
|
||||
If (posi[0] > 0) and (posi[0] < min_p)
|
||||
// ...and counting of delimiter is odd, then the sign is part of a string
|
||||
If Odd( Len( Left$(s,min_p) ) - Len( translate$( Left$(s,min_p), Chr$(34), "" )) )
|
||||
p = posi[ 0 ] + 1
|
||||
min_p = $7FFFFFFF
|
||||
Repeat
|
||||
// closing quote
|
||||
posi[ 0 ] = InStr( chr$(34), s, p )
|
||||
'Case posi[0] > 0 : posi[0] = posi[0] + p
|
||||
p = posi[ 0 ] + 1
|
||||
|
||||
// find new positions after that
|
||||
For i, 1, Len(delim)
|
||||
posi[ i ] = InStr( mid$(delim,i,1), s, p )
|
||||
Case posi[ i ] > 0 : min_p = Min( posi[ i ], min_p )
|
||||
EndFor
|
||||
posi[ 0 ] = InStr( chr$(34), s, p )
|
||||
|
||||
// if there is a string delimiter on the left side...
|
||||
If (posi[0] > 0) and (posi[0] < min_p)
|
||||
// ...and counting of delimiter is odd, then the sign is part of a string
|
||||
If Odd( Len( Left$(s,min_p) ) - Len( translate$( Left$(s,min_p), Chr$(34), "" )) )
|
||||
p = posi[ 0 ] + 1
|
||||
min_p = $7FFFFFFF
|
||||
// and again....
|
||||
CONTINUE
|
||||
EndIf
|
||||
EndIf
|
||||
BREAK
|
||||
Until min_p = 0
|
||||
EndIf
|
||||
EndIf
|
||||
Return Trim$( Left$( s, min_p - 1 ) )
|
||||
EndProc
|
||||
|
||||
cls
|
||||
declare string s, t
|
||||
|
||||
s = " apples, pears # and bananas"
|
||||
t = strip_comments( s, "#;" )
|
||||
Print s + "|\n-> [" + t + "]\n"
|
||||
|
||||
s = " apples, pears ; and bananas"
|
||||
t = strip_comments( s, "#;" )
|
||||
Print s + "|\n-> [" + t + "]\n"
|
||||
|
||||
s = " apples, pears \t "
|
||||
t = strip_comments( s, "#;" )
|
||||
Print s + "|\n-> [" + t + "]\n"
|
||||
|
||||
s = " " + chr$(34) + " #oh, my god " + chr$(34) + " apples, pears # and bananas"
|
||||
t = strip_comments( s, "#;" )
|
||||
Print s + "|\n-> [" + t + "]\n"
|
||||
|
||||
waitkey
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue