2000-07-30 14:32 UTC+0100 Victor Szakats <info@szelvesz.hu>
This commit is contained in:
@@ -1,3 +1,27 @@
|
||||
2000-07-30 14:32 UTC+0100 Victor Szakats <info@szelvesz.hu>
|
||||
|
||||
* source/compiler/harbour.l
|
||||
* tests/testdecl.prg
|
||||
* tests/testwarn.prg
|
||||
* contrib/hbclip/hbclip.ch
|
||||
* Cleanup up the Strong Typing type keywords to more-or-less match
|
||||
the VO syntax. Note that there's two TODOs according to this.
|
||||
|
||||
These are the valid keywords now:
|
||||
|
||||
AS ARRAY
|
||||
AS CODEBLOCK
|
||||
AS STRING
|
||||
AS CLASS
|
||||
AS DATE
|
||||
AS LOGICAL
|
||||
AS NUMERIC
|
||||
AS OBJECT
|
||||
AS USUAL
|
||||
|
||||
* source/rtl/scroll.c
|
||||
+ Two comments added to make optimized code look more clear.
|
||||
|
||||
2000-07-29 08:50 UTC+0800 Ron Pinkas <ron@profit-master.com>
|
||||
* hb_slex.bc
|
||||
* Synchronized with makefile.bc
|
||||
|
||||
@@ -69,30 +69,13 @@
|
||||
/* Strong typing */
|
||||
|
||||
#translate AS ARRAY [OF <type>] =>
|
||||
|
||||
#translate AS CHAR =>
|
||||
#translate AS CHARACTER =>
|
||||
#translate AS STRING =>
|
||||
|
||||
#translate AS CLASS <ClassName> =>
|
||||
#translate AS STRU <StruName> =>
|
||||
#translate AS STRUCTURE <StruName> =>
|
||||
|
||||
#translate AS NUM =>
|
||||
#translate AS NUMERIC =>
|
||||
|
||||
#translate AS DATE =>
|
||||
#translate AS BLOCK =>
|
||||
|
||||
#translate AS OBJ =>
|
||||
#translate AS CODEBLOCK =>
|
||||
#translate AS OBJECT =>
|
||||
|
||||
#translate AS BOOL =>
|
||||
#translate AS BOOLEAN =>
|
||||
#translate AS LOG =>
|
||||
#translate AS LOGICAL =>
|
||||
|
||||
#translate AS VAR =>
|
||||
#translate AS VARIANT =>
|
||||
#translate AS USUAL =>
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1378,42 +1378,29 @@ Separator {SpaceTab}
|
||||
}
|
||||
}
|
||||
|
||||
/* TODO: 4 character abbreviation should be added to be VO compatible
|
||||
[vszakats] */
|
||||
|
||||
/* TODO: VOID should be added as a new type for NIL. [vszakats] */
|
||||
|
||||
"as array" { return AS_ARRAY; }
|
||||
"as block" { return AS_BLOCK; }
|
||||
"as char" { return AS_CHARACTER; }
|
||||
"as character" { return AS_CHARACTER; }
|
||||
"as codeblock" { return AS_BLOCK; }
|
||||
"as string" { return AS_CHARACTER; }
|
||||
"as class" { return AS_CLASS; }
|
||||
"as stru" { return AS_CLASS; }
|
||||
"as structure" { return AS_CLASS; }
|
||||
"as date" { return AS_DATE; }
|
||||
"as logical" { return AS_LOGICAL; }
|
||||
"as bool" { return AS_LOGICAL; }
|
||||
"as boolean" { return AS_LOGICAL; }
|
||||
"as num" { return AS_NUMERIC; }
|
||||
"as numeric" { return AS_NUMERIC; }
|
||||
"as obj" { return AS_OBJECT; }
|
||||
"as object" { return AS_OBJECT; }
|
||||
"as var" { return AS_VARIANT; }
|
||||
"as variant" { return AS_VARIANT; }
|
||||
"as usual" { return AS_VARIANT; }
|
||||
|
||||
"as array of var" { return AS_ARRAY; }
|
||||
"as array of variant" { return AS_ARRAY; }
|
||||
"as array of usual" { return AS_ARRAY; }
|
||||
"as array of array" { return AS_ARRAY_ARRAY; }
|
||||
"as array of block" { return AS_BLOCK_ARRAY; }
|
||||
"as array of char" { return AS_CHARACTER_ARRAY; }
|
||||
"as array of character" { return AS_CHARACTER_ARRAY; }
|
||||
"as array of codeblock" { return AS_BLOCK_ARRAY; }
|
||||
"as array of string" { return AS_CHARACTER_ARRAY; }
|
||||
"as array of class" { return AS_CLASS_ARRAY; }
|
||||
"as array of stru" { return AS_CLASS_ARRAY; }
|
||||
"as array of structure" { return AS_CLASS_ARRAY; }
|
||||
"as array of date" { return AS_DATE_ARRAY; }
|
||||
"as array of logical" { return AS_LOGICAL_ARRAY; }
|
||||
"as array of bool" { return AS_LOGICAL_ARRAY; }
|
||||
"as array of boolean" { return AS_LOGICAL_ARRAY; }
|
||||
"as array of num" { return AS_NUMERIC_ARRAY; }
|
||||
"as array of numeric" { return AS_NUMERIC_ARRAY; }
|
||||
"as array of obj" { return AS_OBJECT_ARRAY; }
|
||||
"as array of object" { return AS_OBJECT_ARRAY; }
|
||||
|
||||
%{
|
||||
|
||||
@@ -50,11 +50,11 @@ HB_FUNC( SCROLL )
|
||||
|
||||
/* Enforce limits of (0,0) to (MAXROW(),MAXCOL()) */
|
||||
|
||||
iTop = hb_parni( 1 );
|
||||
iTop = hb_parni( 1 ); /* Defaults to zero on bad type */
|
||||
if( iTop < 0 ) iTop = 0;
|
||||
else if( iTop > iMaxRow ) iTop = iMaxRow;
|
||||
|
||||
iLeft = hb_parni( 2 );
|
||||
iLeft = hb_parni( 2 ); /* Defaults to zero on bad type */
|
||||
if( iLeft < 0 ) iLeft = 0;
|
||||
else if( iLeft > iMaxCol ) iLeft = iMaxCol;
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@
|
||||
|
||||
#TRANSLATE AS NEW <ClassName> => AS CLASS <ClassName> := <ClassName>():New()
|
||||
|
||||
DECLARE nMyFun() AS NUM
|
||||
DECLARE MyClass cVar AS CHAR
|
||||
DECLARE nMyFun() AS NUMERIC
|
||||
DECLARE MyClass cVar AS STRING
|
||||
|
||||
Function Main()
|
||||
|
||||
|
||||
@@ -6,69 +6,52 @@
|
||||
#ifdef __HARBOUR__
|
||||
#pragma -es0
|
||||
#else
|
||||
#TRANSLATE AS ARRAY [OF <type>] =>
|
||||
#translate AS ARRAY [OF <type>] =>
|
||||
#translate AS STRING =>
|
||||
#translate AS CLASS <ClassName> =>
|
||||
#translate AS NUMERIC =>
|
||||
#translate AS DATE =>
|
||||
#translate AS CODEBLOCK =>
|
||||
#translate AS OBJECT =>
|
||||
#translate AS LOGICAL =>
|
||||
#translate AS USUAL =>
|
||||
|
||||
#TRANSLATE AS CHAR =>
|
||||
#TRANSLATE AS CHARACTER =>
|
||||
#TRANSLATE AS STRING =>
|
||||
|
||||
#TRANSLATE AS CLASS <ClassName> =>
|
||||
#TRANSLATE AS STRU <StruName> =>
|
||||
#TRANSLATE AS STRUCTURE <StruName> =>
|
||||
|
||||
#TRANSLATE AS NUM =>
|
||||
#TRANSLATE AS NUMERIC =>
|
||||
|
||||
#TRANSLATE AS DATE =>
|
||||
#TRANSLATE AS BLOCK =>
|
||||
|
||||
#TRANSLATE AS OBJ =>
|
||||
#TRANSLATE AS OBJECT =>
|
||||
|
||||
#TRANSLATE AS BOOL =>
|
||||
#TRANSLATE AS BOOLEAN =>
|
||||
#TRANSLATE AS LOG =>
|
||||
#TRANSLATE AS LOGICAL =>
|
||||
|
||||
#TRANSLATE AS VAR =>
|
||||
#TRANSLATE AS VARIANT =>
|
||||
|
||||
#COMMAND DECLARE <*x*> =>
|
||||
#command DECLARE <*x*> =>
|
||||
#endif
|
||||
|
||||
DECLARE nMyFunc( cVar AS STRING, @nVar AS NUMERIC ) AS NUMERIC
|
||||
|
||||
DECLARE cOtherFunc( ) AS CHAR
|
||||
DECLARE cOtherFunc( ) AS STRING
|
||||
|
||||
DECLARE cOtherFunc( @cVar as char, optional nVar as num, optional other as variant ) AS CHAR
|
||||
DECLARE cOtherFunc( @cVar as string, optional nVar as numeric, optional other as usual ) AS STRING
|
||||
|
||||
DECLARE Seconds() AS NUM
|
||||
DECLARE Seconds() AS NUMERIC
|
||||
|
||||
DECLARE Int( n AS NUMERIC ) AS NUMERIC
|
||||
|
||||
DECLARE TEST() AS NUMERIC
|
||||
|
||||
DECLARE MyClass ;
|
||||
nMyFunc( nVal As Num ) As Num
|
||||
nMyFunc( nVal AS NUMERIC) As Num
|
||||
|
||||
DECLARE MyClass ;
|
||||
nMyFunc( nVal As Num ) As Num ;
|
||||
nMyFunc( nVal As Num ) As Num ;
|
||||
nMyFunc( nVal AS NUMERIC ) AS NUMERIC ;
|
||||
nMyFunc( nVal AS NUMERIC ) AS NUMERIC ;
|
||||
cMyData ;
|
||||
aInstances AS Array Of Object MyClass ;
|
||||
oNext( oInstance AS Class MyClass ) As Class MyClass
|
||||
|
||||
DECLARE OtherClass ;
|
||||
nMyFunc( nVal As Num ) As Num ;
|
||||
nMyFunc( nVal As Num ) As Num ;
|
||||
nMyFunc( nVal AS NUMERIC ) AS NUMERIC ;
|
||||
nMyFunc( nVal AS NUMERIC ) AS NUMERIC ;
|
||||
cMyData ;
|
||||
aInstances AS Array Of Object MyClass ;
|
||||
oNext( oInstance AS Class OtherClass ) As Class MyClass
|
||||
|
||||
FIELD a AS CHAR
|
||||
FIELD b AS CHAR
|
||||
FIELD a AS STRING
|
||||
FIELD b AS STRING
|
||||
|
||||
MEMVAR Var1 AS CHAR
|
||||
MEMVAR Var1 AS STRING
|
||||
|
||||
STATIC lGlobal AS LOGICAL
|
||||
|
||||
@@ -76,15 +59,15 @@ PROCEDURE THEMAIN( optional )
|
||||
|
||||
STATIC lStatic := 0, oMyObj As Class WrongClass
|
||||
|
||||
LOCAL cVar AS CHAR := [declare function]
|
||||
LOCAL cVar AS STRING := [declare function]
|
||||
|
||||
LOCAL a As Char, oB AS Class MyClass, c AS Char, oD AS Class OtherClass
|
||||
LOCAL a As STRING, oB AS Class MyClass, c AS STRING, oD AS Class OtherClass
|
||||
|
||||
FIELD b AS NUM
|
||||
FIELD b AS NUMERIC
|
||||
|
||||
MEMVAR Var1 AS NUM
|
||||
MEMVAR Var1 AS NUMERIC
|
||||
|
||||
PRIVATE TEST AS CHAR
|
||||
PRIVATE TEST AS STRING
|
||||
|
||||
USE TEMP
|
||||
|
||||
@@ -147,7 +130,7 @@ RETURN
|
||||
|
||||
PROC MAIN1()
|
||||
|
||||
PRIVATE OTHER, TEST AS CHAR
|
||||
PRIVATE OTHER, TEST AS STRING
|
||||
|
||||
Var1 := M->TEST
|
||||
|
||||
@@ -178,7 +161,7 @@ Return( NIL )
|
||||
|
||||
FUNCTION Main3()
|
||||
|
||||
LOCAL n AS NUMERIC, cVar AS CHARACTER, a[5,5,5] AS ARRAY OF Char
|
||||
LOCAL n AS NUMERIC, cVar AS STRING, a[5,5,5] AS ARRAY OF STRING
|
||||
|
||||
cVar := a[1]
|
||||
|
||||
@@ -200,7 +183,7 @@ FUNCTION Main3()
|
||||
|
||||
n[2] := 4
|
||||
|
||||
cVar := {|nb AS NUMERIC , cb AS CHARACTER, db AS DATE| n := .F., nb := 'A', cb := 1, db := 0, n := 'wrong type', 0 }
|
||||
cVar := {|nb AS NUMERIC , cb AS STRING, db AS DATE| n := .F., nb := 'A', cb := 1, db := 0, n := 'wrong type', 0 }
|
||||
|
||||
? "This is a compiler test."
|
||||
|
||||
@@ -216,8 +199,8 @@ FUNCTION Main3()
|
||||
|
||||
FUNCTION SomeTest( lVar AS LOGICAL )
|
||||
|
||||
LOCAL nVar AS NUMERIC, cVar AS CHARACTER, lVar2 AS LOGICAL, nNoType := 3
|
||||
PRIVATE cMemVar1 AS CHARACTER
|
||||
LOCAL nVar AS NUMERIC, cVar AS STRING, lVar2 AS LOGICAL, nNoType := 3
|
||||
PRIVATE cMemVar1 AS STRING
|
||||
|
||||
nVar := .T.
|
||||
|
||||
@@ -241,7 +224,7 @@ FUNCTION SomeTest( lVar AS LOGICAL )
|
||||
|
||||
NondDeclared := 2
|
||||
|
||||
cVar := {|n AS NUMERIC , c AS CHARACTER, d AS DATE| n := nMyFunc( n,c,d ), c := 2 }
|
||||
cVar := {|n AS NUMERIC , c AS STRING, d AS DATE| n := nMyFunc( n,c,d ), c := 2 }
|
||||
|
||||
nVar := 8 + cVar
|
||||
|
||||
|
||||
Reference in New Issue
Block a user