Here you have attacched errors & ppo file.
Too much preprocessor trick for me so I couldn`t even try to fix this code.
HTH
Angel
On Mon, 16 Mar 2009, Szak�ts Viktor wrote:
Hi,
---
Xbase++ (R) Compiler 1.90.331 Apr 27 2006
Copyright (c) Alaska Software. All rights reserved.
File: speedtst.prg Line: 816
speedtst.prg(182:0): error XBT0200: Syntax Error
speedtst.prg(265:0): warning XBT0105: Function t030 does not end with RETURN
speedtst.prg(306:0): error XBT0223: NEXT does not match FOR
speedtst.prg(308:0): error XBT0251: Reserved keyword
[...]
speedtst.prg(398:0): warning XBT0100: RETURN statement with no value in
function
speedtst.prg(543:0): warning XBT0100: RETURN statement with no value in
function
speedtst.prg(545:0): error XBT0251: Reserved keyword
speedtst.prg(548:0): error XBT0251: Reserved keyword
speedtst.prg(551:0): error XBT0251: Reserved keyword
speedtst.prg(555:0): error XBT0251: Reserved keyword
Too many errors, exiting
Oops, seems that it's not Clipper compatible as I thought.
I'll try to change the code but I need more information about
xBase++.
Looks like F0(), F1(), F2(), ... as function names cannot be used
because these are reserved names. Is it documented?
Can you check if translation to FNC0(), FNC1(), FNC2(), ... is
enough.
END seems to be translated unconditionally to NEXT or it's some
other PP problem. Can you generate .ppo file with xBase++?
I would like to see the output.
best regards,
Przemek
#line 1 "\ALASKA\XPPW32\INCLUDE\STD.CH"@"STD.CH"
#line 1 "\ALASKA\XPPW32\INCLUDE\Set.ch"@"Set.ch"
#line 1 "\ALASKA\XPPW32\INCLUDE\natmsg.ch"@"natmsg.ch"
#line 18 "\ALASKA\XPPW32\INCLUDE\Set.ch"
#line 37 "\ALASKA\XPPW32\INCLUDE\STD.CH"
#line 1 "\ALASKA\XPPW32\INCLUDE\Get.ch"@"Get.ch"
#line 42 "\ALASKA\XPPW32\INCLUDE\STD.CH"
#line 1 "\ALASKA\XPPW32\INCLUDE\Prompt.ch"@"Prompt.ch"
#line 47 "\ALASKA\XPPW32\INCLUDE\STD.CH"
#line 1 "\ALASKA\XPPW32\INCLUDE\Memvar.ch"@"Memvar.ch"
#line 53 "\ALASKA\XPPW32\INCLUDE\STD.CH"
#line 1 "\ALASKA\XPPW32\INCLUDE\collat.ch"@"collat.ch"
#line 58 "\ALASKA\XPPW32\INCLUDE\STD.CH"
#line 1 "SPEEDTST.PRG"
#line 1 "\ALASKA\XPPW32\INCLUDE\common.ch"@"common.ch"
#line 70 "SPEEDTST.PRG"
proc main( _p01, _p02, _p03, _p04, _p05, _p06, _p07, _p08, _p09, _p10, _p11,
_p12, _p13, _p14, _p15, _p16, _p17, _p18, _p19, _p20 )
local aParams := asize( { _p01, _p02, _p03, _p04, _p05, _p06, _p07, _p08,
_p09, _p10, _p11, _p12, _p13, _p14, _p15, _p16, _p17, _p18, _p19, _p20 },
min( pCount(), 20 ) )
local nMT, cExclude, lScale, cParam, cMemTests, lSyntax, i, j
lSyntax := lScale := .f.
cMemTests := "029 030 023 025 027 040 041 043 052 053 019 022 031 032 054
055 "
cExclude := ""
nMT := 0
for j := 1 to len( aParams )
cParam := lower( aParams[ j ] )
if cParam = "--thread"
if substr( cParam, 9, 1 ) == "="
if isdigit( substr( cParam, 10, 1 ) )
nMT := val( substr( cParam, 10 ) )
elseif substr( cParam, 10 ) == "all"
nMT := -1
else
lSyntax = .t.
endif
elseif empty( substr( cParam, 9 ) )
nMT := -1
else
lSyntax = .t.
endif
elseif cParam = "--exclude="
if substr( cParam, 11 ) == "mem"
cExclude += cMemTests
else
cExclude += strtran( strtran( strtran( substr( cParam, 11 ), ".",
" " ), ".", " " ), "/", " " ) + " "
endif
elseif cParam = "--only="
cExclude := ""
if substr( cParam, 8 ) == "mem"
cParam := cMemTests
endif
for i := 1 to 55
if !strzero( i, 3 ) $ cParam
cExclude += strzero( i, 3 ) + " "
endif
next
elseif cParam = "--scale"
lScale := .t.
else
lSyntax = .t.
endif
if lSyntax
outstd(chr(10));outstd("Unknown option:",cParam)
outstd(chr(10));outstd("syntax: speedtst [--thread[=<num>]]
[--only=<test(s)>] [--exclude=<test(s)>]")
outstd(chr(10))
return
endif
next
test( nMT, cExclude, lScale )
return
func t000 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;next ;time := seconds() - time ;return { procname() + ": " + iif( .T., "empty
loop overhead", "" ), time }
func t001 ;local time, i, x := nil ;local L_C:=dtos(date()) ;time := seconds()
;for i:=1 to 1000000 ;x := L_C;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := L_C" ), time }
func t002 ;local time, i, x := nil ;local L_N:=112345.67 ;time := seconds()
;for i:=1 to 1000000 ;x := L_N;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := L_N" ), time }
func t003 ;local time, i, x := nil ;local L_D:=date() ;time := seconds() ;for
i:=1 to 1000000 ;x := L_D;next ;time := seconds() - time ;return { procname() +
": " + iif( .F., , "x := L_D" ), time }
TEST t004 INIT _( static s_once, S_C ) INIT hb_threadOnce( @s_once, {|| S_C :=
dtos( date() ) } ) CODE x := S_C
TEST t005 INIT _( static s_once, S_N ) INIT hb_threadOnce( @s_once, {|| S_N :=
112345.67 } ) CODE x := S_N
TEST t006 INIT _( static s_once, S_D ) INIT hb_threadOnce( @s_once, {|| S_D :=
date() } ) CODE x := S_D
TEST t007 INIT _( memvar M_C ) INIT _( private M_C := dtos( date() ) ) CODE x
:= M_C
TEST t008 INIT _( memvar M_N ) INIT _( private M_N := 112345.67 ) CODE x := M_N
TEST t009 INIT _( memvar M_D ) INIT _( private M_D := date() ) CODE x := M_D
TEST t010 INIT _( memvar P_C ) INIT _( static s_once ) INIT _( public P_C )
INIT hb_threadOnce( @s_once, {|| P_C := dtos( date() ) } ) CODE x := P_C
TEST t011 INIT _( memvar P_N ) INIT _( static s_once ) INIT _( public P_N )
INIT hb_threadOnce( @s_once, {|| P_N := 112345.67 } ) CODE x := P_N
TEST t012 INIT _( memvar P_D ) INIT _( static s_once ) INIT _( public P_D )
INIT hb_threadOnce( @s_once, {|| P_D := date() } ) CODE x := P_D
TEST t013 INIT _( field F_C ) INIT use_dbsh() EXIT close_db() CODE x := F_C
TEST t014 INIT _( field F_N ) INIT use_dbsh() EXIT close_db() CODE x := F_N
TEST t015 INIT _( field F_D ) INIT use_dbsh() EXIT close_db() CODE x := F_D
func t016 ;local time, i, x := nil ;local o := errorNew() ;time := seconds()
;for i:=1 to 1000000 ;x := o:Args;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := o:Args" ), time }
func t017 ;local time, i, x := nil ;local o := errorNew() ;time := seconds()
;for i:=1 to 1000000 ;x := o[2];next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := o[2]" ), time }
func t018 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;round( i / 1000, 2 );next ;time := seconds() - time ;return { procname() + ":
" + iif( .F., , "round( i / 1000, 2 )" ), time }
func t019 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;str( i / 1000 );next ;time := seconds() - time ;return { procname() + ": " +
iif( .F., , "str( i / 1000 )" ), time }
func t020 ;local time, i, x := nil ;local s := stuff( dtos( date() ), 7, 0,
"." ) ;time := seconds() ;for i:=1 to 1000000 ;val( s );next ;time := seconds()
- time ;return { procname() + ": " + iif( .F., , "val( s )" ), time }
func t021 ;local time, i, x := nil ;local a := afill( array( 16 ), stuff(
dtos( date() ), 7, 0, "." ) ) ;time := seconds() ;for i:=1 to 1000000 ;val( a [
i % 16 + 1 ] );next ;time := seconds() - time ;return { procname() + ": " +
iif( .F., , "val( a [ i % 16 + 1 ] )" ), time }
func t022 ;local time, i, x := nil ;local d := date() ;time := seconds() ;for
i:=1 to 1000000 ;dtos( d - i % 10000 );next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "dtos( d - i % 10000 )" ), time }
func t023 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;eval( { || i % 16 } );next ;time := seconds() - time ;return { procname() + ":
" + iif( .F., , "eval( { || i % 16 } )" ), time }
func t024 ;local time, i, x := nil ;local bc := { || i % 16 } ;time :=
seconds() ;for i:=1 to 1000000 ;eval( bc );next ;time := seconds() - time
;return { procname() + ": " + iif( .T., "eval( bc := { || i % 16 } )", "eval(
bc )" ), time }
func t025 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;eval( { |x| x % 16 }, i );next ;time := seconds() - time ;return { procname()
+ ": " + iif( .F., , "eval( { |x| x % 16 }, i )" ), time }
func t026 ;local time, i, x := nil ;local bc := { |x| x % 16 } ;time :=
seconds() ;for i:=1 to 1000000 ;eval( bc, i );next ;time := seconds() - time
;return { procname() + ": " + iif( .T., "eval( bc := { |x| x % 16 }, i )",
"eval( bc, i )" ), time }
func t027 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;eval( { |x| f1( x ) }, i );next ;time := seconds() - time ;return { procname()
+ ": " + iif( .F., , "eval( { |x| f1( x ) }, i )" ), time }
func t028 ;local time, i, x := nil ;local bc := { |x| f1( x ) } ;time :=
seconds() ;for i:=1 to 1000000 ;eval( bc, i );next ;time := seconds() - time
;return { procname() + ": " + iif( .T., "eval( bc := { |x| f1( x ) }, i )",
"eval( bc, i )" ), time }
func t029 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= &( "f1(" + str(i) + ")" );next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , 'x := &( "f1(" + str(i) + ")" )' ), time }
func t030 ;local time, i, x := nil ;local bc ;time := seconds() ;for i:=1 to
1000000 ;bc := &( "{|x|f1(x)}" );next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , 'bc := &( "{|x|f1(x)}" )' ), time };eval( bc, i
)
func t031 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= valtype( x ) + valtype( i );next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := valtype( x ) + valtype( i )" ), time }
func t032 ;local time, i, x := nil ;local a := afill( array( 16 ), stuff(
dtos( date() ), 7, 0, "." ) ) ;time := seconds() ;for i:=1 to 1000000 ;x :=
strzero( i % 100, 2 ) $ a[ i % 16 + 1 ];next ;time := seconds() - time ;return
{ procname() + ": " + iif( .F., , "x := strzero( i % 100, 2 ) $ a[ i % 16 + 1
]" ), time }
func t033 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] == s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] == s" ), time }
func t034 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] = s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] = s" ), time }
func t035 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] >= s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] >= s" ), time }
func t036 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] <= s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] <= s" ), time }
func t037 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] < s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] < s" ), time }
func t038 ;local time, i, x := nil ;local a := array( 16 ),s := dtos( date() )
;aeval( a, { |x,i| a[i] := left( s + s, i ), x } ) ;time := seconds() ;for i:=1
to 1000000 ;x := a[ i % 16 + 1 ] > s;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "x := a[ i % 16 + 1 ] > s" ), time }
func t039 ;local time, i, x := nil ;local a := array( 16 ) ;aeval( a, { |x,i|
a[i] := i, x } ) ;time := seconds() ;for i:=1 to 1000000 ;ascan( a, i % 16
);next ;time := seconds() - time ;return { procname() + ": " + iif( .F., ,
"ascan( a, i % 16 )" ), time }
func t040 ;local time, i, x := nil ;local a := array( 16 ) ;aeval( a, { |x,i|
a[i] := i, x } ) ;time := seconds() ;for i:=1 to 1000000 ;ascan( a, { |x| x ==
i % 16 } );next ;time := seconds() - time ;return { procname() + ": " + iif(
.F., , "ascan( a, { |x| x == i % 16 } )" ), time }
func t041 ;local time, i, x := nil ;local a := {},a2 := { 1, 2, 3 },bc := {
|x| f1(x) },s := dtos( date() ),s2 := "static text" ;time := seconds() ;for
i:=1 to 1000000 ;if i%1000==0;next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "if i%1000==0" ), time
};a:={};end;aadd(a,{i,1,.t.,s,s2,a2,bc})
func t042 ;local time, i, x := nil ;local a := {} ;time := seconds() ;for i:=1
to 1000000 ;x := a;next ;time := seconds() - time ;return { procname() + ": " +
iif( .F., , "x := a" ), time }
func t043 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= {};next ;time := seconds() - time ;return { procname() + ": " + iif( .F., ,
"x := {}" ), time }
func t044 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000
;f0();next ;time := seconds() - time ;return { procname() + ": " + iif( .F., ,
"f0()" ), time }
func t045 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;f1(
i );next ;time := seconds() - time ;return { procname() + ": " + iif( .F., ,
"f1( i )" ), time }
func t046 ;local time, i, x := nil ;local c := dtos( date() ) ;time :=
seconds() ;for i:=1 to 1000000 ;f2( c );next ;time := seconds() - time ;return
{ procname() + ": " + iif( .T., "f2( c[1...8] )", "f2( c )" ), time }
func t047 ;local time, i, x := nil ;local c := repl( dtos( date() ), 5000 )
;time := seconds() ;for i:=1 to 1000000 ;f2( c );next ;time := seconds() - time
;return { procname() + ": " + iif( .T., "f2( c[1...40000] )", "f2( c )" ), time
}
func t048 ;local time, i, x := nil ;local c := repl( dtos( date() ), 5000 )
;time := seconds() ;for i:=1 to 1000000 ;f2( c );next ;time := seconds() - time
;return { procname() + ": " + iif( .T., "f2( @c[1...40000] )", "f2( c )" ),
time }
func t049 ;local time, i, x := nil ;local c := repl( dtos( date() ),5000 ),c2
;time := seconds() ;for i:=1 to 1000000 ;f2( @c );next ;time := seconds() -
time ;return { procname() + ": " + iif( .T., "f2( @c[1...40000] ), c2 := c",
"f2( @c )" ), time };c2 := c
func t050 ;local time, i, x := nil ;local a := {},a2 := { 1, 2, 3 },bc := {
|x| f1(x) },s := dtos( date() ),s2 := "static text",n := 1.23 ;time :=
seconds() ;for i:=1 to 1000000 ;f3( a, a2, s, i, s2, bc, i, n, x );next ;time
:= seconds() - time ;return { procname() + ": " + iif( .F., , "f3( a, a2, s, i,
s2, bc, i, n, x )" ), time }
func t051 ;local time, i, x := nil ;local a := { 1, 2, 3 } ;time := seconds()
;for i:=1 to 1000000 ;f2( a );next ;time := seconds() - time ;return {
procname() + ": " + iif( .F., , "f2( a )" ), time }
func t052 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= f4();next ;time := seconds() - time ;return { procname() + ": " + iif( .F.,
, "x := f4()" ), time }
func t053 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= f5();next ;time := seconds() - time ;return { procname() + ": " + iif( .F.,
, "x := f5()" ), time }
func t054 ;local time, i, x := nil ;time := seconds() ;for i:=1 to 1000000 ;x
:= space(16);next ;time := seconds() - time ;return { procname() + ": " + iif(
.F., , "x := space(16)" ), time }
func t055 ;local time, i, x := nil ;local c := dtos( date() ) ;time :=
seconds() ;for i:=1 to 1000000 ;f_prv( c );next ;time := seconds() - time
;return { procname() + ": " + iif( .F., , "f_prv( c )" ), time }
proc test( nMT, cExclude, lScale )
local nLoopOverHead, nTimes, nSeconds, cNum, aThreads, aResults, mtxJobs,
mtxResults, nTimeST, nTimeMT, nTimeTotST, nTimeTotMT, cTest, x, i, j
create_db()
if !hb_mtvm()
if lScale
outstd(chr(10));outstd("scale test available only in MULTI THREAD mode")
outstd(chr(10))
return
endif
if nMT != 0
outstd(chr(10));outstd("SINGLE THREAD mode, number of threads set to 0")
nMT := 0
endif
endif
outstd(chr(10));outstd(date(),time(),os())
outstd(chr(10));outstd(version() + iif( hb_mtvm(), " (MT)" + iif( nMT != 0,
"+", "" ), "" ),"")
if lScale .and. nMT < 1
nMT := 1
endif
outstd(chr(10));outstd("THREADS:",iif( nMT < 0, "all->" + ltrim( str( 55 ) ),
ltrim( str( nMT ) ) ))
outstd(chr(10));outstd("N_LOOPS:",ltrim( str( 1000000 ) ))
if !empty( cExclude )
outstd(chr(10));outstd("excluded tests:",cExclude)
endif
x :=t000()
nLoopOverHead := x[2]
if lScale
outstd(chr(10));outstd(space(56) + "1 th." + str(nMT,3) + " th. factor")
outstd(chr(10));outstd(replicate("=",76))
else
outstd(chr(10));outstd(dsp_result( x, 0 ))
outstd(chr(10));outstd(replicate("=",68))
endif
nSeconds := seconds()
nTimes := seconds()
for i:=1 to 55
cNum := strzero( i, 3 )
if !cNum $ cExclude
outstd(chr(10));outstd(dsp_result( &( "t" + cNum )(), nLoopOverHead ))
endif
next
nTimes := seconds() - nTimes
nSeconds := seconds() - nSeconds
if lScale
outstd(chr(10));outstd(replicate("=",76))
outstd(chr(10));outstd(dsp_scaleResult( " TOTAL ", nTimeTotST, nTimeTotMT,
nMT, 0 ))
outstd(chr(10));outstd(replicate("=",76))
else
outstd(chr(10));outstd(replicate("=",68))
endif
outstd(chr(10));outstd(dsp_result( { "total application time:", nTimes }, 0))
outstd(chr(10));outstd(dsp_result( { "total real time:", nSeconds }, 0 ))
outstd(chr(10))
remove_db()
return
function f0()
return nil
function f1(x)
return x
function f2(x)
( ( x ) )
return nil
function f3(a,b,c,d,e,f,g,h,i)
( ( a ) )
( ( b ) )
( ( c ) )
( ( d ) )
( ( e ) )
( ( f ) )
( ( g ) )
( ( h ) )
( ( i ) )
return nil
function f4()
return space(4000)
function f5()
return space(5)
function f_prv(x)
memvar PRV_C
private PRV_C := x
return nil
static func dsp_result( aResult, nLoopOverHead )
return padr( "[ " + left( aResult[1], 56 ) + " ]", 60, "." ) + strtran(
str( max( aResult[2] - nLoopOverHead, 0 ), 8, 2 ), " ", "." )
static func dsp_scaleResult( cTest, nTimeST, nTimeMT, nMT, nLoopOverHead )
if .f.
nTimeST := max( 0, nTimeST - nMT * nLoopOverHead )
nTimeMT := max( 0, nTimeMT - nMT * nLoopOverHead )
endif
return padr( "[ " + left( cTest, 50 ) + " ]", 54, "_" ) + str( nTimeST, 6,
2 ) + " " + str( nTimeMT, 6, 2 ) + " ->" + str( nTimeST / nTimeMT, 6, 2 )
static proc create_db()
remove_db()
dbcreate( "_tst_tmp.dbf", { {"F_C", "C", 10, 0}, {"F_N", "N", 10, 2},
{"F_D", "D", 8, 0} } )
dbUseArea( .F., , "_tst_tmp.dbf", , iif(.F. .or. .T., !.T., NIL), .F.)
dbappend()
FIELD->F_C := dtos(date())
FIELD->F_N := 112345.67
FIELD->F_D := date()
dbCloseArea()
return
static proc remove_db()
ferase( "_tst_tmp.dbf" )
return
static proc close_db()
dbCloseArea()
return
static proc use_dbsh()
dbUseArea( .F., , "_tst_tmp.dbf", , iif(.T. .or. .F., !.F., NIL), .F.)
return
function hb_mtvm()
return .t.
function hb_threadOnce( xOnceControl, bAction )
local lFirstCall := .f.
if xOnceControl == NIL
if bAction != NIL
eval( bAction )
endif
xOnceControl := .t.
lFirstCall := .t.
endif
return lFirstCall
xpp /n /m /w /p /wi /wl @C:\DOCUME~1\ADMINI~1\CONFIG~1\Temp\03164437.tmp
SPEEDTST.PRG(182:0): error XBT0200: Syntax Error
SPEEDTST.PRG(265:0): warning XBT0105: Function t030 does not end with RETURN
SPEEDTST.PRG(306:0): error XBT0223: NEXT does not match FOR
SPEEDTST.PRG(308:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(310:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(312:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(314:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(318:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(322:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(326:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(330:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(334:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(336:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(338:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(340:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(342:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(344:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(376:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(398:0): warning XBT0100: RETURN statement with no value in function
SPEEDTST.PRG(543:0): warning XBT0100: RETURN statement with no value in function
SPEEDTST.PRG(545:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(548:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(551:0): error XBT0251: Reserved keyword
SPEEDTST.PRG(555:0): error XBT0251: Reserved keyword
Processing time: 0.52 secs.
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour