 :     ,     "_","$","@","","`"
         (      )

false = 0 = Null = 0.0 = "" = f = OFF = no = <  >
true = t = ON = yes = <   false>

 :  
  +  # => 
  -  # => / /
  *  # => 
  /  # =>  
  /: # =>  
  %  # =>   
  
  :
    9 + 4 # => 13
    9 - 4 # => 5
    9 * 4 # => 36
    9 / 4 # => 2
    9 % 4 # => 1
    9 /: 4 # => 2
    
    9 + "4" # => 13
    9 + 4.4 # => 13
    9 + 4.6 # => 14
    9 + true # => 10
    9 + false # => 9
    
  :
    9.2 + 5 # => 14.2
    9.2 - 5 # => 4.2
    9.2 * 5 # => 46.0
    9.2 / 5 # => 1.84
    9.2 % 5 # => 4
    9.2 /: 5 # => 1
    
    9.2 + "4" # => 13.2
    9.2 + 9.2 # => 18.4
    9.2 + true # => 10.2
  
  :
    true + false # => true or false => true
    true - true # => true xor true => false
    true * false # => true and false => false
    true / false # => true xor false => false
    true /: false # => true xor false => false
    true % false # => true and false => false
    -true # => false
    -false # => true
  
  :
    "4" + 5 # => "45"
    "012_343_210" - 3 # => "01_343_210"
    "012_343_210" - "3" # => "012_43_210"
    "4" * 5 # => "44444"
    "012_343_210" * "3" # => 5
    "0a2_A4a_2A0" / 4 # => "A4a_2A0"
    "0a2_A4a_2A0" / "a" # => "02_4_20"
    "0a2_A4a_2A0" /: 4 # => "0a2_A4a"
    "0a2_A4a_2A0" /: "a" # => "02_A4_2A0"
    "0a2_A4a_2A0" % 4 # => "0a2_"
    "0a2_A4a_2A0" % "A" # => "02_A4a_2A0"
    
    -"12345" # => "54321"
    
  :
  ==  # => 
  !=  # => 
  >   # => 
  >=  # =>   
  <   # => 
  <=  # =>   
  === # =>   (  ,    )
  !== # =>   (     ,  True)
  
  :    
    4 == "4" # => true
    4 === "4" # => false
    4 == 4.0 # => true
    4 === 4.0 # => false
    4 == true # => true
    0 == true # => false
    0 == false # => true
    4 > "5" # => 4>1 => true
    4 > 5.0 # => false
    4 > "12345" # => 4 > 5 => false
    4 < "54321" # => 4 < 5 => true
    4 < 5.0 # => true
    4 > false # => true
    4 > true # => false
    
  :
    4.0 == "4.0" # => true
    4.0 == 4 # => true
    4.0 === 4 # => false
    4.0 > true # => false
    4.0 > "5.4" # => 4.0 > 3 => true
    
  :
    true > false # => true
    true > true  # => false
    true > 0 # => true
    true > 1 # => false
    true == 1 # => true
    true == 2 # => true
    true == 0 # => false
    false == "" # => true
  
  :
    "abd" > "abc" # => true
    "abd" < "abc" # => false
    "abc" > 2 # => 3 > 2 => true
    "abc" >= 3 # => 3 >= 3 => true

 :
  &  # =>  ""
  |  # =>  ""
  ^  # =>  "XOR"
  ~  # =>  ""
  >> # =>   
  << # =>   
  
  :
    13 & 12 # => 1101 and 1100 => 1100 => 12
    13 | 7  # => 1101 or  0111 => 1111 => 15
    13 ^ 7  # => 1101 xor 0111 => 1010 => 10
    ~13     # => not 1101  => -14
	13 >> 2 # => 1101 shr 2 => 11 => 3
	13 << 2 # => 1101 shl 2 =>  110100 => 52
  
  :
    "0a2A_A2a0" & 4 # => "A2a0"
    "123" & "3214" # => "1234"
    "123456" | 4 # => 6 == 4 => false
    "123456" | 6 # => 6 == 6 => true
    "123" | "3214" # => "3214" # max(3,4) = 4
    "123456" ^ 4 # => 6 != 4 => true
    "123" ^ "3214" # => "123" # min(3,4) = 3
    ~"aBc" # => "AbC"
    
    "Test" >> 2 # => "  Test"
    "Test" << 2 # => "Test  "
 :
  && # =>  ""
  || # =>  ""
  ^^ # =>  "XOR"
  !  # =>  ""
  
   
   && -          False
   || -          True

 :
  =, +=, -=, *=, &=, |=, ^=, &&=, ||=, ^^=, <<=, >>=, .=

 :
  .+      # =>  ( ,     )
  (a?b:c) # =>    ( "a"    "b",  "c")
  .       # =>  
  a[***]  # =>  ()  "a"
  a:[***] # =>  ()   "a"
  a..b    # =>  "a"  "b"
  a...b   # =>  "a"    "b"
  a:>b    # =>   "b"  "a"
  ,       # =>  
  "***"   # =>  
  '***'   # =>  
  ;       # =>  /  (  )
  $***    # =>  
  {***}   # =>   "begin *** end"
  
=================================================================================
:
 # 
 #= / =#
 
 :
  begin        -  
  end          -  
  label <name> -  / 
  goto <name>  -    
  
   :
    if <a> then <b> [elsif <a*> then <b*>] [else <c>];
      a  - ()
      b  -      "a"
      a* -   *
      b* -       "a*"
      c  -         
  :
     -:
      while <a> do <b>;
      until <!a> repeat <b>;
        a -      "a" = "True"
        !a -      "a" = "False"
        b -  
     -:
      do <b> while <a>;
      repeat <b> until <!a>;
        a -     "a" = "False"
        !a -     "a" = "True"
        b -  
     :
      for(<a>[,<k>] in <b>) <c>;
        a -            /
        b - //     
        c -  
        k -       / 
     :
      for(<b>) <c>;
        b -       
        c -  
     :
      for(<a> = <b>,<c>[,<d>]) <e>;
        a -            /
        b -   ( )
        c -   (  )
        d - ,     = 1
        e -  
       :
      each(<a>[,<k>] [=|in] <b>) <c>;
        a -            /
        b -      
        c -  
        k -       / 
 :
  Ver   =><str>   -    
  Path  =><str>   -    (),     
  EXE   =><str>   -         
  PI    =><float> -     PI
  E     =><float> -     e
  Array =><array> -   

 :
  Input(<text>):val          
    -    
    text -       
    
  Output([<text>[,...]]):<str>
    -   / 

  Include(<Path>):<Function>
    -     
  
  Diap(<min>,<max>[,[<mask>][,<left>]]):<array>
    -      <min>  <max>, 
      <mask> -      
      <left> -  true,         ,    
  
  Tree():<Tree>
    -   
  
 :
  Param -      (    ).
     0 -   , 1 -   ,    
	
  DBF -       DBF
    DBF(<Path>[,<param>]):<dbfDB>
      -     DBF,     
      <Path> -     DBF   (:  "a/Test.dbf"   "a/Test")
      <param> -  .   "r","rw","w".   "rw".
    DBF.PackRec(<Path>):<int>
      -        .  -  .
    DBF.PackMemo(<Path>):<int>
      -     -.  -  .
    DBF.Fields(<Path>):<arfld>
      -   ,    
      <arFld> -    "[ '<FieldName>':>'<sets>',...]"
        <FieldName> -   (   10 )
        <sets> -      "<type>[,<size>[,<dec>]]"
          <type> -  ,  :
            "N" -  ( <size>  <dec>)
            "C" -  ( <size>)
            "L" - 
            "D" -    ""
            "M" - -
          <size> -  
          <dec> -   
    DBF.Create(<Path>,<arfld>):<DBF>
      -  DBF-    
    DBF.ReFields(<Path>,<arfld>):<DBF>
      -      ,            ,         ,    ,   
    DBF.InsertRec(<Path>,<Path>):<DBF>
      -         ,     
    DBF.Delete(<Path>):Null
      -   DBF-
    DBF.ReName(<Path>,<Path>):<DBF>
      - ,    DBF-          
    DBF.AsArray(<Path>,<Key>,<Val1>[,<Val2>,...]):<Array>
      -    , 
        <Path> -   
        <Key> - ,      
        <Val#> - ,      ,   
    DBF.ReVal(<Path>,<keyField>,{<value>[,<Mask>] | <arValue>[,[<FieldReVal>][,<Mask>]]}):<int>
      -    , 
        <Path>     -   
        <keyField> -    (      )
        
        <value>    - ,       (   ,      )
        <Mask>     -  ,     .
        
        <arValue>  -  ,      
      <FieldReVal> -  ,   .              .
    DBF.CopyData(<PathIn>,<PathOut>,<ArFld>):<DBF>
      -      <PathIn>   <PathOut> ( ), 
        <ArFld> - ,      ,            
    DBF.Copy(<PathIn>,<PathOut>):<DBF>
      -     DBF

  Excel -    xls   Microsoft Excel;
    Excel(<Path>):<ExcelDB>
      -    xls,     .
             ,   ,
             ,   .
    Excel["<name>"]:<ExcelDB>
      -     xls,        Excel
    Excel.Visible:<bool>
      -       Excel  COM.
    Excel.Close
      -    Excel.
    Excel.CloseAll
      -    .
    Excel.Book:<str>
      -    () Excel
    Excel.Sheild:<str>
      -       () Excel
    Excel.List:<array>
      -      

  ODBC -        ODBC
    ODBC(<SQL>):<odbcDB>
      -     SQL-
    ODBC.Param :<ParamODBC>
      -     ODBC-
    ODBC.Param.Set   -  /    
    ODBC.Param.Clear -    
    ODBC.Result :<int>
      -         SQL
  
   :
  <var>.Type     =><str>   -     ('func','int','float','str','bool','null',        'array')
  <var>.Low      =><int>   -  /   
  <var>.High     =><int>   -  /   
  <var>.Empty    =><bool>  -      
  <var>.<<       =>Null    -            (First)
  <var>.>>       =>Null    -             (Last)
  <var>.>        =>Null    -           (Next)
  <var>.<        =>Null    -      (Prior)
  <var>.Position =><value> -    ,    
  <var>.Element  =><value> -    ,     
  <var>.EOF      =><bool>  -  True,       
  <var>.Val      =><value>
  
***********************************************************************************************************************  

  <value>.IsNull =><bool>  -      
  <value>.to_b   =><bool>  -     
  <value>.to_i   =><int>   -      
  <value>.to_f   =><float> -      
  <value>.to_s   =><str>   -     
  <value>.Size   =><int>   -     /
  <value>.Dec    =><value> -      (1.Dec =>0; 1.3.Dec =>0.3; 'abc'.Dec => 'abb')
  <value>.Inc    =><value> -      (1.Inc =>2; 1.3.Inc =>2.3; 'abc'.Inc => 'abd')
*  <value>.Trunc  =><value> -   (1.4.Trunc => 1; '  test  '.Trunc => 'test')
  <value>.ExCol  =><value> -     Excel (5.ExCol => 'E'; 'AA'.ExCol => 26)

***********************************************************************************************************************  
  <Float>.Round  =><value> -     (1.5.Round => 2)

***********************************************************************************************************************  
  <str>.Upper   =><str>   -      
  <str>.Lower   =><str>   -      
  <str>.Trim    =><str>   -       
  <str>.Value   =><value> -       -   ,   
  
  <str>.Exists  =><bool>
  
  <str>.ExtractFileExt   =><str>
  <str>.ExtractFilePath  =><str>
  <str>.ExtractFileDrive =><str>
  <str>.ExtractFileDir   =><str>
  <str>.ExtractFileName  =><str>
  ===========================
  <str>.Split([<term>]):<array>
    -    ,  <term> -  ,          

***********************************************************************************************************************  

  <object>.Val  =><value> -     (      )

***********************************************************************************************************************  

  <Array>.Size    =><int>   -  -  
  <Array>.Right   =><value> -      ()
  <Array>.Left    =><value> -      ()
  <Array>.LKey    =><str>   -       ()
  <Array>.RKey    =><str>   -       ()
  <Array>.Pop     =><value> -          
  <Array>.Shift   =><value> -          
  <Array>.Keys    =><array> -   
  <Array>.Compact =><array> -     
  <Array>.Sum     =><Float> -     
  <Array>.Clone   =><array> -  
  
  <Array>.SortKey =><array>
  <Array>.SortVal =><array>
  ===========================
  <Array>.Push(<a>[,...]):<array>
    -       
  <Array>.UnShift(<a>[,...]):<array>
    -       
  <Array>.IsName(<a>):<bool>
    -    /   
  <Array>.IsVal(<a>):<bool>
    -      
  <Array>.Delete(<keys>[,...]):<bool>
    -   /   
  <Array>.Join([<term>]):<str>
    -      ,  <term> - ,     
  <Array>.SplitAll([<term>[,<KeyFor1>]]):<array>
    -      , 
      <term>    -  ,          
      <KeyFor1> -  ,  true,       
  <Array>.ReKeys([<vals>,...]):<array>
    -   ,       ,       
  <Array>.ReVal([<vals>,...]):<array>
    -   ,    ,     .
***********************************************************************************************************************    

  <dbfDB>.Cashe   =><int>   -    ( =0,   , ,     -  ,     )
  <dbfDB>.Deleted =><bool>  -   (    )
  <dbfDB>.Insert  =><dbfDB> -           (      Write)
  <dbfDB>.Clear   =><dbfDB> - ()    
  <dbfDB>.Fields  =><array> -     
* <dbfDB>.High    =><int>   -     
  <dbfDB>.Size    =><int>   -    
  <dbfDB>.Close   =>Null    -  .    .
  <dbfDB>.IsOpen  =><bool>  -  false,    
  <dbfDB>.IsMemos =><bool>  -  true,       1 -
  <dbfDB>.Read    =><dbfDB> -    (   )
  <dbfDB>.Write   =><dbfDB> -       
  <dbfDB>.Cols    =><int>   -  - 
  <dbfDB>.Rows    =><int>   -  - 
  <dbfDB>.List    =><array> -    
  <dbfDB>.Get     =><array> -     ,      ,     
  <dbfDB>.StrType =><int>   -   (->) (0 - Ansi->Ansi; 1(def) - ASCII->Ansi; 2 - Ansi->ASCII)
  <dbfDB>.<field> =><value> -      ( "<dbfDB>['<field>']")
  ============================
  <dbfDB>():<BaseDB>
    -     (  )
  <dbfDB>.By(<field>):<value> 
    -   (   )   (   )
  <dbfDB>.MemoRead(<num>):<str> 
    -     -   
  <dbfDB>.MemoWrite(<num>,<str>):<int>
    -   /   -
  <dbfDB>.Set(<array>):<dbfDB>
    -     ,         
  <dbfDB>.Line(<vals>[,...]):<dbfDB>
    -   ,      (    )
  
  <dbfDB>:[]  =><BaseDB>
    -     ()
  
***********************************************************************************************************************    
  
  <ExcelDB>.ShName   =><str>     -     ,       
  <ExcelDB>.Name     =><str>     -   (),    
  <ExcelDB>.FullName =><str>     -      ()
  <ExcelDB>.Save     =>Null      -  ()     
  <ExcelDB>.Activate =>Null      -   ()    Excel
  <ExcelDB>.Select   =>Null      -      ()    Excel
  <ExcelDB>.Delete   =>Null      -       
  <ExcelDB>.Rows     =><int>     -    ,     ()
  <ExcelDB>.Cols     =><str>     -    ,     ()
  <ExcelDB>.Close    =>Null      -   ()
  <ExcelDB>.List     =><array>   -      ()
  <ExcelDB>.<ShName> =><ExcelDB> -       ( "<ExcelDB>('<ShName>')")
  <ExcelDB>.<ColRow> =><Value>   -      ( "<ExcelDB>['<ColRow>')")
  <ExcelDB>.<Col>    =><Value>   -         ( "<ExcelDB>['<Col>']")
  ============================
  <ExcelDB>(<Sheild>):<ExcelDB>
    -        
  <ExcelDB>.SaveAs(<NewName>):Null
    -   ()     
  <ExcelDB>.AddList(<NewName>):<ExcelDB> 
    -         ()
  <ExcelDB>.Format(<Rng>[,<Rng2>]):<ExcelFormat>
    -          1 
  <ExcelDB>.Cut(<Rng>[,<Rng2>]):<ExcelDB>
    - 
  <ExcelDB>.Copy(<Rng>[,<Rng2>]):<ExcelDB>
    - 
  <ExcelDB>.Paste(<Rng>[,<Rng2>]):<ExcelDB>
    - 
  <ExcelDB>.Clean(<Rng>[,<Rng2>]):<ExcelDB>
    - 
    
  <ExcelDB>:[]   =><BaseDB>
    -      
***********************************************************************************************************************
  
  <ExcelFormat>.Value        =><value> - /   
  <ExcelFormat>.Bold         =><Bool>
  <ExcelFormat>.B            =><Bool>  -  
  <ExcelFormat>.Italic       =><Bool>
  <ExcelFormat>.I            =><Bool>  -  
  <ExcelFormat>.Strike       =><Bool>
  <ExcelFormat>.S            =><Bool>  -  
  <ExcelFormat>.BgColor      =><Int>
  <ExcelFormat>.BG           =><Int>   -  
  <ExcelFormat>.FontName     =><Str>
  <ExcelFormat>.Familly      =><Str>   -   
  <ExcelFormat>.FontSize     =><Int>
  <ExcelFormat>.Size         =><Int>   -  
  <ExcelFormat>.FontColor    =><Int>
  <ExcelFormat>.Color        =><Int>   -  
  <ExcelFormat>.Clear  =><ExcelFormat> -   
  <ExcelFormat>.BorderStyle  =><Str>
  <ExcelFormat>.Line         =><Str>   -   
       :
      'Single'  '-' -  
      'Dash'  '--' -  
      'DashDot'  '-.' -    ...
      'DashDotDot'  '-..' -      ...
      'Dot'  '.' -   
      'Double'  '=' -   
      'SlantDashDot'  '=-' -    
         -  
  <ExcelFormat>.BorderColor  =><Int>
  <ExcelFormat>.LineColor    =><Int>   -   
  <ExcelFormat>.BorderWeight =><Str>
  <ExcelFormat>.Weight       =><Str>   -   
       :
      'HairLine', 'Medium', 'Thick', 'Thin'
  <ExcelFormat>.Align        =><Str>   -    
       :
      'Left'  '<'  -   
      'Right'  '>' -   
           -  
  <ExcelFormat>.VAlign       =><Str>   -    
       :
      'Top'  '^'    - 
      'Bottom'  'v' - 
            -  
  <ExcelFormat>.UnderLine    =><Str>
  <ExcelFormat>.U            =><Str>   -  
       :
    'Single'  '-' -  
    'Double'  '=' -  
          -  
  <ExcelFormat>.Close        =>Null    -  
  <ExcelFormat>.Merge        =><Bool>  - /  
  ============================
  <ExcelFormat>(<Bordur>):<ExcelFormat>
    -   ,  <Bordur>    :
      'DiagDown'   -    -  -
      'DiagUp'     -    -  -
      'Bottom'     -  
      'Top'        -  
      'Left'       -  
      'Right'      -  
      'Horizontal' -   
      'Vertical'   -   
 
         1  40     :
    'Black', 'White', 'Red', 'Green', 'Blue', 'Yellow', 'Purpure', 'Aqua', 'DarkRed', 
    'DarkgGeen', 'DarkBlue', 'Olive', 'DarkPunk', 'Teal', 'LightGray', 'Gray'
          ()
  
***********************************************************************************************************************
  <odbcDB>.Cols    =><int>   -  - 
  <odbcDB>.Rows    =><int>   -  - 
  <odbcDB>.List    =><array> -    
  <odbcDB>.<field> =><value> -      ( "<odbcDB>['<field>']")
  ============================
  <dbfDB>():<BaseDB>
    -    
  <dbfDB>.By(<field>):<value>
    -   (   )   (   )
  
  <dbfDB>:[]  =><BaseDB>
    -     ()

***********************************************************************************************************************    
  <BaseDB>.AllRow =><BaseDB>  -     (    ":[1..-1]")
  <BaseDB>.Sum   =><Value>   -      
  ============================
  <BaseDB>.Filter(<ArFlt>[,<Dels>]):<BaseDB>
    -       
    <ArFlt> -        "[ '<FieldName>':>'<Mask>',...]"
      <FieldName> -       
      <Mask> -      "?R..."
        ? -  .   : 
          "=" -   ( )
          "!" -   (  )
          "@" -     
          "^" -     
          ">" -     
          "<" -     
          "]" -         
          "[" -         
          "0" -    c  
           -     
        R -   
          "R" -        
          "r" - "R"+   (  Trim)
          "L" -      
          "l" - "L"+  
          "U" -      
          "u" - "U"+  
          "T" -        
          "t" -     
        ... -   ( )
    <Dels> -   (  false)
      false -          1   
      true  -          1   
 ***********************************************************************************************************************    
   
   <Tree>.Path        =><str>            -     
   <Tree>.Data        =><value>          -        
   <Tree>.DataClear   =><Tree>           -      
   <Tree>.Clear       =><Tree>           -     
   <Tree>.DestroyList =><Tree>           -            
   <Tree>.Name        =><str>            -     
   <Tree>.Parent      =><Tree>           -  
   <Tree>.Base        =><Tree>           -  
   <Tree>.Count       =><int>            -      
*  <Tree>.Size        =><int>            -       
   <Tree>.Sort        =><Tree>           -   
   <Tree>.SortAll     =><Tree>           -         
   <Tree>.List        =><arrayName>      -        
   <Tree>.Get         =><AsArrayTree>    -       
   <Tree>.Datas       =><AsArrayValues>  -         
   <Tree>.to_a        =><AsArrayValues>  -           
   <Tree>.Close       =>Null             -         (    )
*  <Tree>.Element     =><Tree>           -  ,    ,    
   <Tree>.DataIsNull  =><Bool>
   <Tree>.ListAll     =><arrayName>
  ============================
  <Tree>(<Path>):<Tree>
    -     ,
            :
      \\  /  -   
      >         -   
      
       ('dir/subdir1/end2' , 'dir>1/end2' , '>1>1>2' )
  <Tree>(<Name>,<Path>):<Tree>
    -          
      ( ('') -   )
    
  <Tree>.SaveAs(<PathName>):<Tree>
    -     
  <Tree>.Load(<PathName>):<Tree>
    -     
  <Tree>.Index(<Name>):<str>
    -         
  <Tree>.rIndex(<Name>):<str>
    -         
  <Tree>.Delete(<Num>):<Tree>
    -       
  
  <Tree>[<Name>]  =><BaseDB>
    -  ()         
  <Tree>:[<Name>]  =><BaseDB>
    -            