INIT

 (Available in 00 TS Tools(Base) - TS_Tools_Atomizer)

Source

METHOD INIT( uoOwner, udwMode, usymAtomizerItem ) CLASS TS_Atomizer
LOCAL X AS DWORD
   TSTrace Enter CREATE
   IF _TS_AtomizerIsLabelPtr==NULL_PTR
      _TS_AtomizerIsLabelPtr:=MemAlloc( 0x0100U*_SIZEOF( LOGIC ) )
      IF _TS_AtomizerIsLabelPtr==NULL_PTR
         TSTrace Fatal "(_TS_AtomizerIsLabelPtr:=MemAlloc(0x0100U*_SizeOf(LOGIC)))==NULL_PTR"
      ELSE
         FOR X:=0x0000U UPTO 0x00FFU
            IF IsDigit( @X ) .OR. IsLower( @X ) .OR. IsUpper( @X ) .OR. X==TS_ASC_UNDERSCORE
               LOGIC( _TS_AtomizerIsLabelPtr+X ):=TRUE
            ELSE
               LOGIC( _TS_AtomizerIsLabelPtr+X ):=FALSE
            END
         NEXT
      END
   END
   IF SELF:_Inited .OR. LOGIC( _CAST, ALen( SELF:_ItemsAtivated  ; ...
  ... ) ) .OR. LOGIC( _CAST, ALen( SELF:_ItemsCreated ) )
      TSTrace Warning "SELF:_Inited .OR. LOGIC(_CAST,ALen(SELF:_ItemsAtivated)) ." ; ...
     ... +"OR. LOGIC(_CAST,ALen(SELF:_ItemsCreated))"
   ELSE
      SELF:_Inited:=TRUE
      SELF:_ItemInComment:=NULL_OBJECT
      IF IsObject( uoOwner )
         SELF:_Owner:=uoOwner
      END
      IF IsSymbol( usymAtomizerItem )
         IF usymAtomizerItem<>NULL_SYMBOL .AND. IsClass( usymAtomizerItem )
            SELF:_AtomizerItemClass:=usymAtomizerItem
         ELSE
            TSTrace Warning "!(usymAtomizerItem<>NULL_SYMBOL .AND. IsClass(usymAtomizerItem))"
         END
      END
      AAdd( SELF:_ItemsAtivated, CreateInstance( SELF:_AtomizerItemClass ; ...
     ... , SELF, Replicate( CHR( TS_B_MAX ), 10U ), NIL ) )
      TSTrace SetCreatedAt ATail( SELF:_ItemsAtivated )
      DO CASE
      CASE IsNumeric( udwMode )
         SELF:_Mode:=TS_SafeDWORD( udwMode, NULL_PTR )
         DO CASE
         CASE SELF:_Mode==TS_ATOMIZER_INIT_MODE_TEXT1 .OR. SELF:_Mode ; ...
        ... ==TS_ATOMIZER_INIT_MODE_TEXT2
            SELF:AddWhites( TS_C_SPACE, TS_C_TAB )
            SELF:AddSeparators( ".", ",", ":", "!", "?", ";"  ; ...
           ... )
            IF SELF:_Mode==TS_ATOMIZER_INIT_MODE_TEXT2
               SELF:AddSeparators( "=", "+", "-", "*", "(",  ; ...
              ... ")", "@", "#", "$" )
               SELF:AddSeparators( "[", "]", "{", "}", "|",  ; ...
              ... "\", "/", "<", ">" )
               SELF:AddSeparators( "%", "^", "&", "~", "`",  ; ...
              ... "'", '"' )
            END
         CASE SELF:_Mode==TS_ATOMIZER_INIT_MODE_CMDLINE
            SELF:AddWhites( TS_C_SPACE, TS_C_TAB )
            SELF:AddSeparators( ";", "=" )
            SELF:AddStringDelimiters( '"', '"' )
            SELF:AddStringDelimiters( "'", "'" )
            SELF:ItemSetOptions( ";", NIL, NIL, NIL, NIL, NIL ; ...
           ... , NIL, NIL, NIL, TRUE, NIL, NIL )
         CASE SELF:_Mode==TS_ATOMIZER_INIT_MODE_PROG_VO1 .OR.  ; ...
        ... SELF:_Mode==TS_ATOMIZER_INIT_MODE_PROG_VO2 .OR. SELF:_Mode ; ...
        ... ==TS_ATOMIZER_INIT_MODE_PROG_VO3
            SELF:_SpecialVOStringBeg:=SELF:_CreateItem ; ...
           ... ( "[", _OR( TS_ATOMIZER_ITEMTYPE_DELIMITER, TS_ATOMIZER_ITEMTYPE_TOKEN ; ...
           ... , TS_ATOMIZER_ITEMTYPE_STRING, TS_ATOMIZER_ITEMTYPE_LEFT ) )
            SELF:_SpecialVOStringEnd:=SELF:_CreateItem ; ...
           ... ( "]", _OR( TS_ATOMIZER_ITEMTYPE_DELIMITER, TS_ATOMIZER_ITEMTYPE_TOKEN ; ...
           ... , TS_ATOMIZER_ITEMTYPE_STRING, TS_ATOMIZER_ITEMTYPE_RIGHT ) )
            SELF:_SpecialVOStringBeg:_Match:=SELF:_SpecialVOStringEnd
            X:=AScan( SELF:_ItemsAtivated, SELF:_SpecialVOStringBeg  ; ...
           ... )
            ADel( SELF:_ItemsAtivated, X )
            ASize( SELF:_ItemsAtivated, ALen( SELF:_ItemsAtivated  ; ...
           ... )-1U )
            X:=AScan( SELF:_ItemsAtivated, SELF:_SpecialVOStringEnd  ; ...
           ... )
            ADel( SELF:_ItemsAtivated, X )
            ASize( SELF:_ItemsAtivated, ALen( SELF:_ItemsAtivated  ; ...
           ... )-1U )
            SELF:MinAbbreviationLength:=4U
            SELF:IgnoreWhite:=TRUE
            SELF:IgnoreCase:=TRUE
            SELF:AddWhites( TS_C_SPACE, TS_C_TAB )
            SELF:AddCommentDelimiters( "&&", TS_C_LF, FALSE )
            SELF:AddCommentDelimiters( "/"+"*", "*"+"/", TRUE  ; ...
           ... )
            SELF:AddCommentDelimiters( "//", TS_C_LF, FALSE )
            SELF:AddLevelDelimiters( "(", ")" )
            SELF:AddLevelDelimiters( "[", "]" )
            SELF:AddLevelDelimiters( "{", "}" )
            SELF:AddSeparators( "|", "!", ",", "+", "-", "/",  ; ...
           ... "*", "~", "%", ";" )
            SELF:AddSeparators( ".", ":", "@", "=", "#", "<",  ; ...
           ... ">", "^", "$", "?" )
            SELF:AddSeparators( "!=", "*=", "->", "++", "--",  ; ...
           ... "**", ">>", "<<", "+=", "-=" )
            SELF:AddSeparators( ":=", "~=", "%=", "^=", "<=",  ; ...
           ... "<>", ">=", "==", "/=", "??" )
            SELF:AddSeparators( ".OR.", ".AND.", ".NOT." )
            SELF:AddStringDelimiters( '"', '"' )
            SELF:AddStringDelimiters( "'", "'" )
            SELF:ItemSetValue( TS_C_TAB, TS_C_SPACE )
            SELF:ItemModifyOptions( ")", TS_ATOMIZER_ITEMTYPE_FORBID_STRING ; ...
           ... , 0L )
            SELF:ItemModifyOptions( ":", TS_ATOMIZER_ITEMTYPE_FORBID_STRING ; ...
           ... , 0L )
            SELF:ItemModifyOptions( "]", TS_ATOMIZER_ITEMTYPE_FORBID_STRING ; ...
           ... , 0L )
            IF SELF:_Mode<>TS_ATOMIZER_INIT_MODE_PROG_VO3
               SELF:AddTranslation( "&", NIL, TRUE )
               SELF:AddTranslation( ".AND.", NIL, TRUE )
               SELF:AddTranslation( ".F.", NIL, TRUE )
               SELF:AddTranslation( ".NOT.", NIL, TRUE )
               SELF:AddTranslation( ".OR.", NIL, TRUE )
               SELF:AddTranslation( ".T.", NIL, TRUE )
               SELF:AddTranslation( "?", NIL, TRUE )
               SELF:AddTranslation( "??", NIL, TRUE )
               SELF:AddTranslation( "___127", NIL, TRUE )
               SELF:AddTranslation( "__AEFDIR__", NIL, TRUE )
               SELF:AddTranslation( "__APPLICATION__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__APPWIZDIR__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__CAVOBINDIR__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__CAVODIR__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__CAVODRIVE__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__CAVOSAMPLESROOTDIR__",  ; ...
              ... NIL, TRUE )
               SELF:AddTranslation( "__DATE__", NIL, TRUE )
               SELF:AddTranslation( "__DEBUG__", NIL, TRUE )
               SELF:AddTranslation( "__ENTITY__", NIL, TRUE )
               SELF:AddTranslation( "__ENTITYSYM__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__EXECUTABLEDIR__", NIL,  ; ...
              ... TRUE )
               SELF:AddTranslation( "__INLINE", NIL, TRUE )
               SELF:AddTranslation( "__LINE__", NIL, TRUE )
               SELF:AddTranslation( "__MDFFILENAME__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__MEFDIR__", NIL, TRUE )
               SELF:AddTranslation( "__MODULE__", NIL, TRUE )
               SELF:AddTranslation( "__OS__", NIL, TRUE )
               SELF:AddTranslation( "__PRGDIR__", NIL, TRUE )
               SELF:AddTranslation( "__PROJECT__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__SYSDIR__", NIL, TRUE )
               SELF:AddTranslation( "__TIME__", NIL, TRUE )
               SELF:AddTranslation( "__VERSION__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "__WINDIR__", NIL, TRUE )
               SELF:AddTranslation( "__WINDRIVE__", NIL, TRUE  ; ...
              ... )
               SELF:AddTranslation( "_AND", NIL, TRUE )
               SELF:AddTranslation( "_BP", NIL, TRUE )
               SELF:AddTranslation( "_CAST", NIL, TRUE )
               SELF:AddTranslation( "_CHR", NIL, TRUE )
               SELF:AddTranslation( "_CO", NIL, TRUE )
               SELF:AddTranslation( "_CS", NIL, TRUE )
               SELF:AddTranslation( "_DLL", NIL, TRUE )
               SELF:AddTranslation( "_DS", NIL, TRUE )
               SELF:AddTranslation( "_ES", NIL, TRUE )
               SELF:AddTranslation( "_FIELD", NIL, TRUE )
               SELF:AddTranslation( "_INIT1", NIL, TRUE )
               SELF:AddTranslation( "_INIT2", NIL, TRUE )
               SELF:AddTranslation( "_INIT3", NIL, TRUE )
               SELF:AddTranslation( "_MAKEPTR", NIL, TRUE )
               SELF:AddTranslation( "_MEMVAR", NIL, TRUE )
               SELF:AddTranslation( "_NC", NIL, TRUE )
               SELF:AddTranslation( "_NOT", NIL, TRUE )
               SELF:AddTranslation( "_OR", NIL, TRUE )
               SELF:AddTranslation( "_SIZEOF", NIL, TRUE )
               SELF:AddTranslation( "_SS", NIL, TRUE )
               SELF:AddTranslation( "_TYPEOF", NIL, TRUE )
               SELF:AddTranslation( "_WINCALL", NIL, TRUE )
               SELF:AddTranslation( "_XOR", NIL, TRUE )
               SELF:AddTranslation( "ACCESS", NIL, TRUE )
               SELF:AddTranslation( "ALIGN", NIL, TRUE )
               SELF:AddTranslation( "ANY", NIL, TRUE )
               SELF:AddTranslation( "ARRAY", NIL, TRUE )
               SELF:AddTranslation( "ARRAYNEW", NIL, TRUE )
               SELF:AddTranslation( "AS", NIL, TRUE )
               SELF:AddTranslation( "ASPEN", NIL, TRUE )
               SELF:AddTranslation( "ASSIGN", NIL, TRUE )
               SELF:AddTranslation( "BEGIN", NIL, TRUE )
               SELF:AddTranslation( "BREAK", NIL, TRUE )
               SELF:AddTranslation( "BYTE", NIL, TRUE )
               SELF:AddTranslation( "CALL", NIL, TRUE )
               SELF:AddTranslation( "CALLBACK", NIL, TRUE )
               SELF:AddTranslation( "CASE", NIL, TRUE )
               SELF:AddTranslation( "CCALL", NIL, TRUE )
               SELF:AddTranslation( "CDECL", NIL, TRUE )
               SELF:AddTranslation( "CLASS", NIL, TRUE )
               SELF:AddTranslation( "CLIPPER", NIL, TRUE )
               SELF:AddTranslation( "CODEBLOCK", NIL, TRUE )
               SELF:AddTranslation( "DATE", NIL, TRUE )
               SELF:AddTranslation( "DECLARE", NIL, TRUE )
               SELF:AddTranslation( "DEFINE", NIL, TRUE )
               SELF:AddTranslation( "DIM", NIL, TRUE )
               SELF:AddTranslation( "DLLEXPORT", NIL, TRUE )
               SELF:AddTranslation( "DO", NIL, TRUE )
               SELF:AddTranslation( "DOWNTO", NIL, TRUE )
               SELF:AddTranslation( "DWORD", NIL, TRUE )
               SELF:AddTranslation( "ELSE", NIL, TRUE )
               SELF:AddTranslation( "ELSEIF", NIL, TRUE )
               SELF:AddTranslation( "END", NIL, TRUE )
               SELF:AddTranslation( "ENDCASE", NIL, TRUE )
               SELF:AddTranslation( "ENDDO", NIL, TRUE )
               SELF:AddTranslation( "ENDIF", NIL, TRUE )
               SELF:AddTranslation( "ENDTEXT", NIL, TRUE )
               SELF:AddTranslation( "EXIT", NIL, TRUE )
               SELF:AddTranslation( "EXPORT", NIL, TRUE )
               SELF:AddTranslation( "EXTERN", NIL, TRUE )
               SELF:AddTranslation( "FALSE", NIL, TRUE )
               SELF:AddTranslation( "FIELD", NIL, TRUE )
               SELF:AddTranslation( "FLOAT", NIL, TRUE )
               SELF:AddTranslation( "FOR", NIL, TRUE )
               SELF:AddTranslation( "FREEREF", NIL, TRUE )
               SELF:AddTranslation( "FUNCTION", NIL, TRUE )
               SELF:AddTranslation( "GETPAR", NIL, TRUE )
               SELF:AddTranslation( "GLOBAL", NIL, TRUE )
               SELF:AddTranslation( "HIDDEN", NIL, TRUE )
               SELF:AddTranslation( "IF", NIL, TRUE )
               SELF:AddTranslation( "IFDEF", NIL, TRUE )
               SELF:AddTranslation( "IFINCL", NIL, TRUE )
               SELF:AddTranslation( "IFNDEF", NIL, TRUE )
               SELF:AddTranslation( "IFNINCL", NIL, TRUE )
               SELF:AddTranslation( "IIF", NIL, TRUE )
               SELF:AddTranslation( "IN", NIL, TRUE )
               SELF:AddTranslation( "INHERIT", NIL, TRUE )
               SELF:AddTranslation( "INIT", NIL, TRUE )
               SELF:AddTranslation( "INSTANCE", NIL, TRUE )
               SELF:AddTranslation( "INT", NIL, TRUE )
               SELF:AddTranslation( "IS", NIL, TRUE )
               SELF:AddTranslation( "LINK", NIL, TRUE )
               SELF:AddTranslation( "LINKTO", NIL, TRUE )
               SELF:AddTranslation( "LOCAL", NIL, TRUE )
               SELF:AddTranslation( "LOGIC", NIL, TRUE )
               SELF:AddTranslation( "LONG", NIL, TRUE )
               SELF:AddTranslation( "LONGINT", NIL, TRUE )
               SELF:AddTranslation( "LOOP", NIL, TRUE )
               SELF:AddTranslation( "MEMBER", NIL, TRUE )
               SELF:AddTranslation( "MEMVAR", NIL, TRUE )
               SELF:AddTranslation( "METHOD", NIL, TRUE )
               SELF:AddTranslation( "NEW", NIL, TRUE )
               SELF:AddTranslation( "NEWREF", NIL, TRUE )
               SELF:AddTranslation( "NEXT", NIL, TRUE )
               SELF:AddTranslation( "NIL", NIL, TRUE )
               SELF:AddTranslation( "OBJECT", NIL, TRUE )
               SELF:AddTranslation( "OF", NIL, TRUE )
               SELF:AddTranslation( "OTHERWISE", NIL, TRUE )
               SELF:AddTranslation( "PASCAL", NIL, TRUE )
               SELF:AddTranslation( "PCALL", NIL, TRUE )
               SELF:AddTranslation( "PCOUNT", NIL, TRUE )
               SELF:AddTranslation( "PROCEDURE", NIL, TRUE )
               SELF:AddTranslation( "PROTECT", NIL, TRUE )
               SELF:AddTranslation( "PSZ", NIL, TRUE )
               SELF:AddTranslation( "PTR", NIL, TRUE )
               SELF:AddTranslation( "REAL4", NIL, TRUE )
               SELF:AddTranslation( "REAL8", NIL, TRUE )
               SELF:AddTranslation( "RECOVER", NIL, TRUE )
               SELF:AddTranslation( "REF", NIL, TRUE )
               SELF:AddTranslation( "RESOURCE", NIL, TRUE )
               SELF:AddTranslation( "RETURN", NIL, TRUE )
               SELF:AddTranslation( "SELF", NIL, TRUE )
               SELF:AddTranslation( "SEQUENCE", NIL, TRUE )
               SELF:AddTranslation( "SHORT", NIL, TRUE )
               SELF:AddTranslation( "SHORTINT", NIL, TRUE )
               SELF:AddTranslation( "STATIC", NIL, TRUE )
               SELF:AddTranslation( "STEP", NIL, TRUE )
               SELF:AddTranslation( "STRICT", NIL, TRUE )
               SELF:AddTranslation( "STRING", NIL, TRUE )
               SELF:AddTranslation( "STRUCTURE", NIL, TRUE )
               SELF:AddTranslation( "SUPER", NIL, TRUE )
               SELF:AddTranslation( "SYMBOL", NIL, TRUE )
               SELF:AddTranslation( "TEXTBLOCK", NIL, TRUE )
               SELF:AddTranslation( "THISCALL", NIL, TRUE )
               SELF:AddTranslation( "TO", NIL, TRUE )
               SELF:AddTranslation( "TRUE", NIL, TRUE )
               SELF:AddTranslation( "UNION", NIL, TRUE )
               SELF:AddTranslation( "UPTO", NIL, TRUE )
               SELF:AddTranslation( "USING", NIL, TRUE )
               SELF:AddTranslation( "USUAL", NIL, TRUE )
               SELF:AddTranslation( "VOID", NIL, TRUE )
               SELF:AddTranslation( "WHILE", NIL, TRUE )
               SELF:AddTranslation( "WITH", NIL, TRUE )
               SELF:AddTranslation( "WORD", NIL, TRUE )
//             ======================================================================================== ; ...
//             /ulNeedsLeadingWhite
//             |    /ulNeedsTrailingWhite
//             |    |     /ulNeedsLeadingGray
//             |    |     |   /ulNeedsTrailingGray
//             |    |     |   |   /ulIsAtractorLeft
//             |    |     |   |   |    /ulIsAtractorRight
//             |    |     |   |   |    |    /ulIsGray
//             |    |     |   |   |    |    |    /ulIsReserved
//             |    |     |   |   |    |    |    |    /ulIsEOL
//             |    |     |   |   |    |    |    |    |    /ulIsEntity
//             |    |     |   |   |    |    |    |    |    |
//             \-/  \-/   \-/ \-/ \-/  \-/  \-/  \-/  \-/  \-/
//             ======================================================================================== ; ...
               SELF:ItemSetOptions( "&&", TRUE, FALSE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "*"+"/", FALSE, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".", NIL, NIL, NIL, NIL,  ; ...
              ... TRUE, TRUE, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".AND.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".NOT.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".OR.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "/"+"*", TRUE, FALSE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "//", TRUE, FALSE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ":", NIL, NIL, NIL, NIL,  ; ...
              ... TRUE, TRUE, TRUE, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ";", NIL, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, TRUE, NIL, TRUE, NIL, NIL )
               SELF:ItemSetOptions( "?", TRUE, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "??", TRUE, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "|", NIL, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, TRUE, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "ACCESS", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_ACCESS  ; ...
              ... )
               SELF:ItemSetOptions( "ALIGN", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "AS", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "ASSIGN", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_ASSIGN  ; ...
              ... )
               SELF:ItemSetOptions( "BEGIN", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "BREAK", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "CASE", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "CLASS", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_CLASS  ; ...
              ... )
               SELF:ItemSetOptions( "DECLARE", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "DEFINE", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_DEFINE  ; ...
              ... )
               SELF:ItemSetOptions( "DO", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "DOWNTO", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "ELSEIF", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "EXPORT", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "FOR", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "FUNCTION", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_FUNCTION  ; ...
              ... )
               SELF:ItemSetOptions( "GLOBAL", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_GLOBAL  ; ...
              ... )
               SELF:ItemSetOptions( "HIDDEN", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "IF", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "IFDEF", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "IFNDEF", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "INHERIT", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "INSTANCE", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "IS", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "LOCAL", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "MEMBER", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "MEMVAR", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "METHOD", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_METHOD  ; ...
              ... )
               SELF:ItemSetOptions( "NEXT", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "PROCEDURE", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_PROCEDURE  ; ...
              ... )
               SELF:ItemSetOptions( "PROTECT", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "RECOVER", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "RETURN", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "STATIC", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "STEP", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "STRUCTURE", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_STRUCTURE  ; ...
              ... )
               SELF:ItemSetOptions( "TEXTBLOCK", NIL, TRUE, NIL ; ...
              ... , NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_TEXTBLOCK  ; ...
              ... )
               SELF:ItemSetOptions( "TO", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "UNION", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, TRUE, TS_ATOMIZER_ITEM_ID_UNION  ; ...
              ... )
               SELF:ItemSetOptions( "UPTO", NIL, TRUE, NIL, NIL ; ...
              ... , NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "USING", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
               SELF:ItemSetOptions( "WHILE", NIL, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, TRUE, NIL, NIL, NIL )
            END
            IF SELF:_Mode==TS_ATOMIZER_INIT_MODE_PROG_VO2
               SELF:ItemSetOptions( "(", NIL, TRUE, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ")", TRUE, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ",", NIL, TRUE, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".AND.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".NOT.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( ".OR.", TRUE, TRUE, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "[", NIL, TRUE, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "]", TRUE, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "{", NIL, TRUE, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "|", NIL, TRUE, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "|", TRUE, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
               SELF:ItemSetOptions( "}", TRUE, NIL, NIL, NIL,  ; ...
              ... NIL, NIL, NIL, NIL, NIL, NIL, NIL )
            END
         CASE SELF:_Mode<>TS_ATOMIZER_INIT_MODE_NONE
            TSTrace Warning "dwMode==TS_ATOMIZER_INIT_MODE_???"
            SELF:_Mode:=TS_ATOMIZER_INIT_MODE_NONE
         END
      CASE IsNil( udwMode )
         SELF:_Mode:=TS_ATOMIZER_INIT_MODE_NONE
      OTHERWISE
         TSTrace Warning "!(IsNumeric(udwMode) .AND. IsNil(udwMode))"
         SELF:_Mode:=TS_ATOMIZER_INIT_MODE_NONE
      END
      SELF:RegisterAxit( )
   END
   TSTrace Leave
RETURN SELF