xsharp.eu • Do I see ghosts somewhere? - Page 2
Page 2 of 2

Do I see ghosts somewhere?

Posted: Thu Jun 18, 2020 4:36 pm
by ArneOrtlinghaus
Thanks, so the list gets still longer. Every VO keyword except some few exceptions like #text seem to be regarded.

The correction of the single case I found until now was simple:
As the program saw #ENDDO instead of #ENDD I only had to substitute all #ENDD occurencies by #ENDDO and the code is ready for X#.

Do I see ghosts somewhere?

Posted: Fri Jun 19, 2020 9:32 am
by Heinrich
Hello everybody
It is not a mistake, but a function of the old Clipper.
All keywords could be reduced to the first four digits and the compiler translated this correctly. In VO this was still the case.

Regards Heinrich
PS: bevorzuge Konversation in deutsch ;)

Do I see ghosts somewhere?

Posted: Fri Jun 19, 2020 12:08 pm
by Karl-Heinz
Hi Arne,

In the CAVO28.EXE i found this:

Code: Select all

CLASS.METHOD.GLOBAL.STATIC.FUNCTION.PROCEDURE.DEFINE.STRUCTURE.ACCESS.ASSIGN.DO.
IFDEF.PRIVATE.PUBLIC.WHILE.IF.FOR.RETURN.PARAMETERS.BEGIN.BREAK.EXIT.LOOP.TEXT.
DECLARE.USUAL.VOID.SHORTINT.INT.STRING.LONGINT.FLOAT.LOGIC.PTR.DATE.PSZ.OBJECT.
CODEBLOCK.WORD.ARRAY.BYTE.REAL4.REAL8.DWORD.SYMBOL.__INLINE.HIDDEN.RECOVER.INHERIT.
INSTANCE.EXPORT.LOCAL.MEMVAR.FIELD.TRUE.FALSE.SELF.SUPER.NIL.END.ENDIF.ELSE.ELSEIF.
WITH.ENDDO.TO.NEXT.EXTERN.IN.AS.ENDTEXT.TEXTBLOCK.SEQUENCE.USING.CASE.MEMBER.OTHERWISE.
ENDCASE.PASCAL.CDECL.ASPEN.CLIPPER.DIM.REF.STEP.IS._WINCALL.DOWNTO.RESOURCE.OF._DLL._CO.
_NC.__LINE__.__ENTITY__.__MODULE__._CAST.PROTECT.IFNDEF.UPTO._INIT1._INIT2._INIT3.
CALLBACK.STRICT.STATUS.BUFFER.F_NAME.F_LEN
it seems that these are the ?last? missing words:

Code: Select all

 
? AsString ( #down ) // DOWNTO   
? AsString ( #aspe ) // ASPEN   
? AsString ( #hidd ) // HIDDEN   
? AsString ( #_win ) // _WINCALL
? AsString ( #_cas ) // _CAST 
? AsString ( #supe ) // SUPER 
? AsString ( #prot ) // PROTECT
? AsString ( #expo ) // EXPORT 
? AsString ( #_ini ) // _INIT1 
? AsString ( #inst ) // INSTANCE  
? AsString ( #decl ) // DECLARE
? AsString ( #othe ) // OTHERWISE 
1. interesting is that it's not possible to use these symbols - no problem to do that with X#

Code: Select all

? AsString ( #fals ) // expected a symbol after #  51115
? AsString ( #true ) // expected a symbol after #  51115
2. but that's really crazy :woohoo:

Code: Select all

? AsString ( #stric ) // ASPEN ???
? AsString ( #strict ) // ASPEN ???
? AsString ( #strictt ) // STRICTT                             
regards
Karl-Heinz

Do I see ghosts somewhere?

Posted: Fri Jun 19, 2020 3:18 pm
by ArneOrtlinghaus
It's a good exercise for training in "black box analisis". From the experimental results we could try to create a model how this could have been implemented and for which reasons...

With your list I have found until now two symbols #endd and #code in our code that may interfere. Fortunately the VO keywords give seldom sense for using as names for database fields.

Do I see ghosts somewhere?

Posted: Fri Jun 19, 2020 4:37 pm
by Chris
Hi Heinrich,
Heinrich wrote:Hello everybody
It is not a mistake, but a function of the old Clipper.
All keywords could be reduced to the first four digits and the compiler translated this correctly. In VO this was still the case.
For keywords this is fine, but the problem is VO for some bizarre reason changes symbols as well. So s := #METH becomess := #METHOD under the hood, without the programmer knowing it. At least it does not change strings, so when you use s := "METH", it does not actually become s := "METHOD". Although I must I admit I did not test this... :)