Bladeren bron

* moved printstatus to verb_def
+ V_Normal which is between V_Error and V_Warning and doesn't have a
prefix like error: warning: and is included in V_Default
* fixed some messages
* first time parameter scan is only for -v and -T
- removed old style messages

peter 27 jaren geleden
bovenliggende
commit
4c96df6b43
17 gewijzigde bestanden met toevoegingen van 1493 en 1799 verwijderingen
  1. 10 2
      compiler/cgi386.pas
  2. 13 3
      compiler/files.pas
  3. 19 14
      compiler/link.pas
  4. 0 5
      compiler/msgidx.inc
  5. 924 929
      compiler/msgtxt.inc
  6. 2 0
      compiler/optidx.inc
  7. 5 4
      compiler/optione.msg
  8. 287 284
      compiler/optmsg.inc
  9. 37 57
      compiler/parser.pas
  10. 13 45
      compiler/pbase.pas
  11. 21 5
      compiler/pmodules.pas
  12. 9 27
      compiler/pp.pas
  13. 19 19
      compiler/scanner.pas
  14. 14 15
      compiler/tree.pas
  15. 12 152
      compiler/types.pas
  16. 68 124
      compiler/verb_def.pas
  17. 40 114
      compiler/verbose.pas

+ 10 - 2
compiler/cgi386.pas

@@ -2844,7 +2844,7 @@ implementation
                                     { direct call to inherited method }
                                     if (p^.procdefinition^.options and poabstractmethod)<>0 then
                                       begin
-                                         error(cg_e_cant_call_abstract_method);
+                                         Message(cg_e_cant_call_abstract_method);
                                          goto dont_call;
                                       end;
                                     { generate no virtual call }
@@ -5982,7 +5982,15 @@ do_jmp:
 end.
 {
   $Log$
-  Revision 1.22  1998-05-07 00:17:00  peter
+  Revision 1.23  1998-05-12 10:46:58  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.22  1998/05/07 00:17:00  peter
     * smartlinking for sets
     + consts labels are now concated/generated in hcodegen
     * moved some cpu code to cga and some none cpu depended code from cga

+ 13 - 3
compiler/files.pas

@@ -96,6 +96,7 @@ unit files;
           do_assemble,              { only assemble the object, don't recompile }
           do_compile,               { need to compile the sources }
           sources_avail,            { if all sources are reachable }
+          is_unit,
           in_implementation,        { processing the implementation part? }
           in_main       : boolean;  { global, after uses else false }
 
@@ -123,7 +124,7 @@ unit files;
           arfilename,               { fullname of the archivefile }
           mainsource    : pstring;  { name of the main sourcefile }
 
-          constructor init(const s:string;is_unit:boolean);
+          constructor init(const s:string;_is_unit:boolean);
           destructor special_done;virtual; { this is to be called only when compiling again }
 
           procedure setfilename(const path,name:string);
@@ -822,7 +823,7 @@ unit files;
 
 
 
-    constructor tmodule.init(const s:string;is_unit:boolean);
+    constructor tmodule.init(const s:string;_is_unit:boolean);
       var
         p : dirstr;
         n : namestr;
@@ -854,6 +855,7 @@ unit files;
          compiled:=false;
          in_implementation:=false;
          in_main:=false;
+         is_unit:=_is_unit;
          uses_imports:=false;
          imports:=new(plinkedlist,init);
          output_format:=commandline_output_format;
@@ -907,7 +909,15 @@ unit files;
 end.
 {
   $Log$
-  Revision 1.10  1998-05-11 13:07:53  peter
+  Revision 1.11  1998-05-12 10:46:59  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.10  1998/05/11 13:07:53  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 19 - 14
compiler/link.pas

@@ -187,7 +187,6 @@ var
 begin
   if pos('.',s)=0 then
    s:=s+ext;
-//  s:=FixFileName(s);
   if FileExists(s) then
    begin
      FindLibraryFile:=s;
@@ -343,21 +342,20 @@ begin
   if Strip then
    LinkOptions:=LinkOptions+target_link.stripopt;
 
+{ Add library searchpath to the commandline }
+
   S2:=LibrarySearchPath;
-  Writeln ('Librarysearchpath : ',S2);
   Repeat
-    I:=Pos(';',S2);
-    If I<>0 then
-      begin
-      S:=Copy(S2,1,I-1);
-      Delete (S2,1,I);
-      end
-    else
-      S:=S2;
+    i:=Pos(';',S2);
+    If i=0 then
+     i:=255;
+    S:=Copy(S2,1,i-1);
     If S<>'' then
       LinkOptions:=LinkOptions+' -L'+s;
-  until S='';
-   
+    Delete (S2,1,i);
+  until S2='';
+
+
 { Write used files and libraries }
   WriteResponseFile;
 
@@ -368,7 +366,6 @@ begin
   Replace(s,'$EXE',exename);
   Replace(s,'$OPT',LinkOptions);
   Replace(s,'$RES',inputdir+LinkResName);
-  Writeln ('Linker options : ',s);
   success:=DoExec(FindLinker,s,true,false);
 
 {Bind}
@@ -446,7 +443,15 @@ end;
 end.
 {
   $Log$
-  Revision 1.8  1998-05-11 13:07:54  peter
+  Revision 1.9  1998-05-12 10:46:59  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.8  1998/05/11 13:07:54  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 0 - 5
compiler/msgidx.inc

@@ -51,10 +51,6 @@
 }
 type
   tmsgconst = (
-general_i_kb_free,
-general_l_lines_and_free,
-general_i_stream_kb_free,
-general_i_ems_kb_free,
 general_i_compilername,
 general_i_unitsearchpath,
 general_d_sourceos,
@@ -457,7 +453,6 @@ unit_f_too_much_units,
 unit_f_circular_unit_reference,
 unit_f_cant_compile_unit,
 unit_w_switch_us_missed,
-unit_e_total_errors,
 unit_f_errors_in_unit,
 {This should be the last}
 endmsgconst

+ 924 - 929
compiler/msgtxt.inc

@@ -1,943 +1,938 @@
-const msgtxt : array[1..14129] of char=(
-  'I','_','$','1',' ','k','B',' ','f','r','e','e',#000,'L','_',
-  '$','1',' ','l','i','n','e','s',' ','$','2',' ','k','B',' ',
-  'f','r','e','e',#000,'I','_','$','1',' ','s','t','r','e','a',
-  'm',' ','k','B',' ','u','s','e','d',#000,'I','_','$','1',' ',
-  'E','M','S',' ','k','B',' ','u','s','e','d',#000,'I','_','C',
-  'o','m','p','i','l','e','r',':',' ','$','1',#000,'I','_','U',
-  'n','i','t','s',' ','a','r','e',' ','s','e','a','r','c','h',
-  'e','d',' ','i','n',':',' ','$','1',#000,'D','_','S','o','u',
-  'r','c','e',' ','O','S',':',' ','$','1',#000,'I','_','T','a',
-  'r','g','e','t',' ','O','S',':',' ','$','1',#000,'U','_','U',
-  's','i','n','g',' ','e','x','e','c','u','t','a','b','l','e',
-  ' ','p','a','t','h',':',' ','$','1',#000,'U','_','U','s','i',
-  'n','g',' ','G','C','C','l','i','b',' ','p','a','t','h',':',
-  ' ','$','1',#000,'I','_','$','1',' ','L','i','n','e','s',' ',
-  'c','o','m','p','i','l','e','d',',',' ','$','2',' ','s','e',
-  'c',#000,'F','_','U','n','e','x','p','e','c','t','e','d',' ',
-  'e','n','d',' ','o','f',' ','f','i','l','e',#000,'F','_','S',
-  't','r','i','n','g',' ','e','x','c','e','e','d','s',' ','l',
-  'i','n','e',#000,'F','_','i','l','l','e','g','a','l',' ','c',
-  'h','a','r','a','c','t','e','r',#000,'F','_','S','y','n','t',
-  'a','x',' ','e','r','r','o','r',' ','$','2',' ','e','x','p',
-  'e','c','t','e','d',' ','a','t',' ','c','o','l',' ','$','1',
-  #000,'U','_','S','t','a','r','t',' ','r','e','a','d','i','n',
-  'g',' ','i','n','c','l','u','d','e','f','i','l','e',' ','$',
-  '1',#000,'W','_','C','o','m','m','e','n','t',' ','l','e','v',
-  'e','l',' ','$','1',' ','f','o','u','n','d',#000,'N','_','$',
-  'F',' ','d','i','r','e','c','t','i','v','e',' ','(','F','A',
-  'R',')',' ','i','g','n','o','r','e','d',#000,'N','_','S','t',
-  'a','c','k',' ','c','h','e','c','k',' ','i','s',' ','g','l',
-  'o','b','a','l',' ','u','n','d','e','r',' ','l','i','n','u',
-  'x',#000,'W','_','I','l','l','e','g','a','l',' ','c','o','m',
-  'p','i','l','e','r',' ','s','w','i','t','c','h',#000,'W','_',
-  'T','h','i','s',' ','c','o','m','p','i','l','e','r',' ','s',
-  'w','i','t','c','h',' ','h','a','s',' ','a',' ','g','l','o',
-  'b','a','l',' ','e','f','f','e','c','t',#000,'E','_','I','l',
-  'l','e','g','a','l',' ','c','h','a','r',' ','c','o','n','s',
-  't','a','n','t',#000,'F','_','C','a','n',#039,'t',' ','o','p',
-  'e','n',' ','f','i','l','e',#000,'F','_','C','a','n',#039,'t',
-  ' ','o','p','e','n',' ','i','n','c','l','u','d','e',' ','f',
-  'i','l','e',' ','$','1',#000,'E','_','T','o','o',' ','m','a',
-  'n','y',' ','$','E','N','D','I','F','s',' ','o','r',' ','$',
-  'E','L','S','E','s',#000,'W','_','R','e','c','o','r','d','s',
-  ' ','f','i','e','l','d','s',' ','c','a','n',' ','b','e',' ',
-  'a','l','i','g','n','e','d',' ','t','o',' ','1',',','2',' ',
-  'o','r',' ','4',' ','b','y','t','e','s',' ','o','n','l','y',
-  #000,'E','_','$','1',' ','e','x','p','e','c','t','e','d',' ',
-  'f','o','r',' ','$','2',' ','d','e','f','i','n','e','d',' ',
-  'i','n',' ','l','i','n','e',' ','$','3',#000,'E','_','S','y',
-  'n','t','a','x',' ','e','r','r','o','r',' ','w','h','i','l',
-  'e',' ','p','a','r','s','i','n','g',' ','a',' ','c','o','n',
-  'd','i','t','i','o','n','a','l',' ','c','o','m','p','i','l',
-  'i','n','g',' ','e','x','p','r','e','s','s','i','o','n',#000,
-  'E','_','E','v','a','l','u','a','t','i','n','g',' ','a',' ',
+const msgtxt : array[1..14043] of char=(
+  'I','_','C','o','m','p','i','l','e','r',':',' ','$','1',#000,
+  'I','_','U','n','i','t','s',' ','a','r','e',' ','s','e','a',
+  'r','c','h','e','d',' ','i','n',':',' ','$','1',#000,'D','_',
+  'S','o','u','r','c','e',' ','O','S',':',' ','$','1',#000,'I',
+  '_','T','a','r','g','e','t',' ','O','S',':',' ','$','1',#000,
+  'U','_','U','s','i','n','g',' ','e','x','e','c','u','t','a',
+  'b','l','e',' ','p','a','t','h',':',' ','$','1',#000,'U','_',
+  'U','s','i','n','g',' ','G','C','C','l','i','b',' ','p','a',
+  't','h',':',' ','$','1',#000,'I','_','$','1',' ','L','i','n',
+  'e','s',' ','c','o','m','p','i','l','e','d',',',' ','$','2',
+  ' ','s','e','c',#000,'F','_','U','n','e','x','p','e','c','t',
+  'e','d',' ','e','n','d',' ','o','f',' ','f','i','l','e',#000,
+  'F','_','S','t','r','i','n','g',' ','e','x','c','e','e','d',
+  's',' ','l','i','n','e',#000,'F','_','i','l','l','e','g','a',
+  'l',' ','c','h','a','r','a','c','t','e','r',#000,'F','_','S',
+  'y','n','t','a','x',' ','e','r','r','o','r',' ','$','2',' ',
+  'e','x','p','e','c','t','e','d',' ','a','t',' ','c','o','l',
+  ' ','$','1',#000,'U','_','S','t','a','r','t',' ','r','e','a',
+  'd','i','n','g',' ','i','n','c','l','u','d','e','f','i','l',
+  'e',' ','$','1',#000,'W','_','C','o','m','m','e','n','t',' ',
+  'l','e','v','e','l',' ','$','1',' ','f','o','u','n','d',#000,
+  'N','_','$','F',' ','d','i','r','e','c','t','i','v','e',' ',
+  '(','F','A','R',')',' ','i','g','n','o','r','e','d',#000,'N',
+  '_','S','t','a','c','k',' ','c','h','e','c','k',' ','i','s',
+  ' ','g','l','o','b','a','l',' ','u','n','d','e','r',' ','l',
+  'i','n','u','x',#000,'W','_','I','l','l','e','g','a','l',' ',
+  'c','o','m','p','i','l','e','r',' ','s','w','i','t','c','h',
+  #000,'W','_','T','h','i','s',' ','c','o','m','p','i','l','e',
+  'r',' ','s','w','i','t','c','h',' ','h','a','s',' ','a',' ',
+  'g','l','o','b','a','l',' ','e','f','f','e','c','t',#000,'E',
+  '_','I','l','l','e','g','a','l',' ','c','h','a','r',' ','c',
+  'o','n','s','t','a','n','t',#000,'F','_','C','a','n',#039,'t',
+  ' ','o','p','e','n',' ','f','i','l','e',#000,'F','_','C','a',
+  'n',#039,'t',' ','o','p','e','n',' ','i','n','c','l','u','d',
+  'e',' ','f','i','l','e',' ','$','1',#000,'E','_','T','o','o',
+  ' ','m','a','n','y',' ','$','E','N','D','I','F','s',' ','o',
+  'r',' ','$','E','L','S','E','s',#000,'W','_','R','e','c','o',
+  'r','d','s',' ','f','i','e','l','d','s',' ','c','a','n',' ',
+  'b','e',' ','a','l','i','g','n','e','d',' ','t','o',' ','1',
+  ',','2',' ','o','r',' ','4',' ','b','y','t','e','s',' ','o',
+  'n','l','y',#000,'E','_','$','1',' ','e','x','p','e','c','t',
+  'e','d',' ','f','o','r',' ','$','2',' ','d','e','f','i','n',
+  'e','d',' ','i','n',' ','l','i','n','e',' ','$','3',#000,'E',
+  '_','S','y','n','t','a','x',' ','e','r','r','o','r',' ','w',
+  'h','i','l','e',' ','p','a','r','s','i','n','g',' ','a',' ',
   'c','o','n','d','i','t','i','o','n','a','l',' ','c','o','m',
   'p','i','l','i','n','g',' ','e','x','p','r','e','s','s','i',
-  'o','n',#000,'W','_','M','a','c','r','o',' ','c','o','n','t',
-  'e','n','t','s',' ','i','s',' ','c','u','t',' ','a','f','t',
-  'e','r',' ','c','h','a','r',' ','2','5','5',' ','t','o',' ',
-  'e','v','a','l','u','t','e',' ','e','x','p','r','e','s','s',
-  'i','o','n',#000,'E','_','E','N','D','I','F',' ','w','i','t',
-  'h','o','u','t',' ','I','F','(','N',')','D','E','F',#000,'F',
+  'o','n',#000,'E','_','E','v','a','l','u','a','t','i','n','g',
+  ' ','a',' ','c','o','n','d','i','t','i','o','n','a','l',' ',
+  'c','o','m','p','i','l','i','n','g',' ','e','x','p','r','e',
+  's','s','i','o','n',#000,'W','_','M','a','c','r','o',' ','c',
+  'o','n','t','e','n','t','s',' ','i','s',' ','c','u','t',' ',
+  'a','f','t','e','r',' ','c','h','a','r',' ','2','5','5',' ',
+  't','o',' ','e','v','a','l','u','t','e',' ','e','x','p','r',
+  'e','s','s','i','o','n',#000,'E','_','E','N','D','I','F',' ',
+  'w','i','t','h','o','u','t',' ','I','F','(','N',')','D','E',
+  'F',#000,'F','_','U','s','e','r',' ','d','e','f','i','n','e',
+  'd',':',' ','$','1',#000,'E','_','U','s','e','r',' ','d','e',
+  'f','i','n','e','d',':',' ','$','1',#000,'W','_','U','s','e',
+  'r',' ','d','e','f','i','n','e','d',':',' ','$','1',#000,'N',
   '_','U','s','e','r',' ','d','e','f','i','n','e','d',':',' ',
-  '$','1',#000,'E','_','U','s','e','r',' ','d','e','f','i','n',
-  'e','d',':',' ','$','1',#000,'W','_','U','s','e','r',' ','d',
-  'e','f','i','n','e','d',':',' ','$','1',#000,'N','_','U','s',
-  'e','r',' ','d','e','f','i','n','e','d',':',' ','$','1',#000,
-  'H','_','U','s','e','r',' ','d','e','f','i','n','e','d',':',
-  ' ','$','1',#000,'I','_','U','s','e','r',' ','d','e','f','i',
-  'n','e','d',':',' ','$','1',#000,'E','_','K','e','y','w','o',
-  'r','d',' ','r','e','d','e','f','i','n','e','d',' ','a','s',
-  ' ','m','a','c','r','o',' ','h','a','s',' ','n','o',' ','e',
-  'f','f','e','c','t',#000,'F','_','M','a','c','r','o',' ','b',
-  'u','f','f','e','r',' ','o','v','e','r','f','l','o','w',' ',
-  'w','h','i','l','e',' ','r','e','a','d','i','n','g',' ','o',
-  'r',' ','e','x','p','a','n','d','i','n','g',' ','a',' ','m',
-  'a','c','r','o',#000,'W','_','E','x','t','e','n','s','i','o',
-  'n',' ','o','f',' ','m','a','c','r','o','s',' ','e','x','c',
-  'e','e','d','s',' ','a',' ','d','e','e','p',' ','o','f',' ',
-  '1','6',',',' ','p','e','r','h','a','p','s',' ','t','h','e',
-  'r','e',' ','i','s',' ','a',' ','r','e','c','u','r','s','i',
-  'v','e',' ','m','a','c','r','o',' ','d','e','f','i','n','i',
-  't','i','o','n',' ','(','c','r','a','s','h','e','s',' ','t',
-  'h','e',' ','c','o','m','p','i','l','e','r',')',#000,'E','_',
-  'c','o','m','p','i','l','e','r',' ','s','w','i','t','c','h',
-  'e','s',' ','a','r','e','n',#039,'t',' ','a','l','l','o','w',
-  'e','d',' ','i','n',' ','(','*',' ','.','.','.',' ','*',')',
-  ' ','s','t','y','l','e','d',' ','c','o','m','m','e','n','t',
-  's',#000,'D','_','H','a','n','d','l','i','n','g',' ','s','w',
-  'i','t','c','h',' ','"','$','1','"',#000,'C','_','E','N','D',
-  'I','F',' ','$','1',' ','f','o','u','n','d',#000,'C','_','I',
-  'F','D','E','F',' ','$','1',' ','f','o','u','n','d',',',' ',
-  '$','2',#000,'C','_','I','F','O','P','T',' ','$','1',' ','f',
-  'o','u','n','d',',',' ','$','2',#000,'C','_','I','F',' ','$',
+  '$','1',#000,'H','_','U','s','e','r',' ','d','e','f','i','n',
+  'e','d',':',' ','$','1',#000,'I','_','U','s','e','r',' ','d',
+  'e','f','i','n','e','d',':',' ','$','1',#000,'E','_','K','e',
+  'y','w','o','r','d',' ','r','e','d','e','f','i','n','e','d',
+  ' ','a','s',' ','m','a','c','r','o',' ','h','a','s',' ','n',
+  'o',' ','e','f','f','e','c','t',#000,'F','_','M','a','c','r',
+  'o',' ','b','u','f','f','e','r',' ','o','v','e','r','f','l',
+  'o','w',' ','w','h','i','l','e',' ','r','e','a','d','i','n',
+  'g',' ','o','r',' ','e','x','p','a','n','d','i','n','g',' ',
+  'a',' ','m','a','c','r','o',#000,'W','_','E','x','t','e','n',
+  's','i','o','n',' ','o','f',' ','m','a','c','r','o','s',' ',
+  'e','x','c','e','e','d','s',' ','a',' ','d','e','e','p',' ',
+  'o','f',' ','1','6',',',' ','p','e','r','h','a','p','s',' ',
+  't','h','e','r','e',' ','i','s',' ','a',' ','r','e','c','u',
+  'r','s','i','v','e',' ','m','a','c','r','o',' ','d','e','f',
+  'i','n','i','t','i','o','n',' ','(','c','r','a','s','h','e',
+  's',' ','t','h','e',' ','c','o','m','p','i','l','e','r',')',
+  #000,'E','_','c','o','m','p','i','l','e','r',' ','s','w','i',
+  't','c','h','e','s',' ','a','r','e','n',#039,'t',' ','a','l',
+  'l','o','w','e','d',' ','i','n',' ','(','*',' ','.','.','.',
+  ' ','*',')',' ','s','t','y','l','e','d',' ','c','o','m','m',
+  'e','n','t','s',#000,'D','_','H','a','n','d','l','i','n','g',
+  ' ','s','w','i','t','c','h',' ','"','$','1','"',#000,'C','_',
+  'E','N','D','I','F',' ','$','1',' ','f','o','u','n','d',#000,
+  'C','_','I','F','D','E','F',' ','$','1',' ','f','o','u','n',
+  'd',',',' ','$','2',#000,'C','_','I','F','O','P','T',' ','$',
   '1',' ','f','o','u','n','d',',',' ','$','2',#000,'C','_','I',
-  'F','N','D','E','F',' ','$','1',' ','f','o','u','n','d',',',
-  ' ','$','2',#000,'C','_','E','L','S','E',' ','$','1',' ','f',
-  'o','u','n','d',',',' ','$','2',#000,'C','_','S','k','i','p',
-  'p','i','n','g',' ','u','n','t','i','l','.','.','.',#000,'I',
-  '_','P','r','e','s','s',' ','<','r','e','t','u','r','n','>',
-  ' ','t','o',' ','c','o','n','t','i','n','u','e',#000,'W','_',
-  'U','n','s','u','p','p','o','r','t','e','d',' ','s','w','i',
-  't','c','h',' ','$','1',#000,'W','_','I','l','l','e','g','a',
-  'l',' ','c','o','m','p','i','l','e','r',' ','d','i','r','e',
-  'c','t','i','v','e',' ','$','1',#000,'E','_','P','a','r','s',
-  'e','r',' ','-',' ','S','y','n','t','a','x',' ','E','r','r',
-  'o','r',#000,'W','_','P','r','o','c','e','d','u','r','e',' ',
-  't','y','p','e',' ','F','A','R',' ','i','g','n','o','r','e',
-  'd',#000,'W','_','P','r','o','c','e','d','u','r','e',' ','t',
-  'y','p','e',' ','N','E','A','R',' ','i','g','n','o','r','e',
-  'd',#000,'E','_','N','o',' ','D','L','L',' ','F','i','l','e',
-  ' ','s','p','e','c','i','f','i','e','d',#000,'E','_','C','o',
-  'n','s','t','r','u','c','t','o','r',' ','n','a','m','e',' ',
-  'm','u','s','t',' ','b','e',' ','I','N','I','T',#000,'E','_',
-  'D','e','s','t','r','u','c','t','o','r',' ','n','a','m','e',
-  ' ','m','u','s','t',' ','b','e',' ','D','O','N','E',#000,'E',
-  '_','I','l','l','e','g','a','l',' ','o','p','e','n',' ','p',
-  'a','r','a','m','e','t','e','r',#000,'E','_','P','r','o','c',
-  'e','d','u','r','e',' ','t','y','p','e',' ','I','N','L','I',
-  'N','E',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
-  'd',#000,'W','_','P','r','i','v','a','t','e',' ','m','e','t',
-  'h','o','d','s',' ','s','h','o','u','l','d','n',#039,'t',' ',
-  'b','e',' ','V','I','R','T','U','A','L',#000,'W','_','C','o',
-  'n','s','t','r','u','c','t','o','r',' ','s','h','o','u','l',
-  'd',' ','b','e',' ','p','u','b','l','i','c',#000,'W','_','D',
-  'e','s','t','r','u','c','t','o','r',' ','s','h','o','u','l',
-  'd',' ','b','e',' ','p','u','b','l','i','c',#000,'N','_','C',
-  'l','a','s','s',' ','s','h','o','u','l','d',' ','h','a','v',
-  'e',' ','o','n','e',' ','d','e','s','t','r','u','c','t','o',
-  'r',' ','o','n','l','y',#000,'E','_','L','o','c','a','l',' ',
-  'c','l','a','s','s',' ','d','e','f','i','n','i','t','i','o',
-  'n','s',' ','a','r','e',' ','n','o','t',' ','a','l','l','o',
-  'w','e','d',#000,'E','_','A','n','o','n','y','m',' ','c','l',
-  'a','s','s',' ','d','e','f','i','n','i','t','i','o','n','s',
+  'F',' ','$','1',' ','f','o','u','n','d',',',' ','$','2',#000,
+  'C','_','I','F','N','D','E','F',' ','$','1',' ','f','o','u',
+  'n','d',',',' ','$','2',#000,'C','_','E','L','S','E',' ','$',
+  '1',' ','f','o','u','n','d',',',' ','$','2',#000,'C','_','S',
+  'k','i','p','p','i','n','g',' ','u','n','t','i','l','.','.',
+  '.',#000,'I','_','P','r','e','s','s',' ','<','r','e','t','u',
+  'r','n','>',' ','t','o',' ','c','o','n','t','i','n','u','e',
+  #000,'W','_','U','n','s','u','p','p','o','r','t','e','d',' ',
+  's','w','i','t','c','h',' ','$','1',#000,'W','_','I','l','l',
+  'e','g','a','l',' ','c','o','m','p','i','l','e','r',' ','d',
+  'i','r','e','c','t','i','v','e',' ','$','1',#000,'E','_','P',
+  'a','r','s','e','r',' ','-',' ','S','y','n','t','a','x',' ',
+  'E','r','r','o','r',#000,'W','_','P','r','o','c','e','d','u',
+  'r','e',' ','t','y','p','e',' ','F','A','R',' ','i','g','n',
+  'o','r','e','d',#000,'W','_','P','r','o','c','e','d','u','r',
+  'e',' ','t','y','p','e',' ','N','E','A','R',' ','i','g','n',
+  'o','r','e','d',#000,'E','_','N','o',' ','D','L','L',' ','F',
+  'i','l','e',' ','s','p','e','c','i','f','i','e','d',#000,'E',
+  '_','C','o','n','s','t','r','u','c','t','o','r',' ','n','a',
+  'm','e',' ','m','u','s','t',' ','b','e',' ','I','N','I','T',
+  #000,'E','_','D','e','s','t','r','u','c','t','o','r',' ','n',
+  'a','m','e',' ','m','u','s','t',' ','b','e',' ','D','O','N',
+  'E',#000,'E','_','I','l','l','e','g','a','l',' ','o','p','e',
+  'n',' ','p','a','r','a','m','e','t','e','r',#000,'E','_','P',
+  'r','o','c','e','d','u','r','e',' ','t','y','p','e',' ','I',
+  'N','L','I','N','E',' ','n','o','t',' ','s','u','p','p','o',
+  'r','t','e','d',#000,'W','_','P','r','i','v','a','t','e',' ',
+  'm','e','t','h','o','d','s',' ','s','h','o','u','l','d','n',
+  #039,'t',' ','b','e',' ','V','I','R','T','U','A','L',#000,'W',
+  '_','C','o','n','s','t','r','u','c','t','o','r',' ','s','h',
+  'o','u','l','d',' ','b','e',' ','p','u','b','l','i','c',#000,
+  'W','_','D','e','s','t','r','u','c','t','o','r',' ','s','h',
+  'o','u','l','d',' ','b','e',' ','p','u','b','l','i','c',#000,
+  'N','_','C','l','a','s','s',' ','s','h','o','u','l','d',' ',
+  'h','a','v','e',' ','o','n','e',' ','d','e','s','t','r','u',
+  'c','t','o','r',' ','o','n','l','y',#000,'E','_','L','o','c',
+  'a','l',' ','c','l','a','s','s',' ','d','e','f','i','n','i',
+  't','i','o','n','s',' ','a','r','e',' ','n','o','t',' ','a',
+  'l','l','o','w','e','d',#000,'E','_','A','n','o','n','y','m',
+  ' ','c','l','a','s','s',' ','d','e','f','i','n','i','t','i',
+  'o','n','s',' ','a','r','e',' ','n','o','t',' ','a','l','l',
+  'o','w','e','d',#000,'E','_','O','r','d','i','n','a','l',' ',
+  'v','a','l','u','e',' ','e','x','p','e','c','t','e','d',#000,
+  'E','_','I','l','l','e','g','a','l',' ','p','a','r','a','m',
+  'e','t','e','r',' ','l','i','s','t',#000,'E','_','o','v','e',
+  'r','l','o','a','d','e','d',' ','i','d','e','n','t','i','f',
+  'i','e','r',' ','i','s','n',#039,'t',' ','a',' ','f','u','n',
+  'c','t','i','o','n',' ','i','d','e','n','t','i','f','i','e',
+  'r',#000,'E','_','o','v','e','r','l','o','a','d','e','d',' ',
+  'f','u','n','c','t','i','o','n','s',' ','h','a','v','e',' ',
+  't','h','e',' ','s','a','m','e',' ','p','a','r','a','m','e',
+  't','e','r',' ','l','i','s','t',#000,'E','_','f','u','n','c',
+  't','i','o','n',' ','h','e','a','d','e','r',' ','d','o','e',
+  's','n',#039,'t',' ','m','a','t','c','h',' ','t','h','e',' ',
+  'f','o','r','w','a','r','d',' ','d','e','c','l','a','r','a',
+  't','i','o','n',' ','$','1',#000,'N','_','o','n','l','y',' ',
+  'v','a','l','u','e','s',' ','c','a','n',' ','b','e',' ','j',
+  'u','m','p','e','d',' ','o','v','e','r',' ','i','n',' ','e',
+  'n','u','m','e','r','a','t','i','o','n',' ','t','y','p','e',
+  's',#000,'N','_','I','n','t','e','r','f','a','c','e',' ','a',
+  'n','d',' ','i','m','p','l','e','m','e','n','t','a','t','i',
+  'o','n',' ','n','a','m','e','s',' ','a','r','e',' ','d','i',
+  'f','f','e','r','e','n','t',' ','!',#000,'E','_','f','u','n',
+  'c','t','i','o','n',' ','n','e','s','t','i','n','g',' ','>',
+  ' ','3','1',#000,'E','_','r','a','n','g','e',' ','c','h','e',
+  'c','k',' ','e','r','r','o','r',' ','w','h','i','l','e',' ',
+  'e','v','a','l','u','a','t','i','n','g',' ','c','o','n','s',
+  't','a','n','t','s',#000,'E','_','p','o','i','n','t','e','r',
+  ' ','t','y','p','e',' ','e','x','p','e','c','t','e','d',#000,
+  'E','_','c','l','a','s','s',' ','t','y','p','e',' ','e','x',
+  'p','e','c','t','e','d',#000,'E','_','d','u','p','l','i','c',
+  'a','t','e',' ','c','a','s','e',' ','l','a','b','e','l',#000,
+  'E','_','t','y','p','e','d',' ','c','o','n','s','t','a','n',
+  't','s',' ','o','f',' ','c','l','a','s','s','e','s',' ','a',
+  'r','e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,
+  'E','_','f','u','n','c','t','i','o','n','s',' ','v','a','r',
+  'i','a','b','l','e','s',' ','o','f',' ','o','v','e','r','l',
+  'o','a','d','e','d',' ','f','u','n','c','t','i','o','n','s',
   ' ','a','r','e',' ','n','o','t',' ','a','l','l','o','w','e',
-  'd',#000,'E','_','O','r','d','i','n','a','l',' ','v','a','l',
-  'u','e',' ','e','x','p','e','c','t','e','d',#000,'E','_','I',
-  'l','l','e','g','a','l',' ','p','a','r','a','m','e','t','e',
-  'r',' ','l','i','s','t',#000,'E','_','o','v','e','r','l','o',
-  'a','d','e','d',' ','i','d','e','n','t','i','f','i','e','r',
-  ' ','i','s','n',#039,'t',' ','a',' ','f','u','n','c','t','i',
-  'o','n',' ','i','d','e','n','t','i','f','i','e','r',#000,'E',
-  '_','o','v','e','r','l','o','a','d','e','d',' ','f','u','n',
-  'c','t','i','o','n','s',' ','h','a','v','e',' ','t','h','e',
-  ' ','s','a','m','e',' ','p','a','r','a','m','e','t','e','r',
-  ' ','l','i','s','t',#000,'E','_','f','u','n','c','t','i','o',
-  'n',' ','h','e','a','d','e','r',' ','d','o','e','s','n',#039,
-  't',' ','m','a','t','c','h',' ','t','h','e',' ','f','o','r',
-  'w','a','r','d',' ','d','e','c','l','a','r','a','t','i','o',
-  'n',' ','$','1',#000,'N','_','o','n','l','y',' ','v','a','l',
-  'u','e','s',' ','c','a','n',' ','b','e',' ','j','u','m','p',
-  'e','d',' ','o','v','e','r',' ','i','n',' ','e','n','u','m',
-  'e','r','a','t','i','o','n',' ','t','y','p','e','s',#000,'N',
-  '_','I','n','t','e','r','f','a','c','e',' ','a','n','d',' ',
-  'i','m','p','l','e','m','e','n','t','a','t','i','o','n',' ',
-  'n','a','m','e','s',' ','a','r','e',' ','d','i','f','f','e',
-  'r','e','n','t',' ','!',#000,'E','_','f','u','n','c','t','i',
-  'o','n',' ','n','e','s','t','i','n','g',' ','>',' ','3','1',
-  #000,'E','_','r','a','n','g','e',' ','c','h','e','c','k',' ',
-  'e','r','r','o','r',' ','w','h','i','l','e',' ','e','v','a',
-  'l','u','a','t','i','n','g',' ','c','o','n','s','t','a','n',
-  't','s',#000,'E','_','p','o','i','n','t','e','r',' ','t','y',
-  'p','e',' ','e','x','p','e','c','t','e','d',#000,'E','_','c',
-  'l','a','s','s',' ','t','y','p','e',' ','e','x','p','e','c',
-  't','e','d',#000,'E','_','d','u','p','l','i','c','a','t','e',
-  ' ','c','a','s','e',' ','l','a','b','e','l',#000,'E','_','t',
-  'y','p','e','d',' ','c','o','n','s','t','a','n','t','s',' ',
-  'o','f',' ','c','l','a','s','s','e','s',' ','a','r','e',' ',
-  'n','o','t',' ','a','l','l','o','w','e','d',#000,'E','_','f',
-  'u','n','c','t','i','o','n','s',' ','v','a','r','i','a','b',
-  'l','e','s',' ','o','f',' ','o','v','e','r','l','o','a','d',
-  'e','d',' ','f','u','n','c','t','i','o','n','s',' ','a','r',
-  'e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,'E',
-  '_','s','t','r','i','n','g',' ','l','e','n','g','t','h',' ',
-  'm','u','s','t',' ','b','e',' ','a',' ','v','a','l','u','e',
-  ' ','f','r','o','m',' ','1',' ','t','o',' ','2','5','5',#000,
-  'W','_','u','s','e',' ','e','x','t','e','n','d','e','d',' ',
-  's','y','n','t','a','x',' ','o','f',' ','D','I','S','P','O',
-  'S','E',' ','a','n','d',' ','N','E','W',' ','t','o',' ','g',
-  'e','n','e','r','a','t','e',' ','i','n','s','t','a','n','c',
-  'e','s',' ','o','f',' ','o','b','j','e','c','t','s',#000,'E',
-  '_','c','l','a','s','s',' ','i','d','e','n','t','i','f','i',
-  'e','r',' ','e','x','p','e','c','t','e','d',#000,'E','_','m',
-  'e','t','h','o','d',' ','i','d','e','n','t','i','f','i','e',
-  'r',' ','e','x','p','e','c','t','e','d',#000,'E','_','f','u',
-  'n','c','t','i','o','n',' ','h','e','a','d','e','r',' ','d',
-  'o','e','s','n',#039,'t',' ','m','a','t','c','h',' ','a','n',
-  'y',' ','m','e','t','h','o','d',' ','o','f',' ','t','h','i',
-  's',' ','c','l','a','s','s',#000,'P','_','p','r','o','c','e',
-  'd','u','r','e','/','f','u','n','c','t','i','o','n',' ','$',
-  '1',' ','(','$','2',')',' ','a','t',' ','l','i','n','e',' ',
-  '$','3',#000,'E','_','I','l','l','e','g','a','l',' ','f','l',
-  'o','a','t','i','n','g',' ','p','o','i','n','t',' ','c','o',
-  'n','s','t','a','n','t',#000,'E','_','F','A','I','L',' ','c',
-  'a','n',' ','b','e',' ','u','s','e','d',' ','i','n',' ','c',
-  'o','n','s','t','r','u','c','t','o','r','s',' ','o','n','l',
-  'y',#000,'E','_','D','e','s','t','r','u','c','t','o','r','s',
-  ' ','c','a','n',#039,'t',' ','h','a','v','e',' ','p','a','r',
-  'a','m','e','t','e','r','s',#000,'E','_','s','t','r','i','n',
-  'g',' ','t','y','p','e','s',' ','d','o','e','s','n',#039,'t',
-  ' ','m','a','t','c','h',',',' ','b','e','c','a','u','s','e',
-  ' ','o','f',' ','$','V','+',' ','m','o','d','e',#000,'E','_',
-  'O','n','l','y',' ','c','l','a','s','s',' ','m','e','t','h',
-  'o','d','s',' ','c','a','n',' ','b','e',' ','r','e','f','e',
-  'r','r','e','d',' ','w','i','t','h',' ','c','l','a','s','s',
-  ' ','r','e','f','e','r','e','n','c','e','s',#000,'E','_','O',
-  'n','l','y',' ','c','l','a','s','s',' ','m','e','t','h','o',
-  'd','s',' ','c','a','n',' ','b','e',' ','a','c','c','e','s',
-  's','e','d',' ','i','n',' ','c','l','a','s','s',' ','m','e',
-  't','h','o','d','s',#000,'E','_','C','o','n','s','t','a','n',
-  't',' ','a','n','d',' ','C','A','S','E',' ','t','y','p','e',
-  's',' ','d','o',' ','n','o','t',' ','m','a','t','c','h',#000,
-  'E','_','T','h','e',' ','s','y','m','b','o','l',' ','c','a',
-  'n',#039,'t',' ','b','e',' ','e','x','p','o','r','t','e','d',
-  ' ','f','r','o','m',' ','a',' ','l','i','b','r','a','r','y',
-  #000,'W','_','A',' ','i','n','h','e','r','i','t','e','d',' ',
-  'm','e','t','h','o','d',' ','i','s',' ','h','i','d','d','e',
-  'n',' ','b','y',' ','$','1',#000,'E','_','T','h','e','r','e',
-  ' ','i','s',' ','n','o',' ','m','e','t','h','o','d',' ','i',
-  'n',' ','a','n',' ','a','n','c','e','s','t','o','r',' ','c',
-  'l','a','s','s',' ','t','o',' ','b','e',' ','o','v','e','r',
-  'r','i','d','d','e','n',':',' ','$','1',#000,'E','_','N','o',
-  ' ','m','e','m','b','e','r',' ','i','s',' ','p','r','o','v',
-  'i','d','e','d',' ','t','o',' ','a','c','c','e','s','s',' ',
-  'p','r','o','p','e','r','t','y',#000,'E','_','I','l','l','e',
-  'g','a','l',' ','s','y','m','b','o','l',' ','f','o','r',' ',
-  'p','r','o','p','e','r','t','y',' ','a','c','c','e','s','s',
-  #000,'E','_','C','a','n','n','o','t',' ','a','c','c','e','s',
-  's',' ','a',' ','p','r','o','t','e','c','t','e','d',' ','f',
-  'i','e','l','d',' ','o','f',' ','a','n',' ','o','b','j','e',
-  'c','t',' ','h','e','r','e',#000,'E','_','C','a','n','n','o',
-  't',' ','a','c','c','e','s','s',' ','a',' ','p','r','i','v',
-  'a','t','e',' ','f','i','e','l','d',' ','o','f',' ','a','n',
-  ' ','o','b','j','e','c','t',' ','h','e','r','e',#000,'E','_',
-  'a','l','l',' ','o','v','e','r','l','o','a','d','e','d',' ',
-  'm','e','t','h','o','d','s',' ','m','u','s','t',' ','b','e',
-  ' ','v','i','r','t','u','a','l',' ','i','f',' ','o','n','e',
-  ' ','i','s',' ','v','i','r','t','u','a','l',':',' ','$','1',
-  #000,'E','_','o','v','e','r','l','o','a','d','e','d',' ','m',
-  'e','t','h','o','d','s',' ','w','h','i','c','h',' ','a','r',
-  'e',' ','v','i','r','t','u','a','l',' ','m','u','s','t',' ',
-  'h','a','v','e',' ','t','h','e',' ','s','a','m','e',' ','r',
-  'e','t','u','r','n',' ','t','y','p','e',':',' ','$','1',#000,
-  'E','_','E','X','P','O','R','T',' ','d','e','c','l','a','r',
-  'e','d',' ','f','u','n','c','t','i','o','n','s',' ','c','a',
-  'n',#039,'t',' ','b','e',' ','n','e','s','t','e','d',#000,'E',
-  '_','m','e','t','h','o','d','s',' ','c','a','n',#039,'t',' ',
-  'b','e',' ','E','X','P','O','R','T','e','d',#000,'E','_','c',
-  'a','l','l',' ','b','y',' ','v','a','r',' ','p','a','r','a',
-  'm','e','t','e','r','s',' ','h','a','v','e',' ','t','o',' ',
-  'm','a','t','c','h',' ','e','x','a','c','t','l','y',#000,'E',
-  '_','C','l','a','s','s',' ','i','s','n',#039,'t',' ','a',' ',
-  's','u','p','e','r',' ','c','l','a','s','s',' ','o','f',' ',
-  't','h','e',' ','c','u','r','r','e','n','t',' ','c','l','a',
-  's','s',#000,'E','_','S','E','L','F',' ','i','s',' ','o','n',
-  'l','y',' ','a','l','l','o','w','e','d',' ','i','n',' ','m',
-  'e','t','h','o','d','s',#000,'E','_','m','e','t','h','o','d',
-  's',' ','c','a','n',' ','b','e',' ','o','n','l','y',' ','i',
-  'n',' ','o','t','h','e','r',' ','m','e','t','h','o','d','s',
-  ' ','c','a','l','l','e','d',' ','d','i','r','e','c','t',' ',
-  'w','i','t','h',' ','t','y','p','e',' ','i','d','e','n','t',
-  'i','f','i','e','r',' ','o','f',' ','t','h','e',' ','c','l',
-  'a','s','s',#000,'E','_','I','l','l','e','g','a','l',' ','u',
-  's','e',' ','o','f',' ',#039,':',#039,#000,'E','_','r','a','n',
-  'g','e',' ','c','h','e','c','k',' ','e','r','r','o','r',' ',
-  'i','n',' ','s','e','t',' ','c','o','n','s','t','r','u','c',
-  't','o','r',' ','o','r',' ','d','u','p','l','i','c','a','t',
-  'e',' ','s','e','t',' ','e','l','e','m','e','n','t',#000,'E',
-  '_','P','o','i','n','t','e','r',' ','t','o',' ','c','l','a',
-  's','s',' ','e','x','p','e','c','t','e','d',#000,'E','_','E',
-  'x','p','r','e','s','s','i','o','n',' ','m','u','s','t',' ',
-  'b','e',' ','c','o','n','s','t','r','u','c','t','o','r',' ',
-  'c','a','l','l',#000,'E','_','E','x','p','r','e','s','s','i',
-  'o','n',' ','m','u','s','t',' ','b','e',' ','d','e','s','t',
-  'r','u','c','t','o','r',' ','c','a','l','l',#000,'E','_','T',
-  'y','p','e',' ','c','o','n','f','l','i','c','t',' ','b','e',
-  't','w','e','e','n',' ','s','e','t',' ','e','l','e','m','e',
-  'n','t','s',#000,'W','_','U','s','i','n','g',' ','/',' ','w',
-  'i','l','l',' ','g','i','v','e',' ','a',' ','f','l','o','a',
-  't','i','n','g',' ','p','o','i','n','t',' ','r','e','s','u',
-  'l','t',',',' ','u','s','e',' ','D','I','V',' ','i','n','s',
-  't','e','a','d',' ','t','o',' ','g','e','t',' ','a','n',' ',
-  'i','n','t','e','g','e','r',' ','r','e','s','u','l','t',#000,
-  'E','_','I','l','l','e','g','a','l',' ','o','r','d','e','r',
-  ' ','o','f',' ','r','e','c','o','r','d',' ','e','l','e','m',
-  'e','n','t','s',#000,'E','_','E','x','p','r','e','s','s','i',
-  'o','n',' ','t','y','p','e',' ','m','u','s','t',' ','b','y',
-  ' ','c','l','a','s','s',' ','o','r',' ','r','e','c','o','r',
-  'd',' ','t','y','p','e',#000,'E','_','F','u','n','c','t','i',
-  'o','n','s',' ','w','i','t','h',' ','v','o','i','d',' ','r',
-  'e','t','u','r','n',' ','v','a','l','u','e',' ','c','a','n',
-  #039,'t',' ','r','e','t','u','r','n',' ','a','n','y',' ','v',
-  'a','l','u','e',#000,'E','_','c','o','n','s','t','r','u','c',
-  't','o','r','s',' ','a','n','d',' ','d','e','s','t','r','u',
-  'c','t','o','r','s',' ','m','u','s','t',' ','b','e',' ','m',
-  'e','t','h','o','d','s',#000,'W','_','A','u','t','o','m','a',
-  't','i','c',' ','t','y','p','e',' ','c','o','n','v','e','r',
-  's','i','o','n',' ','f','r','o','m',' ','f','l','o','a','t',
-  'i','n','g',' ','t','y','p','e',' ','t','o',' ','C','O','M',
-  'P',' ','w','h','i','c','h',' ','i','s',' ','a','n',' ','i',
-  'n','t','e','g','e','r',' ','t','y','p','e',#000,'E','_','O',
-  'p','e','r','a','t','o','r',' ','i','s',' ','n','o','t',' ',
-  'o','v','e','r','l','o','a','d','e','d',#000,'E','_','V','a',
-  'r','i','a','b','l','e',' ','o','r',' ','t','y','p','e',' ',
-  'i','n','d','e','n','t','i','f','i','e','r',' ','e','x','p',
-  'e','c','t','e','d',#000,'E','_','R','e','-','r','a','i','s',
-  'e',' ','i','s','n',#039,'t',' ','p','o','s','s','i','b','l',
-  'e',' ','t','h','e','r','e',#000,'E','_','T','h','e',' ','e',
-  'x','t','e','n','d','e','d',' ','s','y','n','t','a','x',' ',
-  'o','f',' ','n','e','w',' ','o','r',' ','d','i','s','p','o',
-  's','e',' ','i','s','n',#039,'t',' ','a','l','l','o','w','e',
-  'd',' ','f','o','r',' ','a',' ','c','l','a','s','s',#000,'E',
-  '_','A','s','s','e','m','b','l','e','r',' ','i','n','c','o',
-  'm','p','a','t','i','b','l','e',' ','w','i','t','h',' ','f',
-  'u','n','c','t','i','o','n',' ','r','e','t','u','r','n',' ',
-  'v','a','l','u','e',#000,'E','_','P','r','o','c','e','d','u',
-  'r','e',' ','o','v','e','r','l','o','a','d','i','n','g',' ',
-  'i','s',' ','s','w','i','t','c','h','e','d',' ','o','f','f',
-  #000,'E','_','I','t',' ','i','s',' ','n','o','t',' ','p','o',
-  's','s','i','b','l','e',' ','t','o',' ','o','v','e','r','l',
-  'o','a','d',' ','t','h','i','s',' ','o','p','e','r','a','t',
-  'o','r',' ','(','o','v','e','r','l','o','a','d',' ','=',' ',
-  'i','n','s','t','e','a','d',')',#000,'E','_','C','o','m','p',
-  'a','r','a','t','i','v','e',' ','o','p','e','r','a','t','o',
-  'r',' ','m','u','s','t',' ','r','e','t','u','r','n',' ','a',
-  ' ','b','o','o','l','e','a','n',' ','v','a','l','u','e',#000,
-  'E','_','O','n','l','y',' ','v','i','r','t','u','a','l',' ',
-  'm','e','t','h','o','d','s',' ','c','a','n',' ','b','e',' ',
-  'a','b','s','t','r','a','c','t',#000,'F','_','U','s','e',' ',
-  'o','f',' ','u','n','s','u','p','p','o','r','t','e','d',' ',
-  'f','e','a','t','u','r','e','!',#000,'E','_','T','h','e',' ',
-  'm','i','x',' ','o','f',' ','C','L','A','S','S','E','S',' ',
-  'a','n','d',' ','O','B','J','E','C','T','S',' ','i','s','n',
-  #039,'t',' ','a','l','l','o','w','e','d',#000,'W','_','U','n',
-  'k','n','o','w','n',' ','p','r','o','c','e','d','u','r','e',
-  ' ','d','i','r','e','c','t','i','v','e',' ','h','a','d',' ',
-  't','o',' ','b','e',' ','i','g','n','o','r','e','d',':',' ',
-  '$','1',#000,'E','_','a','b','s','o','l','u','t','e',' ','c',
-  'a','n',' ','o','n','l','y',' ','b','e',' ','a','s','s','o',
-  'c','i','a','t','e','d',' ','t','o',' ','O','N','E',' ','v',
-  'a','r','i','a','b','l','e',#000,'E','_','a','b','s','o','l',
-  'u','t','e',' ','c','a','n',' ','o','n','l','y',' ','b','e',
-  ' ','a','s','s','o','c','i','a','t','e','d',' ','a',' ','v',
-  'a','r',' ','o','r',' ','c','o','n','s','t',#000,'E','_','A',
-  'b','t','r','a','c','t',' ','m','e','t','h','o','d','s',' ',
-  's','h','o','u','l','d','n',#039,'t',' ','h','a','v','e',' ',
-  'a','n','y',' ','d','e','f','i','n','i','t','i','o','n',' ',
-  '(','w','i','t','h',' ','f','u','n','c','t','i','o','n',' ',
-  'b','o','d','y',')',#000,'E','_','T','h','i','s',' ','o','v',
+  'd',#000,'E','_','s','t','r','i','n','g',' ','l','e','n','g',
+  't','h',' ','m','u','s','t',' ','b','e',' ','a',' ','v','a',
+  'l','u','e',' ','f','r','o','m',' ','1',' ','t','o',' ','2',
+  '5','5',#000,'W','_','u','s','e',' ','e','x','t','e','n','d',
+  'e','d',' ','s','y','n','t','a','x',' ','o','f',' ','D','I',
+  'S','P','O','S','E',' ','a','n','d',' ','N','E','W',' ','t',
+  'o',' ','g','e','n','e','r','a','t','e',' ','i','n','s','t',
+  'a','n','c','e','s',' ','o','f',' ','o','b','j','e','c','t',
+  's',#000,'E','_','c','l','a','s','s',' ','i','d','e','n','t',
+  'i','f','i','e','r',' ','e','x','p','e','c','t','e','d',#000,
+  'E','_','m','e','t','h','o','d',' ','i','d','e','n','t','i',
+  'f','i','e','r',' ','e','x','p','e','c','t','e','d',#000,'E',
+  '_','f','u','n','c','t','i','o','n',' ','h','e','a','d','e',
+  'r',' ','d','o','e','s','n',#039,'t',' ','m','a','t','c','h',
+  ' ','a','n','y',' ','m','e','t','h','o','d',' ','o','f',' ',
+  't','h','i','s',' ','c','l','a','s','s',#000,'P','_','p','r',
+  'o','c','e','d','u','r','e','/','f','u','n','c','t','i','o',
+  'n',' ','$','1',' ','(','$','2',')',' ','a','t',' ','l','i',
+  'n','e',' ','$','3',#000,'E','_','I','l','l','e','g','a','l',
+  ' ','f','l','o','a','t','i','n','g',' ','p','o','i','n','t',
+  ' ','c','o','n','s','t','a','n','t',#000,'E','_','F','A','I',
+  'L',' ','c','a','n',' ','b','e',' ','u','s','e','d',' ','i',
+  'n',' ','c','o','n','s','t','r','u','c','t','o','r','s',' ',
+  'o','n','l','y',#000,'E','_','D','e','s','t','r','u','c','t',
+  'o','r','s',' ','c','a','n',#039,'t',' ','h','a','v','e',' ',
+  'p','a','r','a','m','e','t','e','r','s',#000,'E','_','s','t',
+  'r','i','n','g',' ','t','y','p','e','s',' ','d','o','e','s',
+  'n',#039,'t',' ','m','a','t','c','h',',',' ','b','e','c','a',
+  'u','s','e',' ','o','f',' ','$','V','+',' ','m','o','d','e',
+  #000,'E','_','O','n','l','y',' ','c','l','a','s','s',' ','m',
+  'e','t','h','o','d','s',' ','c','a','n',' ','b','e',' ','r',
+  'e','f','e','r','r','e','d',' ','w','i','t','h',' ','c','l',
+  'a','s','s',' ','r','e','f','e','r','e','n','c','e','s',#000,
+  'E','_','O','n','l','y',' ','c','l','a','s','s',' ','m','e',
+  't','h','o','d','s',' ','c','a','n',' ','b','e',' ','a','c',
+  'c','e','s','s','e','d',' ','i','n',' ','c','l','a','s','s',
+  ' ','m','e','t','h','o','d','s',#000,'E','_','C','o','n','s',
+  't','a','n','t',' ','a','n','d',' ','C','A','S','E',' ','t',
+  'y','p','e','s',' ','d','o',' ','n','o','t',' ','m','a','t',
+  'c','h',#000,'E','_','T','h','e',' ','s','y','m','b','o','l',
+  ' ','c','a','n',#039,'t',' ','b','e',' ','e','x','p','o','r',
+  't','e','d',' ','f','r','o','m',' ','a',' ','l','i','b','r',
+  'a','r','y',#000,'W','_','A',' ','i','n','h','e','r','i','t',
+  'e','d',' ','m','e','t','h','o','d',' ','i','s',' ','h','i',
+  'd','d','e','n',' ','b','y',' ','$','1',#000,'E','_','T','h',
+  'e','r','e',' ','i','s',' ','n','o',' ','m','e','t','h','o',
+  'd',' ','i','n',' ','a','n',' ','a','n','c','e','s','t','o',
+  'r',' ','c','l','a','s','s',' ','t','o',' ','b','e',' ','o',
+  'v','e','r','r','i','d','d','e','n',':',' ','$','1',#000,'E',
+  '_','N','o',' ','m','e','m','b','e','r',' ','i','s',' ','p',
+  'r','o','v','i','d','e','d',' ','t','o',' ','a','c','c','e',
+  's','s',' ','p','r','o','p','e','r','t','y',#000,'E','_','I',
+  'l','l','e','g','a','l',' ','s','y','m','b','o','l',' ','f',
+  'o','r',' ','p','r','o','p','e','r','t','y',' ','a','c','c',
+  'e','s','s',#000,'E','_','C','a','n','n','o','t',' ','a','c',
+  'c','e','s','s',' ','a',' ','p','r','o','t','e','c','t','e',
+  'd',' ','f','i','e','l','d',' ','o','f',' ','a','n',' ','o',
+  'b','j','e','c','t',' ','h','e','r','e',#000,'E','_','C','a',
+  'n','n','o','t',' ','a','c','c','e','s','s',' ','a',' ','p',
+  'r','i','v','a','t','e',' ','f','i','e','l','d',' ','o','f',
+  ' ','a','n',' ','o','b','j','e','c','t',' ','h','e','r','e',
+  #000,'E','_','a','l','l',' ','o','v','e','r','l','o','a','d',
+  'e','d',' ','m','e','t','h','o','d','s',' ','m','u','s','t',
+  ' ','b','e',' ','v','i','r','t','u','a','l',' ','i','f',' ',
+  'o','n','e',' ','i','s',' ','v','i','r','t','u','a','l',':',
+  ' ','$','1',#000,'E','_','o','v','e','r','l','o','a','d','e',
+  'd',' ','m','e','t','h','o','d','s',' ','w','h','i','c','h',
+  ' ','a','r','e',' ','v','i','r','t','u','a','l',' ','m','u',
+  's','t',' ','h','a','v','e',' ','t','h','e',' ','s','a','m',
+  'e',' ','r','e','t','u','r','n',' ','t','y','p','e',':',' ',
+  '$','1',#000,'E','_','E','X','P','O','R','T',' ','d','e','c',
+  'l','a','r','e','d',' ','f','u','n','c','t','i','o','n','s',
+  ' ','c','a','n',#039,'t',' ','b','e',' ','n','e','s','t','e',
+  'd',#000,'E','_','m','e','t','h','o','d','s',' ','c','a','n',
+  #039,'t',' ','b','e',' ','E','X','P','O','R','T','e','d',#000,
+  'E','_','c','a','l','l',' ','b','y',' ','v','a','r',' ','p',
+  'a','r','a','m','e','t','e','r','s',' ','h','a','v','e',' ',
+  't','o',' ','m','a','t','c','h',' ','e','x','a','c','t','l',
+  'y',#000,'E','_','C','l','a','s','s',' ','i','s','n',#039,'t',
+  ' ','a',' ','s','u','p','e','r',' ','c','l','a','s','s',' ',
+  'o','f',' ','t','h','e',' ','c','u','r','r','e','n','t',' ',
+  'c','l','a','s','s',#000,'E','_','S','E','L','F',' ','i','s',
+  ' ','o','n','l','y',' ','a','l','l','o','w','e','d',' ','i',
+  'n',' ','m','e','t','h','o','d','s',#000,'E','_','m','e','t',
+  'h','o','d','s',' ','c','a','n',' ','b','e',' ','o','n','l',
+  'y',' ','i','n',' ','o','t','h','e','r',' ','m','e','t','h',
+  'o','d','s',' ','c','a','l','l','e','d',' ','d','i','r','e',
+  'c','t',' ','w','i','t','h',' ','t','y','p','e',' ','i','d',
+  'e','n','t','i','f','i','e','r',' ','o','f',' ','t','h','e',
+  ' ','c','l','a','s','s',#000,'E','_','I','l','l','e','g','a',
+  'l',' ','u','s','e',' ','o','f',' ',#039,':',#039,#000,'E','_',
+  'r','a','n','g','e',' ','c','h','e','c','k',' ','e','r','r',
+  'o','r',' ','i','n',' ','s','e','t',' ','c','o','n','s','t',
+  'r','u','c','t','o','r',' ','o','r',' ','d','u','p','l','i',
+  'c','a','t','e',' ','s','e','t',' ','e','l','e','m','e','n',
+  't',#000,'E','_','P','o','i','n','t','e','r',' ','t','o',' ',
+  'c','l','a','s','s',' ','e','x','p','e','c','t','e','d',#000,
+  'E','_','E','x','p','r','e','s','s','i','o','n',' ','m','u',
+  's','t',' ','b','e',' ','c','o','n','s','t','r','u','c','t',
+  'o','r',' ','c','a','l','l',#000,'E','_','E','x','p','r','e',
+  's','s','i','o','n',' ','m','u','s','t',' ','b','e',' ','d',
+  'e','s','t','r','u','c','t','o','r',' ','c','a','l','l',#000,
+  'E','_','T','y','p','e',' ','c','o','n','f','l','i','c','t',
+  ' ','b','e','t','w','e','e','n',' ','s','e','t',' ','e','l',
+  'e','m','e','n','t','s',#000,'W','_','U','s','i','n','g',' ',
+  '/',' ','w','i','l','l',' ','g','i','v','e',' ','a',' ','f',
+  'l','o','a','t','i','n','g',' ','p','o','i','n','t',' ','r',
+  'e','s','u','l','t',',',' ','u','s','e',' ','D','I','V',' ',
+  'i','n','s','t','e','a','d',' ','t','o',' ','g','e','t',' ',
+  'a','n',' ','i','n','t','e','g','e','r',' ','r','e','s','u',
+  'l','t',#000,'E','_','I','l','l','e','g','a','l',' ','o','r',
+  'd','e','r',' ','o','f',' ','r','e','c','o','r','d',' ','e',
+  'l','e','m','e','n','t','s',#000,'E','_','E','x','p','r','e',
+  's','s','i','o','n',' ','t','y','p','e',' ','m','u','s','t',
+  ' ','b','y',' ','c','l','a','s','s',' ','o','r',' ','r','e',
+  'c','o','r','d',' ','t','y','p','e',#000,'E','_','F','u','n',
+  'c','t','i','o','n','s',' ','w','i','t','h',' ','v','o','i',
+  'd',' ','r','e','t','u','r','n',' ','v','a','l','u','e',' ',
+  'c','a','n',#039,'t',' ','r','e','t','u','r','n',' ','a','n',
+  'y',' ','v','a','l','u','e',#000,'E','_','c','o','n','s','t',
+  'r','u','c','t','o','r','s',' ','a','n','d',' ','d','e','s',
+  't','r','u','c','t','o','r','s',' ','m','u','s','t',' ','b',
+  'e',' ','m','e','t','h','o','d','s',#000,'W','_','A','u','t',
+  'o','m','a','t','i','c',' ','t','y','p','e',' ','c','o','n',
+  'v','e','r','s','i','o','n',' ','f','r','o','m',' ','f','l',
+  'o','a','t','i','n','g',' ','t','y','p','e',' ','t','o',' ',
+  'C','O','M','P',' ','w','h','i','c','h',' ','i','s',' ','a',
+  'n',' ','i','n','t','e','g','e','r',' ','t','y','p','e',#000,
+  'E','_','O','p','e','r','a','t','o','r',' ','i','s',' ','n',
+  'o','t',' ','o','v','e','r','l','o','a','d','e','d',#000,'E',
+  '_','V','a','r','i','a','b','l','e',' ','o','r',' ','t','y',
+  'p','e',' ','i','n','d','e','n','t','i','f','i','e','r',' ',
+  'e','x','p','e','c','t','e','d',#000,'E','_','R','e','-','r',
+  'a','i','s','e',' ','i','s','n',#039,'t',' ','p','o','s','s',
+  'i','b','l','e',' ','t','h','e','r','e',#000,'E','_','T','h',
+  'e',' ','e','x','t','e','n','d','e','d',' ','s','y','n','t',
+  'a','x',' ','o','f',' ','n','e','w',' ','o','r',' ','d','i',
+  's','p','o','s','e',' ','i','s','n',#039,'t',' ','a','l','l',
+  'o','w','e','d',' ','f','o','r',' ','a',' ','c','l','a','s',
+  's',#000,'E','_','A','s','s','e','m','b','l','e','r',' ','i',
+  'n','c','o','m','p','a','t','i','b','l','e',' ','w','i','t',
+  'h',' ','f','u','n','c','t','i','o','n',' ','r','e','t','u',
+  'r','n',' ','v','a','l','u','e',#000,'E','_','P','r','o','c',
+  'e','d','u','r','e',' ','o','v','e','r','l','o','a','d','i',
+  'n','g',' ','i','s',' ','s','w','i','t','c','h','e','d',' ',
+  'o','f','f',#000,'E','_','I','t',' ','i','s',' ','n','o','t',
+  ' ','p','o','s','s','i','b','l','e',' ','t','o',' ','o','v',
+  'e','r','l','o','a','d',' ','t','h','i','s',' ','o','p','e',
+  'r','a','t','o','r',' ','(','o','v','e','r','l','o','a','d',
+  ' ','=',' ','i','n','s','t','e','a','d',')',#000,'E','_','C',
+  'o','m','p','a','r','a','t','i','v','e',' ','o','p','e','r',
+  'a','t','o','r',' ','m','u','s','t',' ','r','e','t','u','r',
+  'n',' ','a',' ','b','o','o','l','e','a','n',' ','v','a','l',
+  'u','e',#000,'E','_','O','n','l','y',' ','v','i','r','t','u',
+  'a','l',' ','m','e','t','h','o','d','s',' ','c','a','n',' ',
+  'b','e',' ','a','b','s','t','r','a','c','t',#000,'F','_','U',
+  's','e',' ','o','f',' ','u','n','s','u','p','p','o','r','t',
+  'e','d',' ','f','e','a','t','u','r','e','!',#000,'E','_','T',
+  'h','e',' ','m','i','x',' ','o','f',' ','C','L','A','S','S',
+  'E','S',' ','a','n','d',' ','O','B','J','E','C','T','S',' ',
+  'i','s','n',#039,'t',' ','a','l','l','o','w','e','d',#000,'W',
+  '_','U','n','k','n','o','w','n',' ','p','r','o','c','e','d',
+  'u','r','e',' ','d','i','r','e','c','t','i','v','e',' ','h',
+  'a','d',' ','t','o',' ','b','e',' ','i','g','n','o','r','e',
+  'd',':',' ','$','1',#000,'E','_','a','b','s','o','l','u','t',
+  'e',' ','c','a','n',' ','o','n','l','y',' ','b','e',' ','a',
+  's','s','o','c','i','a','t','e','d',' ','t','o',' ','O','N',
+  'E',' ','v','a','r','i','a','b','l','e',#000,'E','_','a','b',
+  's','o','l','u','t','e',' ','c','a','n',' ','o','n','l','y',
+  ' ','b','e',' ','a','s','s','o','c','i','a','t','e','d',' ',
+  'a',' ','v','a','r',' ','o','r',' ','c','o','n','s','t',#000,
+  'E','_','A','b','t','r','a','c','t',' ','m','e','t','h','o',
+  'd','s',' ','s','h','o','u','l','d','n',#039,'t',' ','h','a',
+  'v','e',' ','a','n','y',' ','d','e','f','i','n','i','t','i',
+  'o','n',' ','(','w','i','t','h',' ','f','u','n','c','t','i',
+  'o','n',' ','b','o','d','y',')',#000,'E','_','T','h','i','s',
+  ' ','o','v','e','r','l','o','a','d','e','d',' ','f','u','n',
+  'c','t','i','o','n',' ','c','a','n',#039,'t',' ','b','e',' ',
+  'l','o','c','a','l',' ','(','m','u','s','t',' ','b','e',' ',
+  'e','x','p','o','r','t','e','d',')',#000,'E','_','s','u','c',
+  'c',' ','o','r',' ','p','r','e','d',' ','o','n',' ','e','n',
+  'u','m','s',' ','w','i','t','h',' ','a','s','s','i','g','n',
+  'm','e','n','t','s',' ','n','o','t',' ','p','o','s','s','i',
+  'b','l','e',#000,'W','_','V','i','r','t','u','a','l',' ','m',
+  'e','t','h','o','d','s',' ','a','r','e',' ','u','s','e','d',
+  ' ','w','i','t','h','o','u','t',' ','a',' ','c','o','n','s',
+  't','r','u','c','t','o','r',' ','i','n',' ','$','1',#000,'M',
+  '_','M','a','c','r','o',' ','d','e','f','i','n','e','d',':',
+  ' ','$','1',#000,'M','_','M','a','c','r','o',' ','u','n','d',
+  'e','f','i','n','e','d',':',' ','$','1',#000,'M','_','M','a',
+  'c','r','o',' ','$','1',' ','s','e','t',' ','t','o',' ','$',
+  '2',#000,'I','_','C','o','m','p','i','l','i','n','g',' ','$',
+  '1',#000,'D','_','C','o','m','p','i','l','i','n','g',' ','$',
+  '1',' ','f','o','r',' ','t','h','e',' ','s','e','c','o','n',
+  'd',' ','t','i','m','e',#000,'E','_','A','r','r','a','y',' ',
+  'p','r','o','p','e','r','t','i','e','s',' ','a','r','e','n',
+  #039,'t',' ','a','l','l','o','w','e','d',' ','a','t',' ','t',
+  'h','i','s',' ','p','o','i','n','t',#000,'E','_','N','o',' ',
+  'p','r','o','p','e','r','t','y',' ','f','o','u','n','d',' ',
+  't','o',' ','o','v','e','r','r','i','d','e',#000,'E','_','O',
+  'n','l','y',' ','o','n','e',' ','d','e','f','a','u','l','t',
+  ' ','p','r','o','p','e','r','t','y',' ','i','s',' ','a','l',
+  'l','o','w','e','d',',',' ','f','o','u','n','d',' ','i','n',
+  'h','e','r','i','t','e','d',' ','d','e','f','a','u','l','t',
+  ' ','p','r','o','p','e','r','t','y',' ','i','n',' ','c','l',
+  'a','s','s',' ','%','1',#000,'E','_','T','h','e',' ','d','e',
+  'f','a','u','l','t',' ','p','r','o','p','e','r','t','y',' ',
+  'm','u','s','t',' ','b','e',' ','a','n',' ','a','r','r','a',
+  'y',' ','p','r','o','p','e','r','t','y',#000,'E','_','V','i',
+  'r','t','u','a','l',' ','c','o','n','s','t','r','u','c','t',
+  'o','r','s',' ','a','r','e',' ','o','n','l','y',' ','s','u',
+  'p','p','o','r','t','e','d',' ','i','n',' ','c','l','a','s',
+  's',' ','o','b','j','e','c','t',' ','m','o','d','e','l',#000,
+  'E','_','N','o',' ','d','e','f','a','u','l','t',' ','p','r',
+  'o','p','e','r','t','y',' ','a','v','a','i','l','a','b','l',
+  'e',#000,'E','_','T','h','e',' ','c','l','a','s','s',' ','c',
+  'a','n',#039,'t',' ','h','a','v','e',' ','a',' ','p','u','b',
+  'l','i','s','h','e','d',' ','s','e','c','t','i','o','n',',',
+  ' ','u','s','e',' ','t','h','e',' ','{','$','M','+','}',' ',
+  's','w','i','t','c','h',#000,'N','_','L','o','c','a','l',' ',
+  'v','a','r','i','a','b','l','e',' ','$','1',' ','d','o','e',
+  's','n',#039,'t',' ','s','e','e','m',' ','t','o',' ','b','e',
+  ' ','i','n','i','t','i','a','l','i','z','e','d',' ','y','e',
+  't',' ','!',#000,'E','_','I','d','e','n','t','i','f','i','e',
+  'r',' ','n','o','t',' ','f','o','u','n','d',' ','$','1',#000,
+  'F','_','I','n','t','e','r','n','a','l',' ','E','r','r','o',
+  'r',' ','i','n',' ','S','y','m','T','a','b','l','e','S','t',
+  'a','c','k','(',')',#000,'E','_','D','u','p','l','i','c','a',
+  't','e',' ','i','d','e','n','t','i','f','i','e','r',' ','$',
+  '1',#000,'E','_','U','n','k','n','o','w','n',' ','i','d','e',
+  'n','t','i','f','i','e','r',' ','$','1',#000,'E','_','F','o',
+  'r','w','a','r','d',' ','d','e','c','l','a','r','a','t','i',
+  'o','n',' ','n','o','t',' ','s','o','l','v','e','d',':',' ',
+  '$','1',#000,'F','_','I','d','e','n','t','i','f','i','e','r',
+  ' ','t','y','p','e',' ','a','l','r','e','a','d','y',' ','d',
+  'e','f','i','n','e','d',' ','a','s',' ','t','y','p','e',#000,
+  'E','_','T','y','p','e',' ','i','d','e','n','t','i','f','i',
+  'e','r',' ','e','x','p','e','c','t','e','d',#000,'E','_','T',
+  'y','p','e',' ','m','i','s','m','a','t','c','h',#000,'E','_',
+  'E','r','r','o','r',' ','i','n',' ','t','y','p','e',' ','d',
+  'e','f','e','n','i','t','i','o','n',#000,'E','_','T','y','p',
+  'e',' ','i','d','e','n','t','i','f','i','e','r',' ','n','o',
+  't',' ','d','e','f','i','n','e','d',#000,'E','_','O','n','l',
+  'y',' ','s','t','a','t','i','c',' ','v','a','r','i','a','b',
+  'l','e','s',' ','c','a','n',' ','b','e',' ','u','s','e','d',
+  ' ','i','n',' ','s','t','a','t','i','c',' ','m','e','t','h',
+  'o','d','s',' ','o','r',' ','o','u','t','s','i','d','e',' ',
+  'm','e','t','h','o','d','s',#000,'E','_','I','n','v','a','l',
+  'i','d',' ','c','a','l','l',' ','t','o',' ','t','v','a','r',
+  's','y','m','.','m','a','n','g','l','e','d','n','a','m','e',
+  '(',')',#000,'F','_','r','e','c','o','r','d',' ','o','r',' ',
+  'c','l','a','s','s',' ','t','y','p','e',' ','e','x','p','e',
+  'c','t','e','d',#000,'E','_','T','o',' ','g','e','n','e','r',
+  'a','t','e',' ','a','n',' ','i','n','s','t','a','n','c','e',
+  ' ','o','f',' ','a',' ','c','l','a','s','s',' ','o','r',' ',
+  'a','n',' ','o','b','j','e','c','t',' ','w','i','t','h',' ',
+  'a','n',' ','a','b','t','r','a','c','t',' ','m','e','t','h',
+  'o','d',' ','i','s','n',#039,'t',' ','a','l','l','o','w','e',
+  'd',#000,'E','_','L','a','b','e','l',' ','n','o','t',' ','d',
+  'e','f','i','n','e','d',' ','$','1',#000,'E','_','I','l','l',
+  'e','g','a','l',' ','l','a','b','e','l',' ','d','e','c','l',
+  'a','r','a','t','i','o','n',#000,'E','_','G','O','T','O',' ',
+  'u','n','d',' ','L','A','B','E','L',' ','a','r','e',' ','n',
+  'o','t',' ','s','u','p','p','o','r','t','e','d',' ','(','u',
+  's','e',' ','c','o','m','m','a','n','d',' ','l','i','n','e',
+  ' ','s','w','i','t','c','h',' ','-','S','g',')',#000,'E','_',
+  'L','a','b','e','l',' ','n','o','t',' ','f','o','u','n','d',
+  #000,'E','_','i','d','e','n','t','i','f','i','e','r',' ','i',
+  's','n',#039,'t',' ','a',' ','l','a','b','e','l',#000,'E','_',
+  'l','a','b','e','l',' ','a','l','r','e','a','d','y',' ','d',
+  'e','f','i','n','e','d',#000,'E','_','i','l','l','e','g','a',
+  'l',' ','t','y','p','e',' ','d','e','c','l','a','r','a','t',
+  'i','o','n',' ','o','f',' ','s','e','t',' ','e','l','e','m',
+  'e','n','t','s',#000,'E','_','F','o','r','w','a','r','d',' ',
+  'c','l','a','s','s',' ','d','e','f','i','n','i','t','i','o',
+  'n',' ','n','o','t',' ','r','e','s','o','l','v','e','d',' ',
+  '$','1',#000,'H','_','P','a','r','a','m','e','t','e','r',' ',
+  'n','o','t',' ','u','s','e','d',' ','$','1',' ','i','n',' ',
+  'l','i','n','e',' ','$','2',#000,'W','_','L','o','c','a','l',
+  ' ','v','a','r','i','a','b','l','e',' ','n','o','t',' ','u',
+  's','e','d',' ','$','1',' ','i','n',' ','l','i','n','e',' ',
+  '$','2',#000,'E','_','S','e','t',' ','e','l','e','m','e','n',
+  't','s',' ','a','r','e',' ','n','o','t',' ','c','o','m','p',
+  'a','t','i','b','l','e',#000,'E','_','S','e','t',' ','t','y',
+  'p','e',' ','e','x','p','e','c','t','e','d',#000,'W','_','F',
+  'u','n','c','t','i','o','n',' ','r','e','s','u','l','t',' ',
+  'd','o','e','s',' ','n','o','t',' ','s','e','e','m',' ','t',
+  'o',' ','b','e',' ','s','e','t',#000,'E','_','U','n','k','n',
+  'o','w','n',' ','f','i','e','l','d',' ','i','d','e','n','t',
+  'i','f','i','e','r',#000,'N','_','L','o','c','a','l',' ','v',
+  'a','r','i','a','b','l','e',' ','$','1',' ','d','o','e','s',
+  ' ','n','o','t',' ','s','e','e','m',' ','t','o',' ','b','e',
+  ' ','i','n','i','t','i','a','l','i','z','e','d',#000,'E','_',
+  'i','d','e','n','t','i','f','i','e','r',' ','i','d','e','n',
+  't','s',' ','n','o',' ','m','e','m','b','e','r',#000,'E','_',
+  'B','R','E','A','K',' ','n','o','t',' ','a','l','l','o','w',
+  'e','d',#000,'E','_','C','O','N','T','I','N','U','E',' ','n',
+  'o','t',' ','a','l','l','o','w','e','d',#000,'E','_','E','x',
+  'p','r','e','s','s','i','o','n',' ','t','o','o',' ','c','o',
+  'm','p','l','i','c','a','t','e','d',' ','-',' ','F','P','U',
+  ' ','s','t','a','c','k',' ','o','v','e','r','f','l','o','w',
+  #000,'E','_','I','l','l','e','g','a','l',' ','e','x','p','r',
+  'e','s','s','i','o','n',#000,'E','_','I','n','v','a','l','i',
+  'd',' ','i','n','t','e','g','e','r',#000,'E','_','I','l','l',
+  'e','g','a','l',' ','q','u','a','l','i','f','i','e','r',#000,
+  'E','_','H','i','g','h',' ','r','a','n','g','e',' ','l','i',
+  'm','i','t',' ','<',' ','l','o','w',' ','r','a','n','g','e',
+  ' ','l','i','m','i','t',#000,'E','_','I','l','l','e','g','a',
+  'l',' ','c','o','u','n','t','e','r',' ','v','a','r','i','a',
+  'b','l','e',#000,'E','_','C','a','n',#039,'t',' ','d','e','t',
+  'e','r','m','i','n','e',' ','w','h','i','c','h',' ','o','v',
   'e','r','l','o','a','d','e','d',' ','f','u','n','c','t','i',
-  'o','n',' ','c','a','n',#039,'t',' ','b','e',' ','l','o','c',
-  'a','l',' ','(','m','u','s','t',' ','b','e',' ','e','x','p',
-  'o','r','t','e','d',')',#000,'E','_','s','u','c','c',' ','o',
-  'r',' ','p','r','e','d',' ','o','n',' ','e','n','u','m','s',
-  ' ','w','i','t','h',' ','a','s','s','i','g','n','m','e','n',
-  't','s',' ','n','o','t',' ','p','o','s','s','i','b','l','e',
-  #000,'W','_','V','i','r','t','u','a','l',' ','m','e','t','h',
-  'o','d','s',' ','a','r','e',' ','u','s','e','d',' ','w','i',
-  't','h','o','u','t',' ','a',' ','c','o','n','s','t','r','u',
-  'c','t','o','r',#000,'M','_','M','a','c','r','o',' ','d','e',
-  'f','i','n','e','d',':',' ','$','1',#000,'M','_','M','a','c',
-  'r','o',' ','u','n','d','e','f','i','n','e','d',':',' ','$',
-  '1',#000,'M','_','M','a','c','r','o',' ','$','1',' ','s','e',
-  't',' ','t','o',' ','$','2',#000,'I','_','C','o','m','p','i',
-  'l','i','n','g',' ','$','1',#000,'D','_','C','o','m','p','i',
-  'l','i','n','g',' ','$','1',' ','f','o','r',' ','t','h','e',
-  ' ','s','e','c','o','n','d',' ','t','i','m','e',#000,'E','_',
-  'A','r','r','a','y',' ','p','r','o','p','e','r','t','i','e',
-  's',' ','a','r','e','n',#039,'t',' ','a','l','l','o','w','e',
-  'd',' ','a','t',' ','t','h','i','s',' ','p','o','i','n','t',
-  #000,'E','_','N','o',' ','p','r','o','p','e','r','t','y',' ',
-  'f','o','u','n','d',' ','t','o',' ','o','v','e','r','r','i',
-  'd','e',#000,'E','_','O','n','l','y',' ','o','n','e',' ','d',
-  'e','f','a','u','l','t',' ','p','r','o','p','e','r','t','y',
-  ' ','i','s',' ','a','l','l','o','w','e','d',',',' ','f','o',
-  'u','n','d',' ','i','n','h','e','r','i','t','e','d',' ','d',
-  'e','f','a','u','l','t',' ','p','r','o','p','e','r','t','y',
-  ' ','i','n',' ','c','l','a','s','s',' ','%','1',#000,'E','_',
-  'T','h','e',' ','d','e','f','a','u','l','t',' ','p','r','o',
-  'p','e','r','t','y',' ','m','u','s','t',' ','b','e',' ','a',
-  'n',' ','a','r','r','a','y',' ','p','r','o','p','e','r','t',
-  'y',#000,'E','_','V','i','r','t','u','a','l',' ','c','o','n',
-  's','t','r','u','c','t','o','r','s',' ','a','r','e',' ','o',
-  'n','l','y',' ','s','u','p','p','o','r','t','e','d',' ','i',
-  'n',' ','c','l','a','s','s',' ','o','b','j','e','c','t',' ',
-  'm','o','d','e','l',#000,'E','_','N','o',' ','d','e','f','a',
-  'u','l','t',' ','p','r','o','p','e','r','t','y',' ','a','v',
-  'a','i','l','a','b','l','e',#000,'E','_','T','h','e',' ','c',
-  'l','a','s','s',' ','c','a','n',#039,'t',' ','h','a','v','e',
-  ' ','a',' ','p','u','b','l','i','s','h','e','d',' ','s','e',
-  'c','t','i','o','n',',',' ','u','s','e',' ','t','h','e',' ',
-  '{','$','M','+','}',' ','s','w','i','t','c','h',#000,'N','_',
-  'L','o','c','a','l',' ','v','a','r','i','a','b','l','e',' ',
-  '$','1',' ','d','o','e','s','n',#039,'t',' ','s','e','e','m',
-  ' ','t','o',' ','b','e',' ','i','n','i','t','i','a','l','i',
-  'z','e','d',' ','y','e','t',' ','!',#000,'E','_','I','d','e',
-  'n','t','i','f','i','e','r',' ','n','o','t',' ','f','o','u',
-  'n','d',' ','$','1',#000,'F','_','I','n','t','e','r','n','a',
-  'l',' ','E','r','r','o','r',' ','i','n',' ','S','y','m','T',
-  'a','b','l','e','S','t','a','c','k','(',')',#000,'E','_','D',
-  'u','p','l','i','c','a','t','e',' ','i','d','e','n','t','i',
-  'f','i','e','r',' ','$','1',#000,'E','_','U','n','k','n','o',
-  'w','n',' ','i','d','e','n','t','i','f','i','e','r',' ','$',
-  '1',#000,'E','_','F','o','r','w','a','r','d',' ','d','e','c',
-  'l','a','r','a','t','i','o','n',' ','n','o','t',' ','s','o',
-  'l','v','e','d',':',' ','$','1',#000,'F','_','I','d','e','n',
-  't','i','f','i','e','r',' ','t','y','p','e',' ','a','l','r',
-  'e','a','d','y',' ','d','e','f','i','n','e','d',' ','a','s',
-  ' ','t','y','p','e',#000,'E','_','T','y','p','e',' ','i','d',
-  'e','n','t','i','f','i','e','r',' ','e','x','p','e','c','t',
-  'e','d',#000,'E','_','T','y','p','e',' ','m','i','s','m','a',
-  't','c','h',#000,'E','_','E','r','r','o','r',' ','i','n',' ',
-  't','y','p','e',' ','d','e','f','e','n','i','t','i','o','n',
-  #000,'E','_','T','y','p','e',' ','i','d','e','n','t','i','f',
-  'i','e','r',' ','n','o','t',' ','d','e','f','i','n','e','d',
-  #000,'E','_','O','n','l','y',' ','s','t','a','t','i','c',' ',
-  'v','a','r','i','a','b','l','e','s',' ','c','a','n',' ','b',
-  'e',' ','u','s','e','d',' ','i','n',' ','s','t','a','t','i',
-  'c',' ','m','e','t','h','o','d','s',' ','o','r',' ','o','u',
-  't','s','i','d','e',' ','m','e','t','h','o','d','s',#000,'E',
-  '_','I','n','v','a','l','i','d',' ','c','a','l','l',' ','t',
-  'o',' ','t','v','a','r','s','y','m','.','m','a','n','g','l',
-  'e','d','n','a','m','e','(',')',#000,'F','_','r','e','c','o',
-  'r','d',' ','o','r',' ','c','l','a','s','s',' ','t','y','p',
-  'e',' ','e','x','p','e','c','t','e','d',#000,'E','_','T','o',
-  ' ','g','e','n','e','r','a','t','e',' ','a','n',' ','i','n',
-  's','t','a','n','c','e',' ','o','f',' ','a',' ','c','l','a',
-  's','s',' ','o','r',' ','a','n',' ','o','b','j','e','c','t',
-  ' ','w','i','t','h',' ','a','n',' ','a','b','t','r','a','c',
-  't',' ','m','e','t','h','o','d',' ','i','s','n',#039,'t',' ',
-  'a','l','l','o','w','e','d',#000,'E','_','L','a','b','e','l',
-  ' ','n','o','t',' ','d','e','f','i','n','e','d',' ','$','1',
-  #000,'E','_','I','l','l','e','g','a','l',' ','l','a','b','e',
-  'l',' ','d','e','c','l','a','r','a','t','i','o','n',#000,'E',
-  '_','G','O','T','O',' ','u','n','d',' ','L','A','B','E','L',
-  ' ','a','r','e',' ','n','o','t',' ','s','u','p','p','o','r',
-  't','e','d',' ','(','u','s','e',' ','c','o','m','m','a','n',
-  'd',' ','l','i','n','e',' ','s','w','i','t','c','h',' ','-',
-  'S','g',')',#000,'E','_','L','a','b','e','l',' ','n','o','t',
-  ' ','f','o','u','n','d',#000,'E','_','i','d','e','n','t','i',
-  'f','i','e','r',' ','i','s','n',#039,'t',' ','a',' ','l','a',
-  'b','e','l',#000,'E','_','l','a','b','e','l',' ','a','l','r',
-  'e','a','d','y',' ','d','e','f','i','n','e','d',#000,'E','_',
-  'i','l','l','e','g','a','l',' ','t','y','p','e',' ','d','e',
-  'c','l','a','r','a','t','i','o','n',' ','o','f',' ','s','e',
-  't',' ','e','l','e','m','e','n','t','s',#000,'E','_','F','o',
-  'r','w','a','r','d',' ','c','l','a','s','s',' ','d','e','f',
-  'i','n','i','t','i','o','n',' ','n','o','t',' ','r','e','s',
-  'o','l','v','e','d',' ','$','1',#000,'H','_','P','a','r','a',
-  'm','e','t','e','r',' ','n','o','t',' ','u','s','e','d',' ',
-  '$','1',' ','i','n',' ','l','i','n','e',' ','$','2',#000,'W',
-  '_','L','o','c','a','l',' ','v','a','r','i','a','b','l','e',
-  ' ','n','o','t',' ','u','s','e','d',' ','$','1',' ','i','n',
-  ' ','l','i','n','e',' ','$','2',#000,'E','_','S','e','t',' ',
-  'e','l','e','m','e','n','t','s',' ','a','r','e',' ','n','o',
-  't',' ','c','o','m','p','a','t','i','b','l','e',#000,'E','_',
-  'S','e','t',' ','t','y','p','e',' ','e','x','p','e','c','t',
-  'e','d',#000,'W','_','F','u','n','c','t','i','o','n',' ','r',
-  'e','s','u','l','t',' ','d','o','e','s',' ','n','o','t',' ',
-  's','e','e','m',' ','t','o',' ','b','e',' ','s','e','t',#000,
-  'E','_','U','n','k','n','o','w','n',' ','f','i','e','l','d',
-  ' ','i','d','e','n','t','i','f','i','e','r',#000,'N','_','L',
-  'o','c','a','l',' ','v','a','r','i','a','b','l','e',' ','$',
-  '1',' ','d','o','e','s',' ','n','o','t',' ','s','e','e','m',
-  ' ','t','o',' ','b','e',' ','i','n','i','t','i','a','l','i',
-  'z','e','d',#000,'E','_','i','d','e','n','t','i','f','i','e',
-  'r',' ','i','d','e','n','t','s',' ','n','o',' ','m','e','m',
-  'b','e','r',#000,'E','_','B','R','E','A','K',' ','n','o','t',
-  ' ','a','l','l','o','w','e','d',#000,'E','_','C','O','N','T',
-  'I','N','U','E',' ','n','o','t',' ','a','l','l','o','w','e',
-  'd',#000,'E','_','E','x','p','r','e','s','s','i','o','n',' ',
-  't','o','o',' ','c','o','m','p','l','i','c','a','t','e','d',
-  ' ','-',' ','F','P','U',' ','s','t','a','c','k',' ','o','v',
-  'e','r','f','l','o','w',#000,'E','_','I','l','l','e','g','a',
-  'l',' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_',
-  'I','n','v','a','l','i','d',' ','i','n','t','e','g','e','r',
-  #000,'E','_','I','l','l','e','g','a','l',' ','q','u','a','l',
-  'i','f','i','e','r',#000,'E','_','H','i','g','h',' ','r','a',
-  'n','g','e',' ','l','i','m','i','t',' ','<',' ','l','o','w',
-  ' ','r','a','n','g','e',' ','l','i','m','i','t',#000,'E','_',
-  'I','l','l','e','g','a','l',' ','c','o','u','n','t','e','r',
-  ' ','v','a','r','i','a','b','l','e',#000,'E','_','C','a','n',
-  #039,'t',' ','d','e','t','e','r','m','i','n','e',' ','w','h',
-  'i','c','h',' ','o','v','e','r','l','o','a','d','e','d',' ',
-  'f','u','n','c','t','i','o','n',' ','t','o',' ','c','a','l',
-  'l',#000,'E','_','P','a','r','a','m','e','t','e','r',' ','l',
-  'i','s','t',' ','s','i','z','e',' ','e','x','c','e','e','d',
-  's',' ','6','5','5','3','5',' ','b','y','t','e','s',#000,'E',
-  '_','I','l','l','e','g','a','l',' ','t','y','p','e',' ','c',
-  'o','n','v','e','r','s','i','o','n',#000,'E','_','F','i','l',
-  'e',' ','t','y','p','e','s',' ','m','u','s','t',' ','b','e',
-  ' ','v','a','r',' ','p','a','r','a','m','e','t','e','r','s',
-  #000,'E','_','T','h','e',' ','u','s','e',' ','o','f',' ','a',
-  ' ','f','a','r',' ','p','o','i','n','t','e','r',' ','i','s',
-  'n',#039,'t',' ','a','l','l','o','w','e','d',' ','t','h','e',
-  'r','e',#000,'E','_','i','l','l','e','g','a','l',' ','c','a',
-  'l','l',' ','b','y',' ','r','e','f','e','r','e','n','c','e',
-  ' ','p','a','r','a','m','e','t','e','r','s',#000,'E','_','E',
-  'X','P','O','R','T',' ','d','e','c','l','a','r','e','d',' ',
-  'f','u','n','c','t','i','o','n','s',' ','c','a','n',#039,'t',
-  ' ','b','e',' ','c','a','l','l','e','d',#000,'W','_','P','o',
-  's','s','i','b','l','e',' ','i','l','l','e','g','a','l',' ',
-  'c','a','l','l',' ','o','f',' ','c','o','n','s','t','r','u',
-  'c','t','o','r',' ','o','r',' ','d','e','s','t','r','u','c',
-  't','o','r',' ','(','d','o','e','s','n',#039,'t',' ','m','a',
-  't','c','h',' ','t','o',' ','t','h','i','s',' ','c','o','n',
-  't','e','x','t',')',#000,'N','_','I','n','e','f','f','i','c',
-  'i','e','n','t',' ','c','o','d','e',#000,'W','_','u','n','r',
-  'e','a','c','h','a','b','l','e',' ','c','o','d','e',#000,'E',
-  '_','p','r','o','c','e','d','u','r','e',' ','c','a','l','l',
-  ' ','w','i','t','h',' ','s','t','a','c','k','f','r','a','m',
-  'e',' ','E','S','P','/','S','P',#000,'E','_','A','b','s','t',
-  'r','a','c','t',' ','m','e','t','h','o','d','s',' ','c','a',
-  'n',#039,'t',' ','b','e',' ','c','a','l','l','e','d',' ','d',
-  'i','r','e','c','t','l','y',#000,'F','_','I','n','t','e','r',
-  'n','a','l',' ','E','r','r','o','r',' ','i','n',' ','g','e',
-  't','f','l','o','a','t','r','e','g','(',')',',',' ','a','l',
-  'l','o','c','a','t','i','o','n',' ','f','a','i','l','u','r',
-  'e',#000,'F','_','U','n','k','n','o','w','n',' ','f','l','o',
-  'a','t',' ','t','y','p','e',#000,'F','_','S','e','c','o','n',
-  'd','V','e','c','n','(',')',' ','b','a','s','e',' ','d','e',
-  'f','i','n','e','d',' ','t','w','i','c','e',#000,'F','_','E',
-  'x','t','e','n','d','e','d',' ','c','g','6','8','k',' ','n',
-  'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'F','_',
-  '3','2','-','b','i','t',' ','u','n','s','i','g','n','e','d',
-  ' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',' ',
-  'i','n',' ','M','C','6','8','0','0','0',' ','m','o','d','e',
-  #000,'F','_','I','n','t','e','r','n','a','l',' ','E','r','r',
-  'o','r',' ','i','n',' ','s','e','c','o','n','d','i','n','l',
-  'i','n','e','(',')',#000,'D','_','R','e','g','i','s','t','e',
-  'r',' ','$','1',' ','w','e','i','g','h','t',' ','$','2',' ',
-  '$','3',#000,'E','_','S','t','a','c','k',' ','l','i','m','i',
-  't',' ','e','x','c','e','d','e','e','d',' ','i','n',' ','l',
-  'o','c','a','l',' ','r','o','u','t','i','n','e',#000,'D','_',
-  'S','t','a','c','k',' ','f','r','a','m','e',' ','i','s',' ',
-  'o','m','i','t','e','d',#000,'F','_','D','i','v','i','d','e',
-  ' ','b','y',' ','z','e','r','o',' ','i','n',' ','a','s','m',
-  ' ','e','v','a','l','u','a','t','o','r',#000,'F','_','E','v',
-  'a','l','u','a','t','o','r',' ','s','t','a','c','k',' ','o',
-  'v','e','r','f','l','o','w',#000,'F','_','E','v','a','l','u',
-  'a','t','o','r',' ','s','t','a','c','k',' ','u','n','d','e',
-  'r','f','l','o','w',#000,'F','_','I','n','v','a','l','i','d',
-  ' ','n','u','m','e','r','i','c',' ','f','o','r','m','a','t',
+  'o','n',' ','t','o',' ','c','a','l','l',#000,'E','_','P','a',
+  'r','a','m','e','t','e','r',' ','l','i','s','t',' ','s','i',
+  'z','e',' ','e','x','c','e','e','d','s',' ','6','5','5','3',
+  '5',' ','b','y','t','e','s',#000,'E','_','I','l','l','e','g',
+  'a','l',' ','t','y','p','e',' ','c','o','n','v','e','r','s',
+  'i','o','n',#000,'E','_','F','i','l','e',' ','t','y','p','e',
+  's',' ','m','u','s','t',' ','b','e',' ','v','a','r',' ','p',
+  'a','r','a','m','e','t','e','r','s',#000,'E','_','T','h','e',
+  ' ','u','s','e',' ','o','f',' ','a',' ','f','a','r',' ','p',
+  'o','i','n','t','e','r',' ','i','s','n',#039,'t',' ','a','l',
+  'l','o','w','e','d',' ','t','h','e','r','e',#000,'E','_','i',
+  'l','l','e','g','a','l',' ','c','a','l','l',' ','b','y',' ',
+  'r','e','f','e','r','e','n','c','e',' ','p','a','r','a','m',
+  'e','t','e','r','s',#000,'E','_','E','X','P','O','R','T',' ',
+  'd','e','c','l','a','r','e','d',' ','f','u','n','c','t','i',
+  'o','n','s',' ','c','a','n',#039,'t',' ','b','e',' ','c','a',
+  'l','l','e','d',#000,'W','_','P','o','s','s','i','b','l','e',
+  ' ','i','l','l','e','g','a','l',' ','c','a','l','l',' ','o',
+  'f',' ','c','o','n','s','t','r','u','c','t','o','r',' ','o',
+  'r',' ','d','e','s','t','r','u','c','t','o','r',' ','(','d',
+  'o','e','s','n',#039,'t',' ','m','a','t','c','h',' ','t','o',
+  ' ','t','h','i','s',' ','c','o','n','t','e','x','t',')',#000,
+  'N','_','I','n','e','f','f','i','c','i','e','n','t',' ','c',
+  'o','d','e',#000,'W','_','u','n','r','e','a','c','h','a','b',
+  'l','e',' ','c','o','d','e',#000,'E','_','p','r','o','c','e',
+  'd','u','r','e',' ','c','a','l','l',' ','w','i','t','h',' ',
+  's','t','a','c','k','f','r','a','m','e',' ','E','S','P','/',
+  'S','P',#000,'E','_','A','b','s','t','r','a','c','t',' ','m',
+  'e','t','h','o','d','s',' ','c','a','n',#039,'t',' ','b','e',
+  ' ','c','a','l','l','e','d',' ','d','i','r','e','c','t','l',
+  'y',#000,'F','_','I','n','t','e','r','n','a','l',' ','E','r',
+  'r','o','r',' ','i','n',' ','g','e','t','f','l','o','a','t',
+  'r','e','g','(',')',',',' ','a','l','l','o','c','a','t','i',
+  'o','n',' ','f','a','i','l','u','r','e',#000,'F','_','U','n',
+  'k','n','o','w','n',' ','f','l','o','a','t',' ','t','y','p',
+  'e',#000,'F','_','S','e','c','o','n','d','V','e','c','n','(',
+  ')',' ','b','a','s','e',' ','d','e','f','i','n','e','d',' ',
+  't','w','i','c','e',#000,'F','_','E','x','t','e','n','d','e',
+  'd',' ','c','g','6','8','k',' ','n','o','t',' ','s','u','p',
+  'p','o','r','t','e','d',#000,'F','_','3','2','-','b','i','t',
+  ' ','u','n','s','i','g','n','e','d',' ','n','o','t',' ','s',
+  'u','p','p','o','r','t','e','d',' ','i','n',' ','M','C','6',
+  '8','0','0','0',' ','m','o','d','e',#000,'F','_','I','n','t',
+  'e','r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ',
+  's','e','c','o','n','d','i','n','l','i','n','e','(',')',#000,
+  'D','_','R','e','g','i','s','t','e','r',' ','$','1',' ','w',
+  'e','i','g','h','t',' ','$','2',' ','$','3',#000,'E','_','S',
+  't','a','c','k',' ','l','i','m','i','t',' ','e','x','c','e',
+  'd','e','e','d',' ','i','n',' ','l','o','c','a','l',' ','r',
+  'o','u','t','i','n','e',#000,'D','_','S','t','a','c','k',' ',
+  'f','r','a','m','e',' ','i','s',' ','o','m','i','t','e','d',
+  #000,'F','_','D','i','v','i','d','e',' ','b','y',' ','z','e',
+  'r','o',' ','i','n',' ','a','s','m',' ','e','v','a','l','u',
+  'a','t','o','r',#000,'F','_','E','v','a','l','u','a','t','o',
+  'r',' ','s','t','a','c','k',' ','o','v','e','r','f','l','o',
+  'w',#000,'F','_','E','v','a','l','u','a','t','o','r',' ','s',
+  't','a','c','k',' ','u','n','d','e','r','f','l','o','w',#000,
+  'F','_','I','n','v','a','l','i','d',' ','n','u','m','e','r',
+  'i','c',' ','f','o','r','m','a','t',' ','i','n',' ','a','s',
+  'm',' ','e','v','a','l','u','a','t','o','r',#000,'F','_','I',
+  'n','v','a','l','i','d',' ','O','p','e','r','a','t','o','r',
   ' ','i','n',' ','a','s','m',' ','e','v','a','l','u','a','t',
-  'o','r',#000,'F','_','I','n','v','a','l','i','d',' ','O','p',
-  'e','r','a','t','o','r',' ','i','n',' ','a','s','m',' ','e',
-  'v','a','l','u','a','t','o','r',#000,'F','_','U','n','k','n',
-  'o','w','n',' ','e','r','r','o','r',' ','i','n',' ','a','s',
-  'm',' ','e','v','a','l','u','a','t','o','r',#000,'W','_','I',
-  'n','v','a','l','i','d',' ','n','u','m','e','r','i','c',' ',
-  'v','a','l','u','e',#000,'E','_','e','s','c','a','p','e',' ',
-  's','e','q','u','e','n','c','e',' ','i','g','n','o','r','e',
-  'd',':',' ','$','1',#000,'E','_','A','s','m',' ','s','y','n',
-  't','a','x',' ','e','r','r','o','r',' ','-',' ','P','r','e',
-  'f','i','x',' ','n','o','t',' ','f','o','u','n','d',#000,'E',
-  '_','A','s','m',' ','s','y','n','t','a','x',' ','e','r','r',
-  'o','r',' ','-',' ','T','r','y','i','n','g',' ','t','o',' ',
-  'a','d','d',' ','m','o','r','e',' ','t','h','a','n',' ','o',
-  'n','e',' ','p','r','e','f','i','x',#000,'E','_','A','s','m',
-  ' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ','-',
-  ' ','O','p','c','o','d','e',' ','n','o','t',' ','f','o','u',
-  'n','d',#000,'E','_','I','n','v','a','l','i','d',' ','s','y',
-  'm','b','o','l',' ','r','e','f','e','r','e','n','c','e',#000,
-  'W','_','C','a','l','l','i','n','g',' ','a','n',' ','o','v',
-  'e','r','l','o','a','d',' ','f','u','n','c','t','i','o','n',
-  ' ','i','n',' ','a','n',' ','a','s','m',#000,'E','_','C','o',
-  'n','s','t','a','n','t',' ','v','a','l','u','e',' ','o','u',
-  't',' ','o','f',' ','b','o','u','n','d','s',#000,'E','_','N',
-  'o','n','-','l','a','b','e','l',' ','p','a','t','t','e','r',
-  'n',' ','c','o','n','t','a','i','n','s',' ','@',#000,'E','_',
-  'I','n','v','a','l','i','d',' ','O','p','e','r','a','n','d',
-  ':',' ','$','1',#000,'W','_','O','v','e','r','r','i','d','e',
-  ' ','o','p','e','r','a','t','o','r',' ','n','o','t',' ','s',
-  'u','p','p','o','r','t','e','d',#000,'E','_','E','r','r','o',
-  'r',' ','i','n',' ','b','i','n','a','r','y',' ','c','o','n',
-  's','t','a','n','t',':',' ','$','1',#000,'E','_','E','r','r',
-  'o','r',' ','i','n',' ','o','c','t','a','l',' ','c','o','n',
+  'o','r',#000,'F','_','U','n','k','n','o','w','n',' ','e','r',
+  'r','o','r',' ','i','n',' ','a','s','m',' ','e','v','a','l',
+  'u','a','t','o','r',#000,'W','_','I','n','v','a','l','i','d',
+  ' ','n','u','m','e','r','i','c',' ','v','a','l','u','e',#000,
+  'E','_','e','s','c','a','p','e',' ','s','e','q','u','e','n',
+  'c','e',' ','i','g','n','o','r','e','d',':',' ','$','1',#000,
+  'E','_','A','s','m',' ','s','y','n','t','a','x',' ','e','r',
+  'r','o','r',' ','-',' ','P','r','e','f','i','x',' ','n','o',
+  't',' ','f','o','u','n','d',#000,'E','_','A','s','m',' ','s',
+  'y','n','t','a','x',' ','e','r','r','o','r',' ','-',' ','T',
+  'r','y','i','n','g',' ','t','o',' ','a','d','d',' ','m','o',
+  'r','e',' ','t','h','a','n',' ','o','n','e',' ','p','r','e',
+  'f','i','x',#000,'E','_','A','s','m',' ','s','y','n','t','a',
+  'x',' ','e','r','r','o','r',' ','-',' ','O','p','c','o','d',
+  'e',' ','n','o','t',' ','f','o','u','n','d',#000,'E','_','I',
+  'n','v','a','l','i','d',' ','s','y','m','b','o','l',' ','r',
+  'e','f','e','r','e','n','c','e',#000,'W','_','C','a','l','l',
+  'i','n','g',' ','a','n',' ','o','v','e','r','l','o','a','d',
+  ' ','f','u','n','c','t','i','o','n',' ','i','n',' ','a','n',
+  ' ','a','s','m',#000,'E','_','C','o','n','s','t','a','n','t',
+  ' ','v','a','l','u','e',' ','o','u','t',' ','o','f',' ','b',
+  'o','u','n','d','s',#000,'E','_','N','o','n','-','l','a','b',
+  'e','l',' ','p','a','t','t','e','r','n',' ','c','o','n','t',
+  'a','i','n','s',' ','@',#000,'E','_','I','n','v','a','l','i',
+  'd',' ','O','p','e','r','a','n','d',':',' ','$','1',#000,'W',
+  '_','O','v','e','r','r','i','d','e',' ','o','p','e','r','a',
+  't','o','r',' ','n','o','t',' ','s','u','p','p','o','r','t',
+  'e','d',#000,'E','_','E','r','r','o','r',' ','i','n',' ','b',
+  'i','n','a','r','y',' ','c','o','n','s','t','a','n','t',':',
+  ' ','$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ',
+  'o','c','t','a','l',' ','c','o','n','s','t','a','n','t',':',
+  ' ','$','1',#000,'E','_','E','r','r','o','r',' ','i','n',' ',
+  'h','e','x','a','d','e','c','i','m','a','l',' ','c','o','n',
   's','t','a','n','t',':',' ','$','1',#000,'E','_','E','r','r',
-  'o','r',' ','i','n',' ','h','e','x','a','d','e','c','i','m',
-  'a','l',' ','c','o','n','s','t','a','n','t',':',' ','$','1',
-  #000,'E','_','E','r','r','o','r',' ','i','n',' ','i','n','t',
-  'e','g','e','r',' ','c','o','n','s','t','a','n','t',':',' ',
-  '$','1',#000,'E','_','I','n','v','a','l','i','d',' ','l','a',
-  'b','e','l','e','d',' ','o','p','c','o','d','e',#000,'F','_',
-  'I','n','t','e','r','n','a','l',' ','e','r','r','o','r',' ',
-  'i','n',' ','F','i','n','d','t','y','p','e','(',')',#000,'E',
-  '_','I','n','v','a','l','i','d',' ','s','i','z','e',' ','f',
-  'o','r',' ','M','O','V','S','X','/','M','O','V','Z','X',#000,
-  'E','_','1','6','-','b','i','t',' ','b','a','s','e',' ','i',
-  'n',' ','3','2','-','b','i','t',' ','s','e','g','m','e','n',
-  't',#000,'E','_','1','6','-','b','i','t',' ','i','n','d','e',
-  'x',' ','i','n',' ','3','2','-','b','i','t',' ','s','e','g',
-  'm','e','n','t',#000,'E','_','I','n','v','a','l','i','d',' ',
-  'O','p','c','o','d','e',#000,'E','_','C','o','n','s','t','a',
-  'n','t',' ','r','e','f','e','r','e','n','c','e',' ','n','o',
-  't',' ','a','l','l','o','w','e','d',#000,'W','_','F','w','a',
-  'i','t',' ','c','a','n',' ','c','a','u','s','e',' ','e','m',
-  'u','l','a','t','i','o','n',' ','p','r','o','b','l','e','m',
-  's',' ','w','i','t','h',' ','e','m','u','3','8','7',#000,'E',
-  '_','I','n','v','a','l','i','d',' ','c','o','m','b','i','n',
-  'a','t','i','o','n',' ','o','f',' ','o','p','c','o','d','e',
-  ' ','a','n','d',' ','o','p','e','r','a','n','d','s',#000,'W',
-  '_','O','p','c','o','d','e',' ','$','1',' ','n','o','t',' ',
-  'i','n',' ','t','a','b','l','e',',',' ','o','p','e','r','a',
-  'n','d','s',' ','n','o','t',' ','c','h','e','c','k','e','d',
-  #000,'F','_','I','n','t','e','r','n','a','l',' ','E','r','r',
-  'o','r',' ','i','n',' ','C','o','n','c','a','t','O','p','c',
-  'o','d','e','(',')',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','s','i','z','e',' ','i','n',' ','r','e','f','e','r','e',
-  'n','c','e',#000,'E','_','I','n','v','a','l','i','d',' ','m',
-  'i','d','d','l','e',' ','s','i','z','e','d',' ','o','p','e',
-  'r','a','n','d',#000,'E','_','I','n','v','a','l','i','d',' ',
-  't','h','r','e','e',' ','o','p','e','r','a','n','d',' ','o',
-  'p','c','o','d','e',#000,'E','_','A','s','s','e','m','b','l',
-  'e','r',' ','s','y','n','t','a','x',' ','e','r','r','o','r',
-  #000,'E','_','I','n','v','a','l','i','d',' ','o','p','e','r',
-  'a','n','d',' ','t','y','p','e',#000,'E','_','S','e','g','m',
-  'e','n','t',' ','o','v','e','r','r','i','d','e','s',' ','n',
-  'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E','_',
-  'I','n','v','a','l','i','d',' ','c','o','n','s','t','a','n',
-  't',' ','s','y','m','b','o','l',' ','$','1',#000,'F','_','I',
+  'o','r',' ','i','n',' ','i','n','t','e','g','e','r',' ','c',
+  'o','n','s','t','a','n','t',':',' ','$','1',#000,'E','_','I',
+  'n','v','a','l','i','d',' ','l','a','b','e','l','e','d',' ',
+  'o','p','c','o','d','e',#000,'F','_','I','n','t','e','r','n',
+  'a','l',' ','e','r','r','o','r',' ','i','n',' ','F','i','n',
+  'd','t','y','p','e','(',')',#000,'E','_','I','n','v','a','l',
+  'i','d',' ','s','i','z','e',' ','f','o','r',' ','M','O','V',
+  'S','X','/','M','O','V','Z','X',#000,'E','_','1','6','-','b',
+  'i','t',' ','b','a','s','e',' ','i','n',' ','3','2','-','b',
+  'i','t',' ','s','e','g','m','e','n','t',#000,'E','_','1','6',
+  '-','b','i','t',' ','i','n','d','e','x',' ','i','n',' ','3',
+  '2','-','b','i','t',' ','s','e','g','m','e','n','t',#000,'E',
+  '_','I','n','v','a','l','i','d',' ','O','p','c','o','d','e',
+  #000,'E','_','C','o','n','s','t','a','n','t',' ','r','e','f',
+  'e','r','e','n','c','e',' ','n','o','t',' ','a','l','l','o',
+  'w','e','d',#000,'W','_','F','w','a','i','t',' ','c','a','n',
+  ' ','c','a','u','s','e',' ','e','m','u','l','a','t','i','o',
+  'n',' ','p','r','o','b','l','e','m','s',' ','w','i','t','h',
+  ' ','e','m','u','3','8','7',#000,'E','_','I','n','v','a','l',
+  'i','d',' ','c','o','m','b','i','n','a','t','i','o','n',' ',
+  'o','f',' ','o','p','c','o','d','e',' ','a','n','d',' ','o',
+  'p','e','r','a','n','d','s',#000,'W','_','O','p','c','o','d',
+  'e',' ','$','1',' ','n','o','t',' ','i','n',' ','t','a','b',
+  'l','e',',',' ','o','p','e','r','a','n','d','s',' ','n','o',
+  't',' ','c','h','e','c','k','e','d',#000,'F','_','I','n','t',
+  'e','r','n','a','l',' ','E','r','r','o','r',' ','i','n',' ',
+  'C','o','n','c','a','t','O','p','c','o','d','e','(',')',#000,
+  'E','_','I','n','v','a','l','i','d',' ','s','i','z','e',' ',
+  'i','n',' ','r','e','f','e','r','e','n','c','e',#000,'E','_',
+  'I','n','v','a','l','i','d',' ','m','i','d','d','l','e',' ',
+  's','i','z','e','d',' ','o','p','e','r','a','n','d',#000,'E',
+  '_','I','n','v','a','l','i','d',' ','t','h','r','e','e',' ',
+  'o','p','e','r','a','n','d',' ','o','p','c','o','d','e',#000,
+  'E','_','A','s','s','e','m','b','l','e','r',' ','s','y','n',
+  't','a','x',' ','e','r','r','o','r',#000,'E','_','I','n','v',
+  'a','l','i','d',' ','o','p','e','r','a','n','d',' ','t','y',
+  'p','e',#000,'E','_','S','e','g','m','e','n','t',' ','o','v',
+  'e','r','r','i','d','e','s',' ','n','o','t',' ','s','u','p',
+  'p','o','r','t','e','d',#000,'E','_','I','n','v','a','l','i',
+  'd',' ','c','o','n','s','t','a','n','t',' ','s','y','m','b',
+  'o','l',' ','$','1',#000,'F','_','I','n','t','e','r','n','a',
+  'l',' ','E','r','r','r','o','r',' ','c','o','n','v','e','r',
+  't','i','n','g',' ','b','i','n','a','r','y',#000,'F','_','I',
   'n','t','e','r','n','a','l',' ','E','r','r','r','o','r',' ',
-  'c','o','n','v','e','r','t','i','n','g',' ','b','i','n','a',
-  'r','y',#000,'F','_','I','n','t','e','r','n','a','l',' ','E',
-  'r','r','r','o','r',' ','c','o','n','v','e','r','t','i','n',
-  'g',' ','h','e','x','a','d','e','c','i','m','a','l',#000,'F',
-  '_','I','n','t','e','r','n','a','l',' ','E','r','r','r','o',
-  'r',' ','c','o','n','v','e','r','t','i','n','g',' ','o','c',
-  't','a','l',#000,'E','_','I','n','v','a','l','i','d',' ','c',
-  'o','n','s','t','a','n','t',' ','e','x','p','r','e','s','s',
-  'i','o','n',#000,'E','_','U','n','k','n','o','w','n',' ','i',
-  'd','e','n','t','i','f','i','e','r',':',' ','$','1',#000,'E',
-  '_','T','r','y','i','n','g',' ','t','o',' ','d','e','f','i',
-  'n','e',' ','a','n',' ','i','n','d','e','x',' ','r','e','g',
-  'i','s','t','e','r',' ','m','o','r','e',' ','t','h','a','n',
-  ' ','o','n','c','e',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','f','i','e','l','d',' ','s','p','e','c','i','f','i','e',
-  'r',#000,'F','_','I','n','t','e','r','n','a','l',' ','E','r',
-  'r','o','r',' ','i','n',' ','B','u','i','l','d','S','c','a',
-  'l','i','n','g','(',')',#000,'E','_','I','n','v','a','l','i',
-  'd',' ','s','c','a','l','i','n','g',' ','f','a','c','t','o',
-  'r',#000,'E','_','I','n','v','a','l','i','d',' ','s','c','a',
-  'l','i','n','g',' ','v','a','l','u','e',#000,'E','_','S','c',
-  'a','l','i','n','g',' ','v','a','l','u','e',' ','o','n','l',
-  'y',' ','a','l','l','o','w','e','d',' ','w','i','t','h',' ',
-  'i','n','d','e','x',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','a','s','s','e','m','b','l','e','r',' ','s','y','n','t',
-  'a','x','.',' ','N','o',' ','r','e','f',' ','w','i','t','h',
-  ' ','b','r','a','c','k','e','t','s',')',#000,'E','_','E','x',
-  'p','r','e','s','s','i','o','n','s',' ','o','f',' ','t','h',
-  'e',' ','f','o','r','m',' ','[','s','r','e','g',':','r','e',
-  'g','.','.','.',']',' ','a','r','e',' ','c','u','r','r','e',
-  'n','t','l','y',' ','n','o','t',' ','s','u','p','p','o','r',
-  't','e','d',#000,'E','_','T','r','y','i','n','g',' ','t','o',
-  ' ','d','e','f','i','n','e',' ','a',' ','s','e','g','m','e',
-  'n','t',' ','r','e','g','i','s','t','e','r',' ','t','w','i',
-  'c','e',#000,'E','_','T','r','y','i','n','g',' ','t','o',' ',
-  'd','e','f','i','n','e',' ','a',' ','b','a','s','e',' ','r',
-  'e','g','i','s','t','e','r',' ','t','w','i','c','e',#000,'E',
-  '_','T','r','y','i','n','g',' ','t','o',' ','u','s','e',' ',
-  'a',' ','n','e','g','a','t','i','v','e',' ','i','n','d','e',
-  'x',' ','r','e','g','i','s','t','e','r',#000,'E','_','A','s',
-  'm',' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ',
-  '-',' ','e','r','r','o','r',' ','i','n',' ','r','e','f','e',
-  'r','e','n','c','e',#000,'E','_','L','o','c','a','l',' ','s',
-  'y','m','b','o','l','s',' ','n','o','t',' ','a','l','l','o',
-  'w','e','d',' ','a','s',' ','r','e','f','e','r','e','n','c',
-  'e','s',#000,'E','_','I','n','v','a','l','i','d',' ','o','p',
-  'e','r','a','n','d',' ','i','n',' ','b','r','a','c','k','e',
+  'c','o','n','v','e','r','t','i','n','g',' ','h','e','x','a',
+  'd','e','c','i','m','a','l',#000,'F','_','I','n','t','e','r',
+  'n','a','l',' ','E','r','r','r','o','r',' ','c','o','n','v',
+  'e','r','t','i','n','g',' ','o','c','t','a','l',#000,'E','_',
+  'I','n','v','a','l','i','d',' ','c','o','n','s','t','a','n',
   't',' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_',
-  'I','n','v','a','l','i','d',' ','s','y','m','b','o','l',' ',
-  'n','a','m','e',':',' ','$','1',#000,'E','_','I','n','v','a',
-  'l','i','d',' ','R','e','f','e','r','e','n','c','e',' ','s',
-  'y','n','t','a','x',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','s','t','r','i','n','g',' ','a','s',' ','o','p','c','o',
-  'd','e',' ','o','p','e','r','a','n','d',':',' ','$','1',#000,
-  'W','_','@','C','O','D','E',' ','a','n','d',' ','@','D','A',
-  'T','A',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
-  'd',#000,'E','_','N','u','l','l',' ','l','a','b','e','l',' ',
-  'r','e','f','e','r','e','n','c','e','s',' ','a','r','e',' ',
-  'n','o','t',' ','a','l','l','o','w','e','d',#000,'E','_','C',
-  'a','n','n','o','t',' ','u','s','e',' ','S','E','L','F',' ',
-  'o','u','t','s','i','d','e',' ','a',' ','m','e','t','h','o',
-  'd',#000,'E','_','A','s','m',' ','s','y','n','t','a','x',' ',
-  'e','r','r','o','r',' ','-',' ','S','h','o','u','l','d',' ',
-  's','t','a','r','t',' ','w','i','t','h',' ','b','r','a','c',
-  'k','e','t',#000,'E','_','A','s','m',' ','s','y','n','t','a',
-  'x',' ','e','r','r','o','r',' ','-',' ','r','e','g','i','s',
-  't','e','r',':',' ','$','1',#000,'E','_','S','E','G',' ','a',
-  'n','d',' ','O','F','F','S','E','T',' ','n','o','t',' ','s',
-  'u','p','p','o','r','t','e','d',#000,'E','_','A','s','m',' ',
-  's','y','n','t','a','x',' ','e','r','r','o','r',' ','-',' ',
-  'i','n',' ','o','p','c','o','d','e',' ','o','p','e','r','a',
-  'n','d',#000,'E','_','I','n','v','a','l','i','d',' ','S','t',
-  'r','i','n','g',' ','e','x','p','r','e','s','s','i','o','n',
-  #000,'E','_','C','o','n','s','t','a','n','t',' ','e','x','p',
-  'r','e','s','s','i','o','n',' ','o','u','t',' ','o','f',' ',
-  'b','o','u','n','d','s',#000,'F','_','I','n','t','e','r','n',
-  'a','l',' ','E','r','r','o','r',' ','i','n',' ','B','u','i',
-  'l','d','C','o','n','s','t','a','n','t','(',')',#000,'W','_',
-  'A',' ','r','e','p','e','a','t',' ','p','r','e','f','i','x',
-  ' ','a','n','d',' ','a',' ','s','e','g','m','e','n','t',' ',
-  'o','v','e','r','r','i','d','e',' ','o','n',' ','<','=',' ',
-  'i','3','8','6',' ','m','a','y',' ','r','e','s','u','l','t',
-  ' ','i','n',' ','e','r','r','o','r','s',' ','i','f',' ','a',
-  'n',' ','i','n','t','e','r','r','u','p','t',' ','o','c','c',
-  'u','r','s',#000,'E','_','I','n','v','a','l','i','d',' ','o',
-  'r',' ','m','i','s','s','i','n','g',' ','o','p','c','o','d',
-  'e',#000,'E','_','I','n','v','a','l','i','d',' ','c','o','m',
-  'b','i','n','a','t','i','o','n',' ','o','f',' ','p','r','e',
-  'f','i','x',' ','a','n','d',' ','o','p','c','o','d','e',':',
-  ' ','$','1',#000,'E','_','I','n','v','a','l','i','d',' ','c',
-  'o','m','b','i','n','a','t','i','o','n',' ','o','f',' ','o',
-  'v','e','r','r','i','d','e',' ','a','n','d',' ','o','p','c',
-  'o','d','e',':',' ','$','1',#000,'E','_','T','o','o',' ','m',
-  'a','n','y',' ','o','p','e','r','a','n','d','s',' ','o','n',
-  ' ','l','i','n','e',#000,'E','_','D','u','p','l','i','c','a',
-  't','e',' ','l','o','c','a','l',' ','s','y','m','b','o','l',
-  ':',' ','$','1',#000,'E','_','U','n','k','n','o','w','n',' ',
-  'l','a','b','e','l',' ','i','d','e','n','t','i','f','e','r',
-  ':',' ','$','1',#000,'E','_','A','s','s','e','m','b','l','e',
-  ' ','n','o','d','e',' ','s','y','n','t','a','x',' ','e','r',
-  'r','o','r',#000,'E','_','U','n','d','e','f','i','n','e','d',
-  ' ','l','o','c','a','l',' ','s','y','m','b','o','l',':',' ',
-  '$','1',#000,'D','_','S','t','a','r','t','i','n','g',' ','i',
-  'n','t','e','l',' ','s','t','y','l','e','d',' ','a','s','s',
-  'e','m','b','l','e','r',' ','p','a','r','s','i','n','g','.',
-  '.','.',#000,'D','_','F','i','n','i','s','h','e','d',' ','i',
-  'n','t','e','l',' ','s','t','y','l','e','d',' ','a','s','s',
-  'e','m','b','l','e','r',' ','p','a','r','s','i','n','g','.',
-  '.','.',#000,'E','_','N','o','t',' ','a',' ','d','i','r','e',
-  'c','t','i','v','e',' ','o','r',' ','l','o','c','a','l',' ',
-  's','y','m','b','o','l',':',' ','$','1',#000,'E','_','/',' ',
-  'a','t',' ','b','e','g','i','n','n','i','n','g',' ','o','f',
-  ' ','l','i','n','e',' ','n','o','t',' ','a','l','l','o','w',
-  'e','d',#000,'E','_','N','O','R',' ','n','o','t',' ','s','u',
-  'p','p','o','r','t','e','d',#000,'E','_','I','n','v','a','l',
-  'i','d',' ','f','l','o','a','t','i','n','g',' ','p','o','i',
-  'n','t',' ','r','e','g','i','s','t','e','r',' ','n','a','m',
-  'e',#000,'W','_','M','o','d','u','l','o',' ','n','o','t',' ',
-  's','u','p','p','o','r','t','e','d',#000,'E','_','I','n','v',
-  'a','l','i','d',' ','f','l','o','a','t','i','n','g',' ','p',
-  'o','i','n','t',' ','c','o','n','s','t','a','n','t',':',' ',
-  '$','1',#000,'E','_','S','i','z','e',' ','s','u','f','f','i',
-  'x',' ','a','n','d',' ','d','e','s','t','i','n','a','t','i',
-  'o','n',' ','r','e','g','i','s','t','e','r',' ','d','o',' ',
-  'n','o','t',' ','m','a','t','c','h',#000,'E','_','I','n','t',
-  'e','r','n','a','l',' ','e','r','r','o','r',' ','i','n',' ',
-  'C','o','n','c','a','t','L','a','b','e','l','e','d','I','n',
-  's','t','r','(',')',#000,'W','_','F','l','o','a','t','i','n',
-  'g',' ','p','o','i','n','t',' ','b','i','n','a','r','y',' ',
-  'r','e','p','r','e','s','e','n','t','a','t','i','o','n',' ',
-  'i','g','n','o','r','e','d',#000,'W','_','F','l','o','a','t',
-  'i','n','g',' ','p','o','i','n','t',' ','h','e','x','a','d',
-  'e','c','i','m','a','l',' ','r','e','p','r','e','s','e','n',
-  't','a','t','i','o','n',' ','i','g','n','o','r','e','d',#000,
+  'U','n','k','n','o','w','n',' ','i','d','e','n','t','i','f',
+  'i','e','r',':',' ','$','1',#000,'E','_','T','r','y','i','n',
+  'g',' ','t','o',' ','d','e','f','i','n','e',' ','a','n',' ',
+  'i','n','d','e','x',' ','r','e','g','i','s','t','e','r',' ',
+  'm','o','r','e',' ','t','h','a','n',' ','o','n','c','e',#000,
+  'E','_','I','n','v','a','l','i','d',' ','f','i','e','l','d',
+  ' ','s','p','e','c','i','f','i','e','r',#000,'F','_','I','n',
+  't','e','r','n','a','l',' ','E','r','r','o','r',' ','i','n',
+  ' ','B','u','i','l','d','S','c','a','l','i','n','g','(',')',
+  #000,'E','_','I','n','v','a','l','i','d',' ','s','c','a','l',
+  'i','n','g',' ','f','a','c','t','o','r',#000,'E','_','I','n',
+  'v','a','l','i','d',' ','s','c','a','l','i','n','g',' ','v',
+  'a','l','u','e',#000,'E','_','S','c','a','l','i','n','g',' ',
+  'v','a','l','u','e',' ','o','n','l','y',' ','a','l','l','o',
+  'w','e','d',' ','w','i','t','h',' ','i','n','d','e','x',#000,
+  'E','_','I','n','v','a','l','i','d',' ','a','s','s','e','m',
+  'b','l','e','r',' ','s','y','n','t','a','x','.',' ','N','o',
+  ' ','r','e','f',' ','w','i','t','h',' ','b','r','a','c','k',
+  'e','t','s',')',#000,'E','_','E','x','p','r','e','s','s','i',
+  'o','n','s',' ','o','f',' ','t','h','e',' ','f','o','r','m',
+  ' ','[','s','r','e','g',':','r','e','g','.','.','.',']',' ',
+  'a','r','e',' ','c','u','r','r','e','n','t','l','y',' ','n',
+  'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'E','_',
+  'T','r','y','i','n','g',' ','t','o',' ','d','e','f','i','n',
+  'e',' ','a',' ','s','e','g','m','e','n','t',' ','r','e','g',
+  'i','s','t','e','r',' ','t','w','i','c','e',#000,'E','_','T',
+  'r','y','i','n','g',' ','t','o',' ','d','e','f','i','n','e',
+  ' ','a',' ','b','a','s','e',' ','r','e','g','i','s','t','e',
+  'r',' ','t','w','i','c','e',#000,'E','_','T','r','y','i','n',
+  'g',' ','t','o',' ','u','s','e',' ','a',' ','n','e','g','a',
+  't','i','v','e',' ','i','n','d','e','x',' ','r','e','g','i',
+  's','t','e','r',#000,'E','_','A','s','m',' ','s','y','n','t',
+  'a','x',' ','e','r','r','o','r',' ','-',' ','e','r','r','o',
+  'r',' ','i','n',' ','r','e','f','e','r','e','n','c','e',#000,
+  'E','_','L','o','c','a','l',' ','s','y','m','b','o','l','s',
+  ' ','n','o','t',' ','a','l','l','o','w','e','d',' ','a','s',
+  ' ','r','e','f','e','r','e','n','c','e','s',#000,'E','_','I',
+  'n','v','a','l','i','d',' ','o','p','e','r','a','n','d',' ',
+  'i','n',' ','b','r','a','c','k','e','t',' ','e','x','p','r',
+  'e','s','s','i','o','n',#000,'E','_','I','n','v','a','l','i',
+  'd',' ','s','y','m','b','o','l',' ','n','a','m','e',':',' ',
+  '$','1',#000,'E','_','I','n','v','a','l','i','d',' ','R','e',
+  'f','e','r','e','n','c','e',' ','s','y','n','t','a','x',#000,
+  'E','_','I','n','v','a','l','i','d',' ','s','t','r','i','n',
+  'g',' ','a','s',' ','o','p','c','o','d','e',' ','o','p','e',
+  'r','a','n','d',':',' ','$','1',#000,'W','_','@','C','O','D',
+  'E',' ','a','n','d',' ','@','D','A','T','A',' ','n','o','t',
+  ' ','s','u','p','p','o','r','t','e','d',#000,'E','_','N','u',
+  'l','l',' ','l','a','b','e','l',' ','r','e','f','e','r','e',
+  'n','c','e','s',' ','a','r','e',' ','n','o','t',' ','a','l',
+  'l','o','w','e','d',#000,'E','_','C','a','n','n','o','t',' ',
+  'u','s','e',' ','S','E','L','F',' ','o','u','t','s','i','d',
+  'e',' ','a',' ','m','e','t','h','o','d',#000,'E','_','A','s',
+  'm',' ','s','y','n','t','a','x',' ','e','r','r','o','r',' ',
+  '-',' ','S','h','o','u','l','d',' ','s','t','a','r','t',' ',
+  'w','i','t','h',' ','b','r','a','c','k','e','t',#000,'E','_',
+  'A','s','m',' ','s','y','n','t','a','x',' ','e','r','r','o',
+  'r',' ','-',' ','r','e','g','i','s','t','e','r',':',' ','$',
+  '1',#000,'E','_','S','E','G',' ','a','n','d',' ','O','F','F',
+  'S','E','T',' ','n','o','t',' ','s','u','p','p','o','r','t',
+  'e','d',#000,'E','_','A','s','m',' ','s','y','n','t','a','x',
+  ' ','e','r','r','o','r',' ','-',' ','i','n',' ','o','p','c',
+  'o','d','e',' ','o','p','e','r','a','n','d',#000,'E','_','I',
+  'n','v','a','l','i','d',' ','S','t','r','i','n','g',' ','e',
+  'x','p','r','e','s','s','i','o','n',#000,'E','_','C','o','n',
+  's','t','a','n','t',' ','e','x','p','r','e','s','s','i','o',
+  'n',' ','o','u','t',' ','o','f',' ','b','o','u','n','d','s',
+  #000,'F','_','I','n','t','e','r','n','a','l',' ','E','r','r',
+  'o','r',' ','i','n',' ','B','u','i','l','d','C','o','n','s',
+  't','a','n','t','(',')',#000,'W','_','A',' ','r','e','p','e',
+  'a','t',' ','p','r','e','f','i','x',' ','a','n','d',' ','a',
+  ' ','s','e','g','m','e','n','t',' ','o','v','e','r','r','i',
+  'd','e',' ','o','n',' ','<','=',' ','i','3','8','6',' ','m',
+  'a','y',' ','r','e','s','u','l','t',' ','i','n',' ','e','r',
+  'r','o','r','s',' ','i','f',' ','a','n',' ','i','n','t','e',
+  'r','r','u','p','t',' ','o','c','c','u','r','s',#000,'E','_',
+  'I','n','v','a','l','i','d',' ','o','r',' ','m','i','s','s',
+  'i','n','g',' ','o','p','c','o','d','e',#000,'E','_','I','n',
+  'v','a','l','i','d',' ','c','o','m','b','i','n','a','t','i',
+  'o','n',' ','o','f',' ','p','r','e','f','i','x',' ','a','n',
+  'd',' ','o','p','c','o','d','e',':',' ','$','1',#000,'E','_',
+  'I','n','v','a','l','i','d',' ','c','o','m','b','i','n','a',
+  't','i','o','n',' ','o','f',' ','o','v','e','r','r','i','d',
+  'e',' ','a','n','d',' ','o','p','c','o','d','e',':',' ','$',
+  '1',#000,'E','_','T','o','o',' ','m','a','n','y',' ','o','p',
+  'e','r','a','n','d','s',' ','o','n',' ','l','i','n','e',#000,
+  'E','_','D','u','p','l','i','c','a','t','e',' ','l','o','c',
+  'a','l',' ','s','y','m','b','o','l',':',' ','$','1',#000,'E',
+  '_','U','n','k','n','o','w','n',' ','l','a','b','e','l',' ',
+  'i','d','e','n','t','i','f','e','r',':',' ','$','1',#000,'E',
+  '_','A','s','s','e','m','b','l','e',' ','n','o','d','e',' ',
+  's','y','n','t','a','x',' ','e','r','r','o','r',#000,'E','_',
+  'U','n','d','e','f','i','n','e','d',' ','l','o','c','a','l',
+  ' ','s','y','m','b','o','l',':',' ','$','1',#000,'D','_','S',
+  't','a','r','t','i','n','g',' ','i','n','t','e','l',' ','s',
+  't','y','l','e','d',' ','a','s','s','e','m','b','l','e','r',
+  ' ','p','a','r','s','i','n','g','.','.','.',#000,'D','_','F',
+  'i','n','i','s','h','e','d',' ','i','n','t','e','l',' ','s',
+  't','y','l','e','d',' ','a','s','s','e','m','b','l','e','r',
+  ' ','p','a','r','s','i','n','g','.','.','.',#000,'E','_','N',
+  'o','t',' ','a',' ','d','i','r','e','c','t','i','v','e',' ',
+  'o','r',' ','l','o','c','a','l',' ','s','y','m','b','o','l',
+  ':',' ','$','1',#000,'E','_','/',' ','a','t',' ','b','e','g',
+  'i','n','n','i','n','g',' ','o','f',' ','l','i','n','e',' ',
+  'n','o','t',' ','a','l','l','o','w','e','d',#000,'E','_','N',
+  'O','R',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
+  'd',#000,'E','_','I','n','v','a','l','i','d',' ','f','l','o',
+  'a','t','i','n','g',' ','p','o','i','n','t',' ','r','e','g',
+  'i','s','t','e','r',' ','n','a','m','e',#000,'W','_','M','o',
+  'd','u','l','o',' ','n','o','t',' ','s','u','p','p','o','r',
+  't','e','d',#000,'E','_','I','n','v','a','l','i','d',' ','f',
+  'l','o','a','t','i','n','g',' ','p','o','i','n','t',' ','c',
+  'o','n','s','t','a','n','t',':',' ','$','1',#000,'E','_','S',
+  'i','z','e',' ','s','u','f','f','i','x',' ','a','n','d',' ',
+  'd','e','s','t','i','n','a','t','i','o','n',' ','r','e','g',
+  'i','s','t','e','r',' ','d','o',' ','n','o','t',' ','m','a',
+  't','c','h',#000,'E','_','I','n','t','e','r','n','a','l',' ',
+  'e','r','r','o','r',' ','i','n',' ','C','o','n','c','a','t',
+  'L','a','b','e','l','e','d','I','n','s','t','r','(',')',#000,
   'W','_','F','l','o','a','t','i','n','g',' ','p','o','i','n',
-  't',' ','o','c','t','a','l',' ','r','e','p','r','e','s','e',
-  'n','t','a','t','i','o','n',' ','i','g','n','o','r','e','d',
-  #000,'E','_','I','n','v','a','l','i','d',' ','r','e','a','l',
-  ' ','c','o','n','s','t','a','n','t',' ','e','x','p','r','e',
-  's','s','i','o','n',#000,'E','_','P','a','r','e','n','t','h',
-  'e','s','i','s',' ','a','r','e',' ','n','o','t',' ','a','l',
-  'l','o','w','e','d',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','R','e','f','e','r','e','n','c','e',#000,'E','_','C','a',
-  'n','n','o','t',' ','u','s','e',' ','_','_','S','E','L','F',
-  ' ','o','u','t','s','i','d','e',' ','a',' ','m','e','t','h',
-  'o','d',#000,'E','_','C','a','n','n','o','t',' ','u','s','e',
-  ' ','_','_','O','L','D','E','B','P',' ','o','u','t','s','i',
-  'd','e',' ','a',' ','n','e','s','t','e','d',' ','p','r','o',
-  'c','e','d','u','r','e',#000,'W','_','I','d','e','n','t','i',
-  'f','i','e','r',' ','$','1',' ','s','u','p','p','o','s','e',
-  'd',' ','e','x','t','e','r','n','a','l',#000,'E','_','I','n',
-  'v','a','l','i','d',' ','s','e','g','m','e','n','t',' ','o',
-  'v','e','r','r','i','d','e',' ','e','x','p','r','e','s','s',
-  'i','o','n',#000,'E','_','S','t','r','i','n','g','s',' ','n',
-  'o','t',' ','a','l','l','o','w','e','d',' ','a','s',' ','c',
-  'o','n','s','t','a','n','t','s',#000,'D','_','S','t','a','r',
-  't','i','n','g',' ','A','T','&','T',' ','s','t','y','l','e',
+  't',' ','b','i','n','a','r','y',' ','r','e','p','r','e','s',
+  'e','n','t','a','t','i','o','n',' ','i','g','n','o','r','e',
+  'd',#000,'W','_','F','l','o','a','t','i','n','g',' ','p','o',
+  'i','n','t',' ','h','e','x','a','d','e','c','i','m','a','l',
+  ' ','r','e','p','r','e','s','e','n','t','a','t','i','o','n',
+  ' ','i','g','n','o','r','e','d',#000,'W','_','F','l','o','a',
+  't','i','n','g',' ','p','o','i','n','t',' ','o','c','t','a',
+  'l',' ','r','e','p','r','e','s','e','n','t','a','t','i','o',
+  'n',' ','i','g','n','o','r','e','d',#000,'E','_','I','n','v',
+  'a','l','i','d',' ','r','e','a','l',' ','c','o','n','s','t',
+  'a','n','t',' ','e','x','p','r','e','s','s','i','o','n',#000,
+  'E','_','P','a','r','e','n','t','h','e','s','i','s',' ','a',
+  'r','e',' ','n','o','t',' ','a','l','l','o','w','e','d',#000,
+  'E','_','I','n','v','a','l','i','d',' ','R','e','f','e','r',
+  'e','n','c','e',#000,'E','_','C','a','n','n','o','t',' ','u',
+  's','e',' ','_','_','S','E','L','F',' ','o','u','t','s','i',
+  'd','e',' ','a',' ','m','e','t','h','o','d',#000,'E','_','C',
+  'a','n','n','o','t',' ','u','s','e',' ','_','_','O','L','D',
+  'E','B','P',' ','o','u','t','s','i','d','e',' ','a',' ','n',
+  'e','s','t','e','d',' ','p','r','o','c','e','d','u','r','e',
+  #000,'W','_','I','d','e','n','t','i','f','i','e','r',' ','$',
+  '1',' ','s','u','p','p','o','s','e','d',' ','e','x','t','e',
+  'r','n','a','l',#000,'E','_','I','n','v','a','l','i','d',' ',
+  's','e','g','m','e','n','t',' ','o','v','e','r','r','i','d',
+  'e',' ','e','x','p','r','e','s','s','i','o','n',#000,'E','_',
+  'S','t','r','i','n','g','s',' ','n','o','t',' ','a','l','l',
+  'o','w','e','d',' ','a','s',' ','c','o','n','s','t','a','n',
+  't','s',#000,'D','_','S','t','a','r','t','i','n','g',' ','A',
+  'T','&','T',' ','s','t','y','l','e','d',' ','a','s','s','e',
+  'm','b','l','e','r',' ','p','a','r','s','i','n','g','.','.',
+  '.',#000,'D','_','F','i','n','i','s','h','e','d',' ','A','T',
+  '&','T',' ','s','t','y','l','e','d',' ','a','s','s','e','m',
+  'b','l','e','r',' ','p','a','r','s','i','n','g','.','.','.',
+  #000,'E','_','S','w','i','t','c','h','i','n','g',' ','s','e',
+  'c','t','i','o','n','s',' ','i','s',' ','n','o','t',' ','a',
+  'l','l','o','w','e','d',' ','i','n',' ','a','n',' ','a','s',
+  's','e','m','b','l','e','r',' ','b','l','o','c','k',#000,'E',
+  '_','I','n','v','a','l','i','d',' ','g','l','o','b','a','l',
+  ' ','d','e','f','i','n','i','t','i','o','n',#000,'E','_','L',
+  'i','n','e',' ','s','e','p','a','r','a','t','o','r',' ','e',
+  'x','p','e','c','t','e','d',#000,'W','_','g','l','o','b','l',
+  ' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,
+  'W','_','a','l','i','g','n',' ','n','o','t',' ','s','u','p',
+  'p','o','r','t','e','d',#000,'W','_','l','c','o','m','m',' ',
+  'n','o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W',
+  '_','c','o','m','m',' ','n','o','t',' ','s','u','p','p','o',
+  'r','t','e','d',#000,'E','_','I','n','v','a','l','i','d',' ',
+  'l','o','c','a','l',' ','c','o','m','m','o','n',' ','d','e',
+  'f','i','n','i','t','i','o','n',#000,'E','_','I','n','v','a',
+  'l','i','d',' ','g','l','o','b','a','l',' ','c','o','m','m',
+  'o','n',' ','d','e','f','i','n','i','t','i','o','n',#000,'E',
+  '_','l','o','c','a','l',' ','s','y','m','b','o','l',':',' ',
+  '$','1',' ','n','o','t',' ','f','o','u','n','d',' ','i','n',
+  's','i','d','e',' ','a','s','m',' ','s','t','a','t','e','m',
+  'e','n','t',#000,'E','_','a','s','s','e','m','b','l','e','r',
+  ' ','c','o','d','e',' ','n','o','t',' ','r','e','t','u','r',
+  'n','e','d',' ','t','o',' ','t','e','x','t',#000,'F','_','i',
+  'n','t','e','r','n','a','l',' ','e','r','r','o','r',' ','i',
+  'n',' ','B','u','i','l','d','R','e','f','e','r','e','n','c',
+  'e','(',')',#000,'E','_','i','n','v','a','l','i','d',' ','o',
+  'p','c','o','d','e',' ','s','i','z','e',#000,'W','_','N','E',
+  'A','R',' ','i','g','n','o','r','e','d',#000,'W','_','F','A',
+  'R',' ','i','g','n','o','r','e','d',#000,'D','_','C','r','e',
+  'a','t','i','n','g',' ','i','n','l','i','n','e',' ','a','s',
+  'm',' ','l','o','o','k','u','p',' ','t','a','b','l','e','s',
+  #000,'W','_','U','s','i','n','g',' ','a',' ','d','e','f','i',
+  'n','e','d',' ','n','a','m','e',' ','a','s',' ','a',' ','l',
+  'o','c','a','l',' ','l','a','b','e','l',#000,'F','_','i','n',
+  't','e','r','n','a','l',' ','e','r','r','o','r',' ','i','n',
+  ' ','H','a','n','d','l','e','E','x','t','e','n','d','(',')',
+  #000,'E','_','I','n','v','a','l','i','d',' ','c','h','a','r',
+  'a','c','t','e','r',':',' ','<',#000,'E','_','I','n','v','a',
+  'l','i','d',' ','c','h','a','r','a','c','t','e','r',':',' ',
+  '>',#000,'E','_','U','n','s','u','p','p','o','r','t','e','d',
+  ' ','o','p','c','o','d','e',#000,'E','_','I','n','c','r','e',
+  'm','e','n','t',' ','a','n','d',' ','D','e','c','r','e','m',
+  'e','n','t',' ','m','o','d','e',' ','n','o','t',' ','a','l',
+  'l','o','w','e','d',' ','t','o','g','e','t','h','e','r',#000,
+  'E','_','I','n','v','a','l','i','d',' ','R','e','g','i','s',
+  't','e','r',' ','l','i','s','t',' ','i','n',' ','m','o','v',
+  'e','m','/','f','m','o','v','e','m',#000,'E','_','I','n','v',
+  'a','l','i','d',' ','R','e','g','i','s','t','e','r',' ','l',
+  'i','s','t',' ','f','o','r',' ','o','p','c','o','d','e',#000,
+  'E','_','6','8','0','2','0','+',' ','m','o','d','e',' ','r',
+  'e','q','u','i','r','e','d',' ','t','o',' ','a','s','s','e',
+  'm','b','l','e',#000,'D','_','S','t','a','r','t','i','n','g',
+  ' ','M','o','t','o','r','o','l','a',' ','s','t','y','l','e',
   'd',' ','a','s','s','e','m','b','l','e','r',' ','p','a','r',
   's','i','n','g','.','.','.',#000,'D','_','F','i','n','i','s',
-  'h','e','d',' ','A','T','&','T',' ','s','t','y','l','e','d',
-  ' ','a','s','s','e','m','b','l','e','r',' ','p','a','r','s',
-  'i','n','g','.','.','.',#000,'E','_','S','w','i','t','c','h',
-  'i','n','g',' ','s','e','c','t','i','o','n','s',' ','i','s',
-  ' ','n','o','t',' ','a','l','l','o','w','e','d',' ','i','n',
-  ' ','a','n',' ','a','s','s','e','m','b','l','e','r',' ','b',
-  'l','o','c','k',#000,'E','_','I','n','v','a','l','i','d',' ',
-  'g','l','o','b','a','l',' ','d','e','f','i','n','i','t','i',
-  'o','n',#000,'E','_','L','i','n','e',' ','s','e','p','a','r',
-  'a','t','o','r',' ','e','x','p','e','c','t','e','d',#000,'W',
-  '_','g','l','o','b','l',' ','n','o','t',' ','s','u','p','p',
-  'o','r','t','e','d',#000,'W','_','a','l','i','g','n',' ','n',
-  'o','t',' ','s','u','p','p','o','r','t','e','d',#000,'W','_',
-  'l','c','o','m','m',' ','n','o','t',' ','s','u','p','p','o',
-  'r','t','e','d',#000,'W','_','c','o','m','m',' ','n','o','t',
-  ' ','s','u','p','p','o','r','t','e','d',#000,'E','_','I','n',
-  'v','a','l','i','d',' ','l','o','c','a','l',' ','c','o','m',
-  'm','o','n',' ','d','e','f','i','n','i','t','i','o','n',#000,
-  'E','_','I','n','v','a','l','i','d',' ','g','l','o','b','a',
-  'l',' ','c','o','m','m','o','n',' ','d','e','f','i','n','i',
-  't','i','o','n',#000,'E','_','l','o','c','a','l',' ','s','y',
-  'm','b','o','l',':',' ','$','1',' ','n','o','t',' ','f','o',
-  'u','n','d',' ','i','n','s','i','d','e',' ','a','s','m',' ',
-  's','t','a','t','e','m','e','n','t',#000,'E','_','a','s','s',
-  'e','m','b','l','e','r',' ','c','o','d','e',' ','n','o','t',
-  ' ','r','e','t','u','r','n','e','d',' ','t','o',' ','t','e',
-  'x','t',#000,'F','_','i','n','t','e','r','n','a','l',' ','e',
-  'r','r','o','r',' ','i','n',' ','B','u','i','l','d','R','e',
-  'f','e','r','e','n','c','e','(',')',#000,'E','_','i','n','v',
-  'a','l','i','d',' ','o','p','c','o','d','e',' ','s','i','z',
-  'e',#000,'W','_','N','E','A','R',' ','i','g','n','o','r','e',
-  'd',#000,'W','_','F','A','R',' ','i','g','n','o','r','e','d',
-  #000,'D','_','C','r','e','a','t','i','n','g',' ','i','n','l',
-  'i','n','e',' ','a','s','m',' ','l','o','o','k','u','p',' ',
-  't','a','b','l','e','s',#000,'W','_','U','s','i','n','g',' ',
-  'a',' ','d','e','f','i','n','e','d',' ','n','a','m','e',' ',
-  'a','s',' ','a',' ','l','o','c','a','l',' ','l','a','b','e',
-  'l',#000,'F','_','i','n','t','e','r','n','a','l',' ','e','r',
-  'r','o','r',' ','i','n',' ','H','a','n','d','l','e','E','x',
-  't','e','n','d','(',')',#000,'E','_','I','n','v','a','l','i',
-  'd',' ','c','h','a','r','a','c','t','e','r',':',' ','<',#000,
-  'E','_','I','n','v','a','l','i','d',' ','c','h','a','r','a',
-  'c','t','e','r',':',' ','>',#000,'E','_','U','n','s','u','p',
-  'p','o','r','t','e','d',' ','o','p','c','o','d','e',#000,'E',
-  '_','I','n','c','r','e','m','e','n','t',' ','a','n','d',' ',
-  'D','e','c','r','e','m','e','n','t',' ','m','o','d','e',' ',
-  'n','o','t',' ','a','l','l','o','w','e','d',' ','t','o','g',
-  'e','t','h','e','r',#000,'E','_','I','n','v','a','l','i','d',
-  ' ','R','e','g','i','s','t','e','r',' ','l','i','s','t',' ',
-  'i','n',' ','m','o','v','e','m','/','f','m','o','v','e','m',
-  #000,'E','_','I','n','v','a','l','i','d',' ','R','e','g','i',
-  's','t','e','r',' ','l','i','s','t',' ','f','o','r',' ','o',
-  'p','c','o','d','e',#000,'E','_','6','8','0','2','0','+',' ',
-  'm','o','d','e',' ','r','e','q','u','i','r','e','d',' ','t',
-  'o',' ','a','s','s','e','m','b','l','e',#000,'D','_','S','t',
-  'a','r','t','i','n','g',' ','M','o','t','o','r','o','l','a',
-  ' ','s','t','y','l','e','d',' ','a','s','s','e','m','b','l',
-  'e','r',' ','p','a','r','s','i','n','g','.','.','.',#000,'D',
-  '_','F','i','n','i','s','h','e','d',' ','M','o','t','o','r',
-  'o','l','a',' ','s','t','y','l','e','d',' ','a','s','s','e',
-  'm','b','l','e','r',' ','p','a','r','s','i','n','g','.','.',
-  '.',#000,'W','_','X','D','E','F',' ','n','o','t',' ','s','u',
-  'p','p','o','r','t','e','d',#000,'W','_','F','u','n','c','t',
-  'i','o','n','s',' ','w','i','t','h',' ','v','o','i','d',' ',
-  'r','e','t','u','r','n',' ','v','a','l','u','e',' ','c','a',
-  'n',#039,'t',' ','r','e','t','u','r','n',' ','a','n','y',' ',
-  'v','a','l','u','e',' ','i','n',' ','a','s','m',' ','c','o',
-  'd','e',#000,'E','_','I','n','v','a','l','i','d',' ','s','u',
-  'f','f','i','x',' ','f','o','r',' ','i','n','t','e','l',' ',
-  'a','s','s','e','m','b','l','e','r',#000,'E','_','E','x','t',
-  'e','n','d','e','d',' ','n','o','t',' ','s','u','p','p','o',
-  'r','t','e','d',' ','i','n',' ','t','h','i','s',' ','m','o',
-  'd','e',#000,'E','_','C','o','m','p',' ','n','o','t',' ','s',
-  'u','p','p','o','r','t','e','d',' ','i','n',' ','t','h','i',
-  's',' ','m','o','d','e',#000,'W','_','Y','o','u',' ','n','e',
-  'e','d',' ','G','N','U',' ','a','s',' ','v','e','r','s','i',
-  'o','n',' ','>','=',' ','2','.','8','1',' ','t','o',' ','c',
-  'o','m','p','i','l','e',' ','t','h','i','s',' ','M','M','X',
-  ' ','c','o','d','e',#000,'I','_','A','s','s','e','m','b','l',
-  'i','n','g',' ','(','p','i','p','e',')',' ','$','1',#000,'E',
-  '_','C','a','n',#039,'t',' ','c','r','e','a','t','e',' ','a',
-  's','s','e','m','b','e','r',' ','f','i','l','e',' ','$','1',
-  #000,'W','_','A','s','s','e','m','b','l','e','r',' ','$','1',
-  ' ','n','o','t',' ','f','o','u','n','d',',',' ','s','w','i',
-  't','c','h','i','n','g',' ','t','o',' ','e','x','t','e','r',
-  'n','a','l',' ','a','s','s','e','m','b','l','i','n','g',#000,
-  'U','_','U','s','i','n','g',' ','a','s','s','e','m','b','l',
-  'e','r',':',' ','$','1',#000,'W','_','E','r','r','o','r',' ',
-  'w','h','i','l','e',' ','a','s','s','e','m','b','l','i','n',
-  'g',#000,'W','_','C','a','n',#039,'t',' ','c','a','l','l',' ',
-  't','h','e',' ','a','s','s','e','m','b','l','e','r',',',' ',
-  's','w','i','t','c','h','i','n','g',' ','t','o',' ','e','x',
-  't','e','r','n','a','l',' ','a','s','s','e','m','b','l','i',
-  'n','g',#000,'I','_','A','s','s','e','m','b','l','i','n','g',
-  ' ','$','1',#000,'W','_','L','i','n','k','e','r',' ','$','1',
-  ' ','n','o','t',' ','f','o','u','n','d',',',' ','s','w','i',
-  't','c','h','i','n','g',' ','t','o',' ','e','x','t','e','r',
-  'n','a','l',' ','l','i','n','k','i','n','g',#000,'U','_','U',
-  's','i','n','g',' ','l','i','n','k','e','r',':',' ','$','1',
-  #000,'W','_','O','b','j','e','c','t',' ','$','1',' ','n','o',
-  't',' ','f','o','u','n','d',',',' ','L','i','n','k','i','n',
-  'g',' ','m','a','y',' ','f','a','i','l',' ','!',#000,'W','_',
-  'L','i','b','r','a','r','y',' ','$','1',' ','n','o','t',' ',
-  'f','o','u','n','d',',',' ','L','i','n','k','i','n','g',' ',
-  'm','a','y',' ','f','a','i','l',' ','!',#000,'W','_','E','r',
-  'r','o','r',' ','w','h','i','l','e',' ','l','i','n','k','i',
-  'n','g',#000,'W','_','C','a','n',#039,'t',' ','c','a','l','l',
-  ' ','t','h','e',' ','l','i','n','k','e','r',',',' ','s','w',
-  'i','t','c','h','i','n','g',' ','t','o',' ','e','x','t','e',
-  'r','n','a','l',' ','l','i','n','k','i','n','g',#000,'I','_',
-  'L','i','n','k','i','n','g',' ','$','1',#000,'W','_','b','i',
-  'n','d','e','r',' ','n','o','t',' ','f','o','u','n','d',',',
-  ' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ','e',
-  'x','t','e','r','n','a','l',' ','b','i','n','d','i','n','g',
-  #000,'W','_','a','r',' ','n','o','t',' ','f','o','u','n','d',
-  ',',' ','s','w','i','t','c','h','i','n','g',' ','t','o',' ',
-  'e','x','t','e','r','n','a','l',' ','a','r',#000,'E','_','D',
-  'y','n','a','m','i','c',' ','L','i','b','r','a','r','i','e',
-  's',' ','n','o','t',' ','s','u','p','p','o','r','t','e','d',
-  #000,'I','_','C','l','o','s','i','n','g',' ','s','c','r','i',
-  'p','t',' ','$','1',#000,'U','_','P','P','U',' ','L','o','a',
-  'd','i','n','g',' ','$','1',#000,'D','_','P','P','U',' ','T',
-  'i','m','e',':',' ','$','1',#000,'D','_','P','P','U',' ','F',
-  'i','l','e',' ','t','o','o',' ','s','h','o','r','t',#000,'D',
-  '_','P','P','U',' ','I','n','v','a','l','i','d',' ','H','e',
-  'a','d','e','r',' ','(','n','o',' ','P','P','U',' ','a','t',
-  ' ','t','h','e',' ','b','e','g','i','n',')',#000,'D','_','P',
-  'P','U',' ','I','n','v','a','l','i','d',' ','V','e','r','s',
-  'i','o','n',' ','$','1',#000,'D','_','P','P','U',' ','F','l',
-  'a','g','s',':',' ','$','1',#000,'D','_','P','P','U',' ','C',
-  'r','c',':',' ','$','1',#000,'T','_','P','P','U',' ','S','o',
-  'u','r','c','e',':',' ','$','1',#000,'D','_','o','b','j','e',
-  'c','t','f','i','l','e',' ','a','n','d',' ','a','s','s','e',
-  'm','b','l','e','r','f','i','l','e',' ','a','r','e',' ','o',
-  'l','d','e','r',' ','t','h','a','n',' ','p','p','u','f','i',
-  'l','e',#000,'D','_','o','b','j','e','c','t','f','i','l','e',
-  ' ','i','s',' ','o','l','d','e','r',' ','t','h','a','n',' ',
-  'a','s','s','e','m','b','l','e','r','f','i','l','e',#000,'T',
-  '_','U','n','i','t','s','e','a','r','c','h',':',' ','$','1',
-  #000,'U','_','W','r','i','t','i','n','g',' ','$','1',#000,'F',
-  '_','C','a','n',#039,'t',' ','W','r','i','t','e',' ','P','P',
-  'U','-','F','i','l','e',#000,'F','_','r','e','a','d','i','n',
-  'g',' ','P','P','U','-','F','i','l','e',#000,'F','_','I','n',
-  'v','a','l','i','d',' ','P','P','U','-','F','i','l','e',' ',
-  'e','n','t','r','y',':',' ','$','1',#000,'F','_','P','P','U',
-  ' ','D','b','x',' ','c','o','u','n','t',' ','p','r','o','b',
-  'l','e','m',#000,'E','_','I','l','l','e','g','a','l',' ','u',
-  'n','i','t',' ','n','a','m','e',':',' ','$','1',#000,'F','_',
-  'T','o','o',' ','m','u','c','h',' ','u','n','i','t','s',#000,
-  'F','_','C','i','r','c','u','l','a','r',' ','u','n','i','t',
-  ' ','r','e','f','e','r','e','n','c','e',#000,'F','_','C','a',
-  'n',#039,'t',' ','c','o','m','p','i','l','e',' ','u','n','i',
-  't',' ','$','1',',',' ','n','o',' ','s','o','u','r','c','e',
-  's',' ','a','v','a','i','l','a','b','l','e',#000,'W','_','C',
-  'o','m','p','i','l','i','n','g',' ','t','h','e',' ','s','y',
-  's','t','e','m',' ','u','n','i','t',' ','r','e','q','u','i',
-  'r','e','s',' ','t','h','e',' ','-','U','s',' ','s','w','i',
-  't','c','h',#000,'E','_','$','1',' ','E','r','r','o','r','s',
-  #000,'F','_','T','h','e','r','e',' ','w','e','r','e',' ','e',
+  'h','e','d',' ','M','o','t','o','r','o','l','a',' ','s','t',
+  'y','l','e','d',' ','a','s','s','e','m','b','l','e','r',' ',
+  'p','a','r','s','i','n','g','.','.','.',#000,'W','_','X','D',
+  'E','F',' ','n','o','t',' ','s','u','p','p','o','r','t','e',
+  'd',#000,'W','_','F','u','n','c','t','i','o','n','s',' ','w',
+  'i','t','h',' ','v','o','i','d',' ','r','e','t','u','r','n',
+  ' ','v','a','l','u','e',' ','c','a','n',#039,'t',' ','r','e',
+  't','u','r','n',' ','a','n','y',' ','v','a','l','u','e',' ',
+  'i','n',' ','a','s','m',' ','c','o','d','e',#000,'E','_','I',
+  'n','v','a','l','i','d',' ','s','u','f','f','i','x',' ','f',
+  'o','r',' ','i','n','t','e','l',' ','a','s','s','e','m','b',
+  'l','e','r',#000,'E','_','E','x','t','e','n','d','e','d',' ',
+  'n','o','t',' ','s','u','p','p','o','r','t','e','d',' ','i',
+  'n',' ','t','h','i','s',' ','m','o','d','e',#000,'E','_','C',
+  'o','m','p',' ','n','o','t',' ','s','u','p','p','o','r','t',
+  'e','d',' ','i','n',' ','t','h','i','s',' ','m','o','d','e',
+  #000,'W','_','Y','o','u',' ','n','e','e','d',' ','G','N','U',
+  ' ','a','s',' ','v','e','r','s','i','o','n',' ','>','=',' ',
+  '2','.','8','1',' ','t','o',' ','c','o','m','p','i','l','e',
+  ' ','t','h','i','s',' ','M','M','X',' ','c','o','d','e',#000,
+  'I','_','A','s','s','e','m','b','l','i','n','g',' ','(','p',
+  'i','p','e',')',' ','$','1',#000,'E','_','C','a','n',#039,'t',
+  ' ','c','r','e','a','t','e',' ','a','s','s','e','m','b','e',
+  'r',' ','f','i','l','e',' ','$','1',#000,'W','_','A','s','s',
+  'e','m','b','l','e','r',' ','$','1',' ','n','o','t',' ','f',
+  'o','u','n','d',',',' ','s','w','i','t','c','h','i','n','g',
+  ' ','t','o',' ','e','x','t','e','r','n','a','l',' ','a','s',
+  's','e','m','b','l','i','n','g',#000,'U','_','U','s','i','n',
+  'g',' ','a','s','s','e','m','b','l','e','r',':',' ','$','1',
+  #000,'W','_','E','r','r','o','r',' ','w','h','i','l','e',' ',
+  'a','s','s','e','m','b','l','i','n','g',#000,'W','_','C','a',
+  'n',#039,'t',' ','c','a','l','l',' ','t','h','e',' ','a','s',
+  's','e','m','b','l','e','r',',',' ','s','w','i','t','c','h',
+  'i','n','g',' ','t','o',' ','e','x','t','e','r','n','a','l',
+  ' ','a','s','s','e','m','b','l','i','n','g',#000,'I','_','A',
+  's','s','e','m','b','l','i','n','g',' ','$','1',#000,'W','_',
+  'L','i','n','k','e','r',' ','$','1',' ','n','o','t',' ','f',
+  'o','u','n','d',',',' ','s','w','i','t','c','h','i','n','g',
+  ' ','t','o',' ','e','x','t','e','r','n','a','l',' ','l','i',
+  'n','k','i','n','g',#000,'U','_','U','s','i','n','g',' ','l',
+  'i','n','k','e','r',':',' ','$','1',#000,'W','_','O','b','j',
+  'e','c','t',' ','$','1',' ','n','o','t',' ','f','o','u','n',
+  'd',',',' ','L','i','n','k','i','n','g',' ','m','a','y',' ',
+  'f','a','i','l',' ','!',#000,'W','_','L','i','b','r','a','r',
+  'y',' ','$','1',' ','n','o','t',' ','f','o','u','n','d',',',
+  ' ','L','i','n','k','i','n','g',' ','m','a','y',' ','f','a',
+  'i','l',' ','!',#000,'W','_','E','r','r','o','r',' ','w','h',
+  'i','l','e',' ','l','i','n','k','i','n','g',#000,'W','_','C',
+  'a','n',#039,'t',' ','c','a','l','l',' ','t','h','e',' ','l',
+  'i','n','k','e','r',',',' ','s','w','i','t','c','h','i','n',
+  'g',' ','t','o',' ','e','x','t','e','r','n','a','l',' ','l',
+  'i','n','k','i','n','g',#000,'I','_','L','i','n','k','i','n',
+  'g',' ','$','1',#000,'W','_','b','i','n','d','e','r',' ','n',
+  'o','t',' ','f','o','u','n','d',',',' ','s','w','i','t','c',
+  'h','i','n','g',' ','t','o',' ','e','x','t','e','r','n','a',
+  'l',' ','b','i','n','d','i','n','g',#000,'W','_','a','r',' ',
+  'n','o','t',' ','f','o','u','n','d',',',' ','s','w','i','t',
+  'c','h','i','n','g',' ','t','o',' ','e','x','t','e','r','n',
+  'a','l',' ','a','r',#000,'E','_','D','y','n','a','m','i','c',
+  ' ','L','i','b','r','a','r','i','e','s',' ','n','o','t',' ',
+  's','u','p','p','o','r','t','e','d',#000,'I','_','C','l','o',
+  's','i','n','g',' ','s','c','r','i','p','t',' ','$','1',#000,
+  'U','_','P','P','U',' ','L','o','a','d','i','n','g',' ','$',
+  '1',#000,'D','_','P','P','U',' ','T','i','m','e',':',' ','$',
+  '1',#000,'D','_','P','P','U',' ','F','i','l','e',' ','t','o',
+  'o',' ','s','h','o','r','t',#000,'D','_','P','P','U',' ','I',
+  'n','v','a','l','i','d',' ','H','e','a','d','e','r',' ','(',
+  'n','o',' ','P','P','U',' ','a','t',' ','t','h','e',' ','b',
+  'e','g','i','n',')',#000,'D','_','P','P','U',' ','I','n','v',
+  'a','l','i','d',' ','V','e','r','s','i','o','n',' ','$','1',
+  #000,'D','_','P','P','U',' ','F','l','a','g','s',':',' ','$',
+  '1',#000,'D','_','P','P','U',' ','C','r','c',':',' ','$','1',
+  #000,'T','_','P','P','U',' ','S','o','u','r','c','e',':',' ',
+  '$','1',#000,'D','_','o','b','j','e','c','t','f','i','l','e',
+  ' ','a','n','d',' ','a','s','s','e','m','b','l','e','r','f',
+  'i','l','e',' ','a','r','e',' ','o','l','d','e','r',' ','t',
+  'h','a','n',' ','p','p','u','f','i','l','e',#000,'D','_','o',
+  'b','j','e','c','t','f','i','l','e',' ','i','s',' ','o','l',
+  'd','e','r',' ','t','h','a','n',' ','a','s','s','e','m','b',
+  'l','e','r','f','i','l','e',#000,'T','_','U','n','i','t','s',
+  'e','a','r','c','h',':',' ','$','1',#000,'U','_','W','r','i',
+  't','i','n','g',' ','$','1',#000,'F','_','C','a','n',#039,'t',
+  ' ','W','r','i','t','e',' ','P','P','U','-','F','i','l','e',
+  #000,'F','_','r','e','a','d','i','n','g',' ','P','P','U','-',
+  'F','i','l','e',#000,'F','_','I','n','v','a','l','i','d',' ',
+  'P','P','U','-','F','i','l','e',' ','e','n','t','r','y',':',
+  ' ','$','1',#000,'F','_','P','P','U',' ','D','b','x',' ','c',
+  'o','u','n','t',' ','p','r','o','b','l','e','m',#000,'E','_',
+  'I','l','l','e','g','a','l',' ','u','n','i','t',' ','n','a',
+  'm','e',':',' ','$','1',#000,'F','_','T','o','o',' ','m','u',
+  'c','h',' ','u','n','i','t','s',#000,'F','_','C','i','r','c',
+  'u','l','a','r',' ','u','n','i','t',' ','r','e','f','e','r',
+  'e','n','c','e',#000,'F','_','C','a','n',#039,'t',' ','c','o',
+  'm','p','i','l','e',' ','u','n','i','t',' ','$','1',',',' ',
+  'n','o',' ','s','o','u','r','c','e','s',' ','a','v','a','i',
+  'l','a','b','l','e',#000,'W','_','C','o','m','p','i','l','i',
+  'n','g',' ','t','h','e',' ','s','y','s','t','e','m',' ','u',
+  'n','i','t',' ','r','e','q','u','i','r','e','s',' ','t','h',
+  'e',' ','-','U','s',' ','s','w','i','t','c','h',#000,'F','_',
+  'T','h','e','r','e',' ','w','e','r','e',' ','$','1',' ','e',
   'r','r','o','r','s',' ','c','o','m','p','i','l','i','n','g',
-  ' ','m','o','d','u','l','e',',',' ','c','o','m','p','i','l',
-  'a','t','i','o','n',' ','s','t','o','p','p','e','d',#000);
+  ' ','m','o','d','u','l','e',',',' ','s','t','o','p','p','i',
+  'n','g',#000);

+ 2 - 0
compiler/optidx.inc

@@ -39,6 +39,8 @@ no_shared_lib_under_dos,
 too_many_ifdef,
 too_many_endif,
 too_less_endif,
+no_debug_support,
+no_debug_support_recompile_fpc,
 {logo}
 logo_start,
 logo_end,

+ 5 - 4
compiler/optione.msg

@@ -12,15 +12,17 @@ Shared libs not supported on DOS platform, reverting to static
 too many IF(N)DEFs
 too many ENDIFs
 open conditional at the end of the file
+Debug information generation is not supported by this executable
+Try recompiling with -dGDB
 ;
 ; Logo
 ;
-Free Pascal Compiler version 0.99.6 for $1
+Free Pascal Compiler version $VER for $TARGET
 Copyright (c) 1993-98 by Florian Klaempfl
 ;
 ; Info
 ;
-Free Pascal Compiler version 0.99.6
+Free Pascal Compiler version $VER
 <lf>
 This program comes under the GNU General Public Licence
 For more information read COPYING
@@ -60,7 +62,6 @@ Report bugs,suggestions etc to:
 *L1e<x>_set path to executables
 **1E_same as -Cn
 **1g_generate debugger information
-**2gp_generate also profile code for gprof
 **1F_set file names and paths
 **2Fe<x>_redirect error output to <x>
 *L2Fg<x>_<x> search path for the GNU C lib
@@ -82,7 +83,7 @@ Report bugs,suggestions etc to:
 **1S_syntax options
 **2S2_switch some Delphi 2 extension on
 **2Sc_supports operators like C (*=,+=,/= and -=)
-**2Sd_compiler disposes asm lists (uses less memory but much slower)
+**2Sd_compiler disposes asm lists (uses less memory but slower)
 **2Se_compiler stops after the first error
 **2Sg_allows LABEL and GOTO
 **2Si_support C++ stlyed INLINE

+ 287 - 284
compiler/optmsg.inc

@@ -1,4 +1,4 @@
-const optiontxt : array[1..04774] of char=(
+const optiontxt : array[1..04827] of char=(
   ' ','[','o','p','t','i','o','n','s',']',' ','<','i','n','p',
   'u','t','f','i','l','e','>',' ','[','o','p','t','i','o','n',
   's',']',#000,'O','n','l','y',' ','o','n','e',' ','s','o','u',
@@ -28,293 +28,296 @@ const optiontxt : array[1..04774] of char=(
   ' ','m','a','n','y',' ','E','N','D','I','F','s',#000,'o','p',
   'e','n',' ','c','o','n','d','i','t','i','o','n','a','l',' ',
   'a','t',' ','t','h','e',' ','e','n','d',' ','o','f',' ','t',
-  'h','e',' ','f','i','l','e',#000,'F','r','e','e',' ','P','a',
+  'h','e',' ','f','i','l','e',#000,'D','e','b','u','g',' ','i',
+  'n','f','o','r','m','a','t','i','o','n',' ','g','e','n','e',
+  'r','a','t','i','o','n',' ','i','s',' ','n','o','t',' ','s',
+  'u','p','p','o','r','t','e','d',' ','b','y',' ','t','h','i',
+  's',' ','e','x','e','c','u','t','a','b','l','e',#000,'T','r',
+  'y',' ','r','e','c','o','m','p','i','l','i','n','g',' ','w',
+  'i','t','h',' ','-','d','G','D','B',#000,'F','r','e','e',' ',
+  'P','a','s','c','a','l',' ','C','o','m','p','i','l','e','r',
+  ' ','v','e','r','s','i','o','n',' ','$','V','E','R',' ','f',
+  'o','r',' ','$','T','A','R','G','E','T',#000,'C','o','p','y',
+  'r','i','g','h','t',' ','(','c',')',' ','1','9','9','3','-',
+  '9','8',' ','b','y',' ','F','l','o','r','i','a','n',' ','K',
+  'l','a','e','m','p','f','l',#000,'F','r','e','e',' ','P','a',
   's','c','a','l',' ','C','o','m','p','i','l','e','r',' ','v',
-  'e','r','s','i','o','n',' ','0','.','9','9','.','6',' ','f',
-  'o','r',' ','$','1',#000,'C','o','p','y','r','i','g','h','t',
-  ' ','(','c',')',' ','1','9','9','3','-','9','8',' ','b','y',
-  ' ','F','l','o','r','i','a','n',' ','K','l','a','e','m','p',
-  'f','l',#000,'F','r','e','e',' ','P','a','s','c','a','l',' ',
-  'C','o','m','p','i','l','e','r',' ','v','e','r','s','i','o',
-  'n',' ','0','.','9','9','.','6',#000,#000,'T','h','i','s',' ',
-  'p','r','o','g','r','a','m',' ','c','o','m','e','s',' ','u',
-  'n','d','e','r',' ','t','h','e',' ','G','N','U',' ','G','e',
-  'n','e','r','a','l',' ','P','u','b','l','i','c',' ','L','i',
-  'c','e','n','c','e',#000,'F','o','r',' ','m','o','r','e',' ',
-  'i','n','f','o','r','m','a','t','i','o','n',' ','r','e','a',
-  'd',' ','C','O','P','Y','I','N','G',#000,#000,'R','e','p','o',
-  'r','t',' ','b','u','g','s',',','s','u','g','g','e','s','t',
-  'i','o','n','s',' ','e','t','c',' ','t','o',':',#000,' ',' ',
-  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b',
-  'a','2','3','9','5','@','f','e','n','.','b','a','y','n','e',
-  't','.','d','e',#000,'*','*','0','*','_','+',' ','s','w','i',
-  't','c','h',' ','o','p','t','i','o','n',' ','o','n',',',' ',
-  '-',' ','o','f','f',#000,'*','*','1','a','_','t','h','e',' ',
-  'c','o','m','p','i','l','e','r',' ','d','o','e','s','n',#039,
-  #039,'t',' ','d','e','l','e','t','e',' ','t','h','e',' ','g',
-  'e','n','e','r','a','t','e','d',' ','a','s','s','e','m','b',
-  'l','e','r',' ','f','i','l','e',#000,'*','t','1','b','_','u',
-  's','e',' ','E','M','S',#000,'*','*','1','B','+','_','b','u',
-  'i','l','d',#000,'*','*','1','C','_','c','o','d','e',' ','g',
-  'e','n','e','r','a','t','i','o','n',' ','o','p','t','i','o',
-  'n','s',#000,'*','*','2','C','a','_','n','o','t',' ','i','m',
-  'p','l','e','m','e','n','t','e','d',#000,'*','*','2','C','e',
-  '_','n','o','t',' ','i','m','p','l','e','m','e','n','t','e',
-  'd',#000,'3','*','2','C','D','_','D','y','n','a','m','i','c',
-  ' ','l','i','n','k','i','n','g',#000,'*','*','2','C','h','<',
-  'n','>','_','<','n','>',' ','b','y','t','e','s',' ','h','e',
-  'a','p',' ','(','b','e','t','w','e','e','n',' ','1','0','2',
-  '3',' ','a','n','d',' ','6','7','1','0','7','8','4','0',')',
-  #000,'*','*','2','C','i','_','I','O','-','c','h','e','c','k',
-  'i','n','g',#000,'*','*','2','C','n','_','o','m','i','t',' ',
-  'l','i','n','k','i','n','g',' ','s','t','a','g','e',#000,'*',
-  '*','2','C','o','_','c','h','e','c','k',' ','o','v','e','r',
-  'f','l','o','w',' ','o','f',' ','i','n','t','e','g','e','r',
-  ' ','o','p','e','r','a','t','i','o','n','s',#000,'*','*','2',
-  'C','r','_','r','a','n','g','e',' ','c','h','e','c','k','i',
-  'n','g',#000,'*','O','2','C','s','<','n','>','_','s','e','t',
-  ' ','s','t','a','c','k',' ','s','i','z','e',' ','t','o',' ',
-  '<','n','>',#000,'*','*','2','C','t','_','s','t','a','c','k',
-  ' ','c','h','e','c','k','i','n','g',#000,'3','*','2','C','S',
-  '_','s','t','a','t','i','c',' ','l','i','n','k','i','n','g',
-  #000,'*','*','1','d','<','x','>','_','d','e','f','i','n','e',
-  's',' ','t','h','e',' ','s','y','m','b','o','l',' ','<','x',
-  '>',#000,'*','O','1','D','_','c','o','n','t','r','o','l','s',
-  ' ','t','h','e',' ','g','e','n','e','r','a','t','i','o','n',
-  ' ','o','f',' ','D','E','F',' ','f','i','l','e',' ','(','o',
-  'n','l','y',' ','O','S','/','2',')',#000,'*','O','2','D','d',
-  '<','x','>','_','s','e','t',' ','d','e','s','c','r','i','p',
-  't','i','o','n',' ','t','o',' ','<','x','>',#000,'*','O','2',
-  'D','o','_','g','e','n','e','r','a','t','e',' ','D','E','F',
-  ' ','f','i','l','e',#000,'*','O','2','D','w','_','P','M',' ',
-  'a','p','p','l','i','c','a','t','i','o','n',#000,'*','L','1',
-  'e','<','x','>','_','s','e','t',' ','p','a','t','h',' ','t',
-  'o',' ','e','x','e','c','u','t','a','b','l','e','s',#000,'*',
-  '*','1','E','_','s','a','m','e',' ','a','s',' ','-','C','n',
-  #000,'*','*','1','g','_','g','e','n','e','r','a','t','e',' ',
-  'd','e','b','u','g','g','e','r',' ','i','n','f','o','r','m',
-  'a','t','i','o','n',#000,'*','*','2','g','p','_','g','e','n',
-  'e','r','a','t','e',' ','a','l','s','o',' ','p','r','o','f',
-  'i','l','e',' ','c','o','d','e',' ','f','o','r',' ','g','p',
-  'r','o','f',#000,'*','*','1','F','_','s','e','t',' ','f','i',
-  'l','e',' ','n','a','m','e','s',' ','a','n','d',' ','p','a',
-  't','h','s',#000,'*','*','2','F','e','<','x','>','_','r','e',
-  'd','i','r','e','c','t',' ','e','r','r','o','r',' ','o','u',
-  't','p','u','t',' ','t','o',' ','<','x','>',#000,'*','L','2',
-  'F','g','<','x','>','_','<','x','>',' ','s','e','a','r','c',
-  'h',' ','p','a','t','h',' ','f','o','r',' ','t','h','e',' ',
-  'G','N','U',' ','C',' ','l','i','b',#000,'*','L','2','F','r',
+  'e','r','s','i','o','n',' ','$','V','E','R',#000,#000,'l','f',
+  '>',#010,'T','h','i','s',' ','p','r','o','g','r','a','m',' ',
+  'c','o','m','e','s',' ','u','n','d','e','r',' ','t','h','e',
+  ' ','G','N','U',' ','G','e','n','e','r','a','l',' ','P','u',
+  'b','l','i','c',' ','L','i','c','e','n','c','e',#000,'F','o',
+  'r',' ','m','o','r','e',' ','i','n','f','o','r','m','a','t',
+  'i','o','n',' ','r','e','a','d',' ','C','O','P','Y','I','N',
+  'G',#000,#000,'l','f','>',#010,'R','e','p','o','r','t',' ','b',
+  'u','g','s',',','s','u','g','g','e','s','t','i','o','n','s',
+  ' ','e','t','c',' ','t','o',':',#000,' ',' ',' ',' ',' ',' ',
+  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','b','a','2','3','9',
+  '5','@','f','e','n','.','b','a','y','n','e','t','.','d','e',
+  #000,'*','*','0','*','_','+',' ','s','w','i','t','c','h',' ',
+  'o','p','t','i','o','n',' ','o','n',',',' ','-',' ','o','f',
+  'f',#000,'*','*','1','a','_','t','h','e',' ','c','o','m','p',
+  'i','l','e','r',' ','d','o','e','s','n',#039,#039,'t',' ','d',
+  'e','l','e','t','e',' ','t','h','e',' ','g','e','n','e','r',
+  'a','t','e','d',' ','a','s','s','e','m','b','l','e','r',' ',
+  'f','i','l','e',#000,'*','t','1','b','_','u','s','e',' ','E',
+  'M','S',#000,'*','*','1','B','+','_','b','u','i','l','d',#000,
+  '*','*','1','C','_','c','o','d','e',' ','g','e','n','e','r',
+  'a','t','i','o','n',' ','o','p','t','i','o','n','s',#000,'*',
+  '*','2','C','a','_','n','o','t',' ','i','m','p','l','e','m',
+  'e','n','t','e','d',#000,'*','*','2','C','e','_','n','o','t',
+  ' ','i','m','p','l','e','m','e','n','t','e','d',#000,'3','*',
+  '2','C','D','_','D','y','n','a','m','i','c',' ','l','i','n',
+  'k','i','n','g',#000,'*','*','2','C','h','<','n','>','_','<',
+  'n','>',' ','b','y','t','e','s',' ','h','e','a','p',' ','(',
+  'b','e','t','w','e','e','n',' ','1','0','2','3',' ','a','n',
+  'd',' ','6','7','1','0','7','8','4','0',')',#000,'*','*','2',
+  'C','i','_','I','O','-','c','h','e','c','k','i','n','g',#000,
+  '*','*','2','C','n','_','o','m','i','t',' ','l','i','n','k',
+  'i','n','g',' ','s','t','a','g','e',#000,'*','*','2','C','o',
+  '_','c','h','e','c','k',' ','o','v','e','r','f','l','o','w',
+  ' ','o','f',' ','i','n','t','e','g','e','r',' ','o','p','e',
+  'r','a','t','i','o','n','s',#000,'*','*','2','C','r','_','r',
+  'a','n','g','e',' ','c','h','e','c','k','i','n','g',#000,'*',
+  'O','2','C','s','<','n','>','_','s','e','t',' ','s','t','a',
+  'c','k',' ','s','i','z','e',' ','t','o',' ','<','n','>',#000,
+  '*','*','2','C','t','_','s','t','a','c','k',' ','c','h','e',
+  'c','k','i','n','g',#000,'3','*','2','C','S','_','s','t','a',
+  't','i','c',' ','l','i','n','k','i','n','g',#000,'*','*','1',
+  'd','<','x','>','_','d','e','f','i','n','e','s',' ','t','h',
+  'e',' ','s','y','m','b','o','l',' ','<','x','>',#000,'*','O',
+  '1','D','_','c','o','n','t','r','o','l','s',' ','t','h','e',
+  ' ','g','e','n','e','r','a','t','i','o','n',' ','o','f',' ',
+  'D','E','F',' ','f','i','l','e',' ','(','o','n','l','y',' ',
+  'O','S','/','2',')',#000,'*','O','2','D','d','<','x','>','_',
+  's','e','t',' ','d','e','s','c','r','i','p','t','i','o','n',
+  ' ','t','o',' ','<','x','>',#000,'*','O','2','D','o','_','g',
+  'e','n','e','r','a','t','e',' ','D','E','F',' ','f','i','l',
+  'e',#000,'*','O','2','D','w','_','P','M',' ','a','p','p','l',
+  'i','c','a','t','i','o','n',#000,'*','L','1','e','<','x','>',
+  '_','s','e','t',' ','p','a','t','h',' ','t','o',' ','e','x',
+  'e','c','u','t','a','b','l','e','s',#000,'*','*','1','E','_',
+  's','a','m','e',' ','a','s',' ','-','C','n',#000,'*','*','1',
+  'g','_','g','e','n','e','r','a','t','e',' ','d','e','b','u',
+  'g','g','e','r',' ','i','n','f','o','r','m','a','t','i','o',
+  'n',#000,'*','*','1','F','_','s','e','t',' ','f','i','l','e',
+  ' ','n','a','m','e','s',' ','a','n','d',' ','p','a','t','h',
+  's',#000,'*','*','2','F','e','<','x','>','_','r','e','d','i',
+  'r','e','c','t',' ','e','r','r','o','r',' ','o','u','t','p',
+  'u','t',' ','t','o',' ','<','x','>',#000,'*','L','2','F','g',
   '<','x','>','_','<','x','>',' ','s','e','a','r','c','h',' ',
-  'p','a','t','h',' ','f','o','r',' ','t','h','e',' ','e','r',
-  'r','o','r',' ','m','e','s','s','a','g','e',' ','f','i','l',
-  'e',#000,'*','*','2','F','i','<','x','>','_','a','d','d','s',
-  ' ','<','x','>',' ','t','o',' ','i','n','c','l','u','d','e',
-  ' ','p','a','t','h',#000,'*','*','2','F','l','<','x','>','_',
-  'a','d','d','s',' ','<','x','>',' ','t','o',' ','l','i','b',
-  'r','a','r','y',' ','p','a','t','h',#000,'*','L','2','F','L',
-  '<','x','>','_','u','s','e','s',' ','<','x','>',' ','a','s',
-  ' ','d','y','n','a','m','i','c',' ','l','i','n','k','e','r',
-  #000,'*','*','2','F','u','<','x','>','_','a','d','d','s',' ',
-  '<','x','>',' ','t','o',' ','u','n','i','t',' ','p','a','t',
-  'h',#000,'*','*','1','k','<','x','>','_','P','a','s','s',' ',
-  '<','x','>',' ','t','o',' ','t','h','e',' ','l','i','n','k',
-  'e','r',#000,'*','*','1','L','_','s','e','t',' ','l','a','n',
-  'g','u','a','g','e',#000,'*','*','2','L','D','_','g','e','r',
-  'm','a','n',#000,'*','*','2','L','E','_','e','n','g','l','i',
-  's','h',#000,'*','*','1','l','_','w','r','i','t','e',' ','l',
-  'o','g','o',#000,'*','*','1','i','_','i','n','f','o','r','m',
-  'a','t','i','o','n',#000,'*','*','1','n','_','d','o','n',#039,
-  't',' ','r','e','a','d',' ','t','h','e',' ','d','e','f','a',
-  'u','l','t',' ','c','o','n','f','i','g',' ','f','i','l','e',
-  #000,'*','*','1','o','<','x','>','_','c','h','a','n','g','e',
-  ' ','t','h','e',' ','n','a','m','e',' ','o','f',' ','t','h',
-  'e',' ','e','x','e','c','u','t','a','b','l','e',' ','p','r',
-  'o','d','u','c','e','d',' ','t','o',' ','<','x','>',#000,'*',
-  '*','1','p','g','_','g','e','n','e','r','a','t','e',' ','p',
-  'r','o','f','i','l','e',' ','c','o','d','e',' ','f','o','r',
-  ' ','g','p','r','o','f',#000,'*','L','1','P','_','u','s','e',
-  ' ','p','i','p','e','s',' ','i','n','s','t','e','a','d',' ',
-  'o','f',' ','c','r','e','a','t','i','n','g',' ','t','e','m',
-  'p','o','r','a','r','y',' ','a','s','s','e','m','b','l','e',
-  'r',' ','f','i','l','e','s',#000,'*','*','1','S','_','s','y',
-  'n','t','a','x',' ','o','p','t','i','o','n','s',#000,'*','*',
-  '2','S','2','_','s','w','i','t','c','h',' ','s','o','m','e',
-  ' ','D','e','l','p','h','i',' ','2',' ','e','x','t','e','n',
-  's','i','o','n',' ','o','n',#000,'*','*','2','S','c','_','s',
-  'u','p','p','o','r','t','s',' ','o','p','e','r','a','t','o',
-  'r','s',' ','l','i','k','e',' ','C',' ','(','*','=',',','+',
-  '=',',','/','=',' ','a','n','d',' ','-','=',')',#000,'*','*',
-  '2','S','d','_','c','o','m','p','i','l','e','r',' ','d','i',
-  's','p','o','s','e','s',' ','a','s','m',' ','l','i','s','t',
-  's',' ','(','u','s','e','s',' ','l','e','s','s',' ','m','e',
-  'm','o','r','y',' ','b','u','t',' ','m','u','c','h',' ','s',
-  'l','o','w','e','r',')',#000,'*','*','2','S','e','_','c','o',
-  'm','p','i','l','e','r',' ','s','t','o','p','s',' ','a','f',
-  't','e','r',' ','t','h','e',' ','f','i','r','s','t',' ','e',
-  'r','r','o','r',#000,'*','*','2','S','g','_','a','l','l','o',
-  'w','s',' ','L','A','B','E','L',' ','a','n','d',' ','G','O',
-  'T','O',#000,'*','*','2','S','i','_','s','u','p','p','o','r',
-  't',' ','C','+','+',' ','s','t','l','y','e','d',' ','I','N',
-  'L','I','N','E',#000,'*','*','2','S','m','_','s','u','p','p',
-  'o','r','t',' ','m','a','c','r','o','s',' ','l','i','k','e',
-  ' ','C',' ','(','g','l','o','b','a','l',')',#000,'*','*','2',
-  'S','o','_','t','r','i','e','s',' ','t','o',' ','b','e',' ',
-  'T','P','/','B','P',' ','7','.','0',' ','c','o','m','p','a',
-  't','i','b','l','e',#000,'*','*','2','S','s','_','c','o','n',
-  's','t','r','u','c','t','o','r',' ','n','a','m','e',' ','m',
-  'u','s','t',' ','b','e',' ','i','n','i','t',' ','(','d','e',
-  's','t','r','u','c','t','o','r',' ','m','u','s','t',' ','b',
-  'e',' ','d','o','n','e',')',#000,'*','*','2','S','t','_','a',
-  'l','l','o','w','s',' ','s','t','a','t','i','c',' ','k','e',
-  'y','w','o','r','d',' ','i','n',' ','o','b','j','e','c','t',
-  's',#000,'*','*','1','s','_','d','o','n',#039,'t',' ','c','a',
-  'l','l',' ','a','s','s','e','m','b','l','e','r',' ','a','n',
-  'd',' ','l','i','n','k','e','r',' ','(','o','n','l','y',' ',
-  'w','i','t','h',' ','-','a',')',#000,'*','*','1','T','<','x',
-  '>','_','T','a','r','g','e','t',' ','o','p','e','r','a','t',
-  'i','n','g',' ','s','y','s','t','e','m',#000,'3','*','2','T',
-  'G','O','3','2','V','1','_','v','e','r','s','i','o','n',' ',
-  '1',' ','o','f',' ','D','J',' ','D','e','l','o','r','i','e',
-  ' ','D','O','S',' ','e','x','t','e','n','d','e','r',#000,'3',
-  '*','2','T','G','O','3','2','V','2','_','v','e','r','s','i',
-  'o','n',' ','2',' ','o','f',' ','D','J',' ','D','e','l','o',
-  'r','i','e',' ','D','O','S',' ','e','x','t','e','n','d','e',
-  'r',#000,'3','*','2','T','L','I','N','U','X','_','L','i','n',
-  'u','x',#000,'3','*','2','T','O','S','2','_','O','S','/','2',
-  ' ','2','.','x',#000,'3','*','2','T','W','i','n','3','2','_',
-  'W','i','n','d','o','w','s',' ','3','2',' ','B','i','t',#000,
-  '6','*','2','T','A','M','I','G','A','_','C','o','m','m','o',
-  'd','o','r','e',' ','A','m','i','g','a',#000,'6','*','2','T',
-  'A','T','A','R','I','_','A','t','a','r','i',' ','S','T','/',
-  'S','T','e','/','T','T',#000,'6','*','2','T','M','A','C','O',
-  'S','_','M','a','c','i','n','t','o','s','h',' ','m','6','8',
-  'k',#000,'6','*','2','T','L','I','N','U','X','_','L','i','n',
-  'u','x','-','6','8','k',#000,'*','*','1','u','<','x','>','_',
-  'u','n','d','e','f','i','n','e','s',' ','t','h','e',' ','s',
-  'y','m','b','o','l',' ','<','x','>',#000,'*','*','1','U','_',
-  'u','n','i','t',' ','o','p','t','i','o','n','s',#000,'*','*',
-  '2','U','l','s','_','m','a','k','e',' ','s','t','a','t','i',
-  'c',' ','l','i','b','r','a','r','y',' ','f','r','o','m',' ',
-  'u','n','i','t',#000,'*','*','2','U','l','d','_','m','a','k',
-  'e',' ','d','y','n','a','m','i','c',' ','l','i','b','r','a',
+  'p','a','t','h',' ','f','o','r',' ','t','h','e',' ','G','N',
+  'U',' ','C',' ','l','i','b',#000,'*','L','2','F','r','<','x',
+  '>','_','<','x','>',' ','s','e','a','r','c','h',' ','p','a',
+  't','h',' ','f','o','r',' ','t','h','e',' ','e','r','r','o',
+  'r',' ','m','e','s','s','a','g','e',' ','f','i','l','e',#000,
+  '*','*','2','F','i','<','x','>','_','a','d','d','s',' ','<',
+  'x','>',' ','t','o',' ','i','n','c','l','u','d','e',' ','p',
+  'a','t','h',#000,'*','*','2','F','l','<','x','>','_','a','d',
+  'd','s',' ','<','x','>',' ','t','o',' ','l','i','b','r','a',
+  'r','y',' ','p','a','t','h',#000,'*','L','2','F','L','<','x',
+  '>','_','u','s','e','s',' ','<','x','>',' ','a','s',' ','d',
+  'y','n','a','m','i','c',' ','l','i','n','k','e','r',#000,'*',
+  '*','2','F','u','<','x','>','_','a','d','d','s',' ','<','x',
+  '>',' ','t','o',' ','u','n','i','t',' ','p','a','t','h',#000,
+  '*','*','1','k','<','x','>','_','P','a','s','s',' ','<','x',
+  '>',' ','t','o',' ','t','h','e',' ','l','i','n','k','e','r',
+  #000,'*','*','1','L','_','s','e','t',' ','l','a','n','g','u',
+  'a','g','e',#000,'*','*','2','L','D','_','g','e','r','m','a',
+  'n',#000,'*','*','2','L','E','_','e','n','g','l','i','s','h',
+  #000,'*','*','1','l','_','w','r','i','t','e',' ','l','o','g',
+  'o',#000,'*','*','1','i','_','i','n','f','o','r','m','a','t',
+  'i','o','n',#000,'*','*','1','n','_','d','o','n',#039,'t',' ',
+  'r','e','a','d',' ','t','h','e',' ','d','e','f','a','u','l',
+  't',' ','c','o','n','f','i','g',' ','f','i','l','e',#000,'*',
+  '*','1','o','<','x','>','_','c','h','a','n','g','e',' ','t',
+  'h','e',' ','n','a','m','e',' ','o','f',' ','t','h','e',' ',
+  'e','x','e','c','u','t','a','b','l','e',' ','p','r','o','d',
+  'u','c','e','d',' ','t','o',' ','<','x','>',#000,'*','*','1',
+  'p','g','_','g','e','n','e','r','a','t','e',' ','p','r','o',
+  'f','i','l','e',' ','c','o','d','e',' ','f','o','r',' ','g',
+  'p','r','o','f',#000,'*','L','1','P','_','u','s','e',' ','p',
+  'i','p','e','s',' ','i','n','s','t','e','a','d',' ','o','f',
+  ' ','c','r','e','a','t','i','n','g',' ','t','e','m','p','o',
+  'r','a','r','y',' ','a','s','s','e','m','b','l','e','r',' ',
+  'f','i','l','e','s',#000,'*','*','1','S','_','s','y','n','t',
+  'a','x',' ','o','p','t','i','o','n','s',#000,'*','*','2','S',
+  '2','_','s','w','i','t','c','h',' ','s','o','m','e',' ','D',
+  'e','l','p','h','i',' ','2',' ','e','x','t','e','n','s','i',
+  'o','n',' ','o','n',#000,'*','*','2','S','c','_','s','u','p',
+  'p','o','r','t','s',' ','o','p','e','r','a','t','o','r','s',
+  ' ','l','i','k','e',' ','C',' ','(','*','=',',','+','=',',',
+  '/','=',' ','a','n','d',' ','-','=',')',#000,'*','*','2','S',
+  'd','_','c','o','m','p','i','l','e','r',' ','d','i','s','p',
+  'o','s','e','s',' ','a','s','m',' ','l','i','s','t','s',' ',
+  '(','u','s','e','s',' ','l','e','s','s',' ','m','e','m','o',
+  'r','y',' ','b','u','t',' ','s','l','o','w','e','r',')',#000,
+  '*','*','2','S','e','_','c','o','m','p','i','l','e','r',' ',
+  's','t','o','p','s',' ','a','f','t','e','r',' ','t','h','e',
+  ' ','f','i','r','s','t',' ','e','r','r','o','r',#000,'*','*',
+  '2','S','g','_','a','l','l','o','w','s',' ','L','A','B','E',
+  'L',' ','a','n','d',' ','G','O','T','O',#000,'*','*','2','S',
+  'i','_','s','u','p','p','o','r','t',' ','C','+','+',' ','s',
+  't','l','y','e','d',' ','I','N','L','I','N','E',#000,'*','*',
+  '2','S','m','_','s','u','p','p','o','r','t',' ','m','a','c',
+  'r','o','s',' ','l','i','k','e',' ','C',' ','(','g','l','o',
+  'b','a','l',')',#000,'*','*','2','S','o','_','t','r','i','e',
+  's',' ','t','o',' ','b','e',' ','T','P','/','B','P',' ','7',
+  '.','0',' ','c','o','m','p','a','t','i','b','l','e',#000,'*',
+  '*','2','S','s','_','c','o','n','s','t','r','u','c','t','o',
+  'r',' ','n','a','m','e',' ','m','u','s','t',' ','b','e',' ',
+  'i','n','i','t',' ','(','d','e','s','t','r','u','c','t','o',
+  'r',' ','m','u','s','t',' ','b','e',' ','d','o','n','e',')',
+  #000,'*','*','2','S','t','_','a','l','l','o','w','s',' ','s',
+  't','a','t','i','c',' ','k','e','y','w','o','r','d',' ','i',
+  'n',' ','o','b','j','e','c','t','s',#000,'*','*','1','s','_',
+  'd','o','n',#039,'t',' ','c','a','l','l',' ','a','s','s','e',
+  'm','b','l','e','r',' ','a','n','d',' ','l','i','n','k','e',
+  'r',' ','(','o','n','l','y',' ','w','i','t','h',' ','-','a',
+  ')',#000,'*','*','1','T','<','x','>','_','T','a','r','g','e',
+  't',' ','o','p','e','r','a','t','i','n','g',' ','s','y','s',
+  't','e','m',#000,'3','*','2','T','G','O','3','2','V','1','_',
+  'v','e','r','s','i','o','n',' ','1',' ','o','f',' ','D','J',
+  ' ','D','e','l','o','r','i','e',' ','D','O','S',' ','e','x',
+  't','e','n','d','e','r',#000,'3','*','2','T','G','O','3','2',
+  'V','2','_','v','e','r','s','i','o','n',' ','2',' ','o','f',
+  ' ','D','J',' ','D','e','l','o','r','i','e',' ','D','O','S',
+  ' ','e','x','t','e','n','d','e','r',#000,'3','*','2','T','L',
+  'I','N','U','X','_','L','i','n','u','x',#000,'3','*','2','T',
+  'O','S','2','_','O','S','/','2',' ','2','.','x',#000,'3','*',
+  '2','T','W','i','n','3','2','_','W','i','n','d','o','w','s',
+  ' ','3','2',' ','B','i','t',#000,'6','*','2','T','A','M','I',
+  'G','A','_','C','o','m','m','o','d','o','r','e',' ','A','m',
+  'i','g','a',#000,'6','*','2','T','A','T','A','R','I','_','A',
+  't','a','r','i',' ','S','T','/','S','T','e','/','T','T',#000,
+  '6','*','2','T','M','A','C','O','S','_','M','a','c','i','n',
+  't','o','s','h',' ','m','6','8','k',#000,'6','*','2','T','L',
+  'I','N','U','X','_','L','i','n','u','x','-','6','8','k',#000,
+  '*','*','1','u','<','x','>','_','u','n','d','e','f','i','n',
+  'e','s',' ','t','h','e',' ','s','y','m','b','o','l',' ','<',
+  'x','>',#000,'*','*','1','U','_','u','n','i','t',' ','o','p',
+  't','i','o','n','s',#000,'*','*','2','U','l','s','_','m','a',
+  'k','e',' ','s','t','a','t','i','c',' ','l','i','b','r','a',
   'r','y',' ','f','r','o','m',' ','u','n','i','t',#000,'*','*',
-  '2','U','n','_','d','o','n',#039,'t',' ','c','h','e','c','k',
-  ' ','t','h','e',' ','u','n','i','t',' ','n','a','m','e',#000,
-  '*','*','2','U','p','<','x','>','_','s','a','m','e',' ','a',
-  's',' ','-','F','u','<','x','>',#000,'*','*','2','U','s','_',
-  'c','o','m','p','i','l','e',' ','a',' ','s','y','s','t','e',
-  'm',' ','u','n','i','t',#000,'*','*','1','v','<','x','>','_',
-  'B','e',' ','v','e','r','b','o','s','e','.',' ','<','x','>',
-  ' ','i','s',' ','a',' ','c','o','m','b','i','n','a','t','i',
-  'o','n',' ','o','f',' ','t','h','e',' ','f','o','l','l','o',
-  'w','i','n','g',' ','l','e','t','t','e','r','s',' ',':',#000,
-  '*','*','2','*','_','e',' ',':',' ','S','h','o','w',' ','e',
-  'r','r','o','r','s',' ','(','d','e','f','a','u','l','t',')',
-  ' ',' ',' ',' ',' ',' ',' ','d',' ',':',' ','S','h','o','w',
-  ' ','d','e','b','u','g',' ','i','n','f','o',#000,'*','*','2',
-  '*','_','w',' ',':',' ','S','h','o','w',' ','w','a','r','n',
-  'i','n','g','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
-  ' ',' ',' ',' ','u',' ',':',' ','S','h','o','w',' ','u','s',
-  'e','d',' ','f','i','l','e','s',#000,'*','*','2','*','_','n',
-  ' ',':',' ','S','h','o','w',' ','n','o','t','e','s',' ',' ',
-  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
-  ' ','t',' ',':',' ','S','h','o','w',' ','t','r','i','e','d',
-  ' ','f','i','l','e','s',#000,'*','*','2','*','_','h',' ',':',
-  ' ','S','h','o','w',' ','h','i','n','t','s',' ',' ',' ',' ',
-  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','m',
-  ' ',':',' ','S','h','o','w',' ','d','e','f','i','n','e','d',
-  ' ','m','a','c','r','o','s',#000,'*','*','2','*','_','i',' ',
-  ':',' ','S','h','o','w',' ','g','e','n','e','r','a','l',' ',
-  'i','n','f','o',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
-  'p',' ',':',' ','S','h','o','w',' ','c','o','m','p','i','l',
-  'e','d',' ','p','r','o','c','e','d','u','r','e','s',#000,'*',
-  '*','2','*','_','l',' ',':',' ','S','h','o','w',' ','l','i',
-  'n','e','n','u','m','b','e','r','s',' ',' ',' ',' ',' ',' ',
-  ' ',' ',' ',' ',' ',' ','c',' ',':',' ','S','h','o','w',' ',
-  'c','o','n','d','i','t','i','o','n','a','l','s',#000,'*','*',
-  '2','*','_','a',' ',':',' ','S','h','o','w',' ','e','v','e',
-  'r','y','t','h','i','n','g',' ',' ',' ',' ',' ',' ',' ',' ',
-  ' ',' ',' ',' ',' ','0',' ',':',' ','S','h','o','w',' ','n',
-  'o','t','h','i','n','g',' ','(','e','x','c','e','p','t',' ',
-  'e','r','r','o','r','s',')',#000,'*','*','1','X','_','e','x',
-  'e','c','u','t','a','b','l','e',' ','o','p','t','i','o','n',
-  's',#000,'*','L','2','X','c','_','l','i','n','k',' ','w','i',
-  't','h',' ','t','h','e',' ','c',' ','l','i','b','r','a','r',
-  'y',#000,'*','*','2','X','s','_','s','t','r','i','p',' ','a',
-  'l','l',' ','s','y','m','b','o','l','s',' ','f','r','o','m',
-  ' ','e','x','e','c','u','t','a','b','l','e',#000,'*','*','0',
-  '*','_','P','r','o','c','e','s','s','o','r',' ','s','p','e',
-  'c','i','f','i','c',' ','o','p','t','i','o','n','s',':',#000,
-  '3','*','1','A','_','o','u','t','p','u','t',' ','f','o','r',
-  'm','a','t',#000,'3','*','2','A','a','t','t','_','A','T','&',
-  'T',' ','a','s','s','e','m','b','l','e','r',#000,'3','*','2',
-  'A','o','_','c','o','f','f',' ','f','i','l','e',' ','u','s',
-  'i','n','g',' ','G','N','U',' ','A','S',#000,'3','*','2','A',
-  'o','b','j','_','O','M','F',' ','f','i','l','e',' ','u','s',
-  'i','n','g',' ','N','A','S','M',#000,'3','*','2','A','n','a',
-  's','m','_','c','o','f','f',' ','f','i','l','e',' ','u','s',
-  'i','n','g',' ','N','A','S','M',#000,'3','*','2','A','m','a',
-  's','m','_','a','s','s','e','m','b','l','e','r',' ','f','o',
-  'r',' ','t','h','e',' ','M','i','c','r','o','s','o','f','t',
-  '/','B','o','r','l','a','n','d','/','W','a','t','c','o','m',
-  ' ','a','s','s','e','m','b','l','e','r',#000,'3','*','1','R',
-  '_','a','s','s','e','m','b','l','e','r',' ','r','e','a','d',
-  'i','n','g',' ','s','t','y','l','e',#000,'3','*','2','R','a',
-  't','t','_','r','e','a','d',' ','A','T','&','T',' ','s','t',
+  '2','U','l','d','_','m','a','k','e',' ','d','y','n','a','m',
+  'i','c',' ','l','i','b','r','a','r','y',' ','f','r','o','m',
+  ' ','u','n','i','t',#000,'*','*','2','U','n','_','d','o','n',
+  #039,'t',' ','c','h','e','c','k',' ','t','h','e',' ','u','n',
+  'i','t',' ','n','a','m','e',#000,'*','*','2','U','p','<','x',
+  '>','_','s','a','m','e',' ','a','s',' ','-','F','u','<','x',
+  '>',#000,'*','*','2','U','s','_','c','o','m','p','i','l','e',
+  ' ','a',' ','s','y','s','t','e','m',' ','u','n','i','t',#000,
+  '*','*','1','v','<','x','>','_','B','e',' ','v','e','r','b',
+  'o','s','e','.',' ','<','x','>',' ','i','s',' ','a',' ','c',
+  'o','m','b','i','n','a','t','i','o','n',' ','o','f',' ','t',
+  'h','e',' ','f','o','l','l','o','w','i','n','g',' ','l','e',
+  't','t','e','r','s',' ',':',#000,'*','*','2','*','_','e',' ',
+  ':',' ','S','h','o','w',' ','e','r','r','o','r','s',' ','(',
+  'd','e','f','a','u','l','t',')',' ',' ',' ',' ',' ',' ',' ',
+  'd',' ',':',' ','S','h','o','w',' ','d','e','b','u','g',' ',
+  'i','n','f','o',#000,'*','*','2','*','_','w',' ',':',' ','S',
+  'h','o','w',' ','w','a','r','n','i','n','g','s',' ',' ',' ',
+  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','u',' ',':',
+  ' ','S','h','o','w',' ','u','s','e','d',' ','f','i','l','e',
+  's',#000,'*','*','2','*','_','n',' ',':',' ','S','h','o','w',
+  ' ','n','o','t','e','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',
+  ' ',' ',' ',' ',' ',' ',' ',' ',' ','t',' ',':',' ','S','h',
+  'o','w',' ','t','r','i','e','d',' ','f','i','l','e','s',#000,
+  '*','*','2','*','_','h',' ',':',' ','S','h','o','w',' ','h',
+  'i','n','t','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',
+  ' ',' ',' ',' ',' ',' ',' ','m',' ',':',' ','S','h','o','w',
+  ' ','d','e','f','i','n','e','d',' ','m','a','c','r','o','s',
+  #000,'*','*','2','*','_','i',' ',':',' ','S','h','o','w',' ',
+  'g','e','n','e','r','a','l',' ','i','n','f','o',' ',' ',' ',
+  ' ',' ',' ',' ',' ',' ',' ',' ','p',' ',':',' ','S','h','o',
+  'w',' ','c','o','m','p','i','l','e','d',' ','p','r','o','c',
+  'e','d','u','r','e','s',#000,'*','*','2','*','_','l',' ',':',
+  ' ','S','h','o','w',' ','l','i','n','e','n','u','m','b','e',
+  'r','s',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','c',
+  ' ',':',' ','S','h','o','w',' ','c','o','n','d','i','t','i',
+  'o','n','a','l','s',#000,'*','*','2','*','_','a',' ',':',' ',
+  'S','h','o','w',' ','e','v','e','r','y','t','h','i','n','g',
+  ' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ',' ','0',' ',
+  ':',' ','S','h','o','w',' ','n','o','t','h','i','n','g',' ',
+  '(','e','x','c','e','p','t',' ','e','r','r','o','r','s',')',
+  #000,'*','*','1','X','_','e','x','e','c','u','t','a','b','l',
+  'e',' ','o','p','t','i','o','n','s',#000,'*','L','2','X','c',
+  '_','l','i','n','k',' ','w','i','t','h',' ','t','h','e',' ',
+  'c',' ','l','i','b','r','a','r','y',#000,'*','*','2','X','s',
+  '_','s','t','r','i','p',' ','a','l','l',' ','s','y','m','b',
+  'o','l','s',' ','f','r','o','m',' ','e','x','e','c','u','t',
+  'a','b','l','e',#000,'*','*','0','*','_','P','r','o','c','e',
+  's','s','o','r',' ','s','p','e','c','i','f','i','c',' ','o',
+  'p','t','i','o','n','s',':',#000,'3','*','1','A','_','o','u',
+  't','p','u','t',' ','f','o','r','m','a','t',#000,'3','*','2',
+  'A','a','t','t','_','A','T','&','T',' ','a','s','s','e','m',
+  'b','l','e','r',#000,'3','*','2','A','o','_','c','o','f','f',
+  ' ','f','i','l','e',' ','u','s','i','n','g',' ','G','N','U',
+  ' ','A','S',#000,'3','*','2','A','o','b','j','_','O','M','F',
+  ' ','f','i','l','e',' ','u','s','i','n','g',' ','N','A','S',
+  'M',#000,'3','*','2','A','n','a','s','m','_','c','o','f','f',
+  ' ','f','i','l','e',' ','u','s','i','n','g',' ','N','A','S',
+  'M',#000,'3','*','2','A','m','a','s','m','_','a','s','s','e',
+  'm','b','l','e','r',' ','f','o','r',' ','t','h','e',' ','M',
+  'i','c','r','o','s','o','f','t','/','B','o','r','l','a','n',
+  'd','/','W','a','t','c','o','m',' ','a','s','s','e','m','b',
+  'l','e','r',#000,'3','*','1','R','_','a','s','s','e','m','b',
+  'l','e','r',' ','r','e','a','d','i','n','g',' ','s','t','y',
+  'l','e',#000,'3','*','2','R','a','t','t','_','r','e','a','d',
+  ' ','A','T','&','T',' ','s','t','y','l','e',' ','a','s','s',
+  'e','m','b','l','e','r',#000,'3','*','2','R','i','n','t','e',
+  'l','_','r','e','a','d',' ','I','n','t','e','l',' ','s','t',
   'y','l','e',' ','a','s','s','e','m','b','l','e','r',#000,'3',
-  '*','2','R','i','n','t','e','l','_','r','e','a','d',' ','I',
-  'n','t','e','l',' ','s','t','y','l','e',' ','a','s','s','e',
-  'm','b','l','e','r',#000,'3','*','2','R','d','i','r','e','c',
-  't','_','c','o','p','y',' ','a','s','s','e','m','b','l','e',
-  'r',' ','t','e','x','t',' ','d','i','r','e','c','t','l','y',
-  ' ','t','o',' ','a','s','s','e','m','b','l','e','r',' ','f',
-  'i','l','e',#000,'3','*','1','O','_','o','p','t','i','m','i',
-  'z','a','t','i','o','n','s',#000,'3','*','2','O','a','_','s',
+  '*','2','R','d','i','r','e','c','t','_','c','o','p','y',' ',
+  'a','s','s','e','m','b','l','e','r',' ','t','e','x','t',' ',
+  'd','i','r','e','c','t','l','y',' ','t','o',' ','a','s','s',
+  'e','m','b','l','e','r',' ','f','i','l','e',#000,'3','*','1',
+  'O','_','o','p','t','i','m','i','z','a','t','i','o','n','s',
+  #000,'3','*','2','O','a','_','s','i','m','p','l','e',' ','o',
+  'p','t','i','m','i','z','a','t','i','o','n','s',#000,'3','*',
+  '2','O','g','_','o','p','t','i','m','i','z','e',' ','f','o',
+  'r',' ','s','i','z','e',#000,'3','*','2','O','G','_','o','p',
+  't','i','m','i','z','e',' ','f','o','r',' ','t','i','m','e',
+  #000,'3','*','2','O','x','_','o','p','t','i','m','i','z','e',
+  ' ','m','a','x','i','m','u','m',#000,'3','*','2','O','z','_',
+  'u','n','c','e','r','t','a','i','n',' ','o','p','t','i','m',
+  'i','z','e','s',' ','(','s','e','e',' ','d','o','c','s',')',
+  #000,'3','*','2','O','2','_','o','p','t','i','m','i','z','e',
+  ' ','f','o','r',' ','t','h','e',' ','P','e','n','t','i','u',
+  'm',' ','I','I',' ','(','t','m',')',#000,'3','*','2','O','3',
+  '_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','t',
+  'h','e',' ','i','3','8','6',#000,'3','*','2','O','4','_','o',
+  'p','t','i','m','i','z','e',' ','f','o','r',' ','t','h','e',
+  ' ','i','4','8','6',#000,'3','*','2','O','5','_','o','p','t',
+  'i','m','i','z','e',' ','f','o','r',' ','t','h','e',' ','P',
+  'e','n','t','i','u','m',' ','(','t','m',')',#000,'3','*','2',
+  'O','6','_','o','p','t','i','m','i','z','e',' ','f','o','r',
+  ' ','t','h','e',' ','P','e','n','t','i','u','m','P','r','o',
+  ' ','(','t','m',')',#000,'3','*','2','O','7','_','o','p','t',
+  'i','m','i','z','e',' ','f','o','r',' ','t','h','e',' ','C',
+  'y','r','i','x',' ','6','x','8','6',#000,'3','*','2','O','8',
+  '_','o','p','t','i','m','i','z','e',' ','f','o','r',' ','t',
+  'h','e',' ','A','M','D',' ','K','6',#000,'6','*','1','A','_',
+  'o','u','t','p','u','t',' ','f','o','r','m','a','t',#000,'6',
+  '*','2','A','g','a','s','_','G','N','U',' ','M','o','t','o',
+  'r','o','l','a',' ','a','s','s','e','m','b','l','e','r',#000,
+  '6','*','2','A','o','_','U','N','I','X',' ','o','-','f','i',
+  'l','e',#000,'6','*','2','A','m','_','S','t','a','n','d','a',
+  'r','d',' ','M','o','t','o','r','o','l','a',' ','a','s','s',
+  'e','m','b','l','e','r',#000,'6','*','2','A','i','_','M','I',
+  'T',' ','S','y','n','t','a','x',' ','(','o','l','d',' ','G',
+  'A','S',')',#000,'6','*','1','O','_','o','p','t','i','m','i',
+  'z','a','t','i','o','n','s',#000,'6','*','2','O','a','_','s',
   'i','m','p','l','e',' ','o','p','t','i','m','i','z','a','t',
-  'i','o','n','s',#000,'3','*','2','O','g','_','o','p','t','i',
-  'm','i','z','e',' ','f','o','r',' ','s','i','z','e',#000,'3',
+  'i','o','n','s',#000,'6','*','2','O','g','_','o','p','t','i',
+  'm','i','z','e',' ','f','o','r',' ','s','i','z','e',#000,'6',
   '*','2','O','G','_','o','p','t','i','m','i','z','e',' ','f',
-  'o','r',' ','t','i','m','e',#000,'3','*','2','O','x','_','o',
+  'o','r',' ','t','i','m','e',#000,'6','*','2','O','x','_','o',
   'p','t','i','m','i','z','e',' ','m','a','x','i','m','u','m',
-  #000,'3','*','2','O','z','_','u','n','c','e','r','t','a','i',
-  'n',' ','o','p','t','i','m','i','z','e','s',' ','(','s','e',
-  'e',' ','d','o','c','s',')',#000,'3','*','2','O','2','_','o',
-  'p','t','i','m','i','z','e',' ','f','o','r',' ','t','h','e',
-  ' ','P','e','n','t','i','u','m',' ','I','I',' ','(','t','m',
-  ')',#000,'3','*','2','O','3','_','o','p','t','i','m','i','z',
-  'e',' ','f','o','r',' ','t','h','e',' ','i','3','8','6',#000,
-  '3','*','2','O','4','_','o','p','t','i','m','i','z','e',' ',
-  'f','o','r',' ','t','h','e',' ','i','4','8','6',#000,'3','*',
-  '2','O','5','_','o','p','t','i','m','i','z','e',' ','f','o',
-  'r',' ','t','h','e',' ','P','e','n','t','i','u','m',' ','(',
-  't','m',')',#000,'3','*','2','O','6','_','o','p','t','i','m',
-  'i','z','e',' ','f','o','r',' ','t','h','e',' ','P','e','n',
-  't','i','u','m','P','r','o',' ','(','t','m',')',#000,'3','*',
-  '2','O','7','_','o','p','t','i','m','i','z','e',' ','f','o',
-  'r',' ','t','h','e',' ','C','y','r','i','x',' ','6','x','8',
-  '6',#000,'3','*','2','O','8','_','o','p','t','i','m','i','z',
-  'e',' ','f','o','r',' ','t','h','e',' ','A','M','D',' ','K',
-  '6',#000,'6','*','1','A','_','o','u','t','p','u','t',' ','f',
-  'o','r','m','a','t',#000,'6','*','2','A','g','a','s','_','G',
-  'N','U',' ','M','o','t','o','r','o','l','a',' ','a','s','s',
-  'e','m','b','l','e','r',#000,'6','*','2','A','o','_','U','N',
-  'I','X',' ','o','-','f','i','l','e',#000,'6','*','2','A','m',
-  '_','S','t','a','n','d','a','r','d',' ','M','o','t','o','r',
-  'o','l','a',' ','a','s','s','e','m','b','l','e','r',#000,'6',
-  '*','2','A','i','_','M','I','T',' ','S','y','n','t','a','x',
-  ' ','(','o','l','d',' ','G','A','S',')',#000,'6','*','1','O',
-  '_','o','p','t','i','m','i','z','a','t','i','o','n','s',#000,
-  '6','*','2','O','a','_','s','i','m','p','l','e',' ','o','p',
-  't','i','m','i','z','a','t','i','o','n','s',#000,'6','*','2',
-  'O','g','_','o','p','t','i','m','i','z','e',' ','f','o','r',
-  ' ','s','i','z','e',#000,'6','*','2','O','G','_','o','p','t',
-  'i','m','i','z','e',' ','f','o','r',' ','t','i','m','e',#000,
-  '6','*','2','O','x','_','o','p','t','i','m','i','z','e',' ',
-  'm','a','x','i','m','u','m',#000,'6','*','2','O','2','_','t',
-  'a','r','g','e','t',' ','i','s',' ','a',' ','M','C','6','8',
-  '0','2','0','+',' ','p','r','o','c','e','s','s','o','r',#000,
-  '*','*','1','*','_',#000,'*','*','1','?','_','s','h','o','w',
-  's',' ','t','h','i','s',' ','h','e','l','p',#000,'*','*','1',
-  'h','_','s','h','o','w','s',' ','t','h','i','s',' ','h','e',
-  'l','p',' ','w','i','t','h','o','u','t',' ','w','a','i','t',
-  'i','n','g',#000);
+  #000,'6','*','2','O','2','_','t','a','r','g','e','t',' ','i',
+  's',' ','a',' ','M','C','6','8','0','2','0','+',' ','p','r',
+  'o','c','e','s','s','o','r',#000,'*','*','1','*','_',#000,'*',
+  '*','1','?','_','s','h','o','w','s',' ','t','h','i','s',' ',
+  'h','e','l','p',#000,'*','*','1','h','_','s','h','o','w','s',
+  ' ','t','h','i','s',' ','h','e','l','p',' ','w','i','t','h',
+  'o','u','t',' ','w','a','i','t','i','n','g',#000);

+ 37 - 57
compiler/parser.pas

@@ -120,7 +120,6 @@ unit parser;
     procedure compile(const filename:string;compile_system:boolean);
       var
          hp : pmodule;
-         old_comp_unit : boolean;
 
          { some variables to save the compiler state }
          oldtoken : ttoken;
@@ -222,7 +221,6 @@ unit parser;
          oldrefsymtable:=refsymtable;
          refsymtable:=nil;
          oldprocprefix:=procprefix;
-         old_comp_unit:=comp_unit;
 
          { a long time, this was only in init_parser
            but it should be reset to zero for each module }
@@ -374,27 +372,20 @@ unit parser;
          lexlevel:=0;
 
          { parse source }
-{***BUGFIX}
          if (token=_UNIT) or (compile_level>1) then
-            begin
-                {If the compile level > 1 we get a nice "unit expected" error
-                 message if we are trying to use a program as unit.}
-                proc_unit;
-                if current_module^.compiled then
-                    goto done;
-                comp_unit:=true;
-            end
+           begin
+             current_module^.is_unit:=true;
+           { If the compile level > 1 we get a nice "unit expected" error
+             message if we are trying to use a program as unit.}
+             proc_unit;
+             if current_module^.compiled then
+               goto done;
+           end
          else
            begin
-              proc_program(token=_LIBRARY);
-              comp_unit:=false;
+             proc_program(token=_LIBRARY);
            end;
 
-         { Why? The definition of Pascal requires that everything
-           after 'end.' is ignored!
-         if not(cs_tp_compatible in aktswitches) then
-            consume(_EOF); }
-
          if errorcount=0 then
            begin
              if current_module^.uses_imports then
@@ -413,50 +404,34 @@ unit parser;
              name (PFV) }
              addlinkerfiles(current_module);
 
-             { Check linking  => we are at first level in compile }
-             if (compile_level=1) then
-              begin
-                if not comp_unit then
-                 begin
-                   if (cs_no_linking in initswitches) then
-                    externlink:=true;
-                   if Linker.ExeName='' then
-                    Linker.SetExeName(FileName);
-                   Linker.MakeExecutable;
-                 end;
-              end;
-
+           { Check linking  => we are at first level in compile }
+             if (compile_level=1) and (not current_module^.is_unit) then
+               begin
+                 if (cs_no_linking in initswitches) then
+                   externlink:=true;
+                 if Linker.ExeName='' then
+                   Linker.SetExeName(FileName);
+                 Linker.MakeExecutable;
+               end;
            end
          else
-           begin
-              Message1(unit_e_total_errors,tostr(errorcount));
-              Message(unit_f_errors_in_unit);
-           end;
+           Message1(unit_f_errors_in_unit,tostr(errorcount));
+        
+
+done:
          { clear memory }
 {$ifdef Splitheap}
          if testsplit then
            begin
            { temp heap should be empty after that !!!}
-           codegen_donemodule;
-           Releasetempheap;
+             codegen_donemodule;
+             Releasetempheap;
            end;
-         {else
-           codegen_donemodule;}
 {$endif Splitheap}
-         { restore old state }
-         { if already compiled jumps directly here }
-done:
-         { close trees }
+
+         { restore old state, close trees }
          if dispose_asm_lists then
-           begin
-              dispose(datasegment,Done);
-              dispose(codesegment,Done);
-              dispose(bsssegment,Done);
-              dispose(debuglist,Done);
-              dispose(externals,Done);
-              dispose(internals,Done);
-              dispose(consts,Done);
-           end;
+           codegen_donemodule;
 
          reset_gdb_info;
          { restore symtable state }
@@ -484,7 +459,6 @@ done:
 {$endif UseTokenInfo}
          orgpattern:=oldorgpattern;
          block_type:=old_block_type;
-         comp_unit:=old_comp_unit;
 
          { call donescanner before restoring preprocstack, because }
          { donescanner tests for a empty preprocstack              }
@@ -509,6 +483,7 @@ done:
          datasegment:=olddatasegment;
          bsssegment:=oldbsssegment;
          codesegment:=oldcodesegment;
+         consts:=oldconsts;
          debuglist:=olddebuglist;
          externals:=oldexternals;
          internals:=oldinternals;
@@ -518,9 +493,6 @@ done:
 
          nextlabelnr:=oldnextlabelnr;
          exprasmlist:=oldexprasmlist;
-         consts:=oldconsts;
-
-         nextlabelnr:=oldnextlabelnr;
 
          if (compile_level=1) then
           begin
@@ -536,7 +508,15 @@ done:
 end.
 {
   $Log$
-  Revision 1.15  1998-05-11 13:07:54  peter
+  Revision 1.16  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.15  1998/05/11 13:07:54  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 13 - 45
compiler/pbase.pas

@@ -25,7 +25,7 @@ unit pbase;
   interface
 
     uses
-       files,cobjects,globals,scanner,symtable,systems,verbose;
+       cobjects,globals,symtable;
 
     const
        { forward types should only be possible inside  }
@@ -92,6 +92,9 @@ unit pbase;
 
   implementation
 
+    uses
+
+       files,scanner,symtable,systems,verbose;
 
     { consumes token i, if the current token is unequal i }
     { a syntax error is written                           }
@@ -250,7 +253,15 @@ end.
 
 {
   $Log$
-  Revision 1.5  1998-05-06 08:38:44  pierre
+  Revision 1.6  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.5  1998/05/06 08:38:44  pierre
     * better position info with UseTokenInfo
       UseTokenInfo greatly simplified
     + added check for changed tree after first time firstpass
@@ -276,47 +287,4 @@ end.
   Revision 1.2  1998/04/07 22:45:05  florian
     * bug0092, bug0115 and bug0121 fixed
     + packed object/class/array
-
-  Revision 1.1.1.1  1998/03/25 11:18:14  root
-  * Restored version
-
-  Revision 1.9  1998/03/10 01:17:23  peter
-    * all files have the same header
-    * messages are fully implemented, EXTDEBUG uses Comment()
-    + AG... files for the Assembler generation
-
-  Revision 1.8  1998/03/06 00:52:40  peter
-    * replaced all old messages from errore.msg, only ExtDebug and some
-      Comment() calls are left
-    * fixed options.pas
-
-  Revision 1.7  1998/03/02 01:48:59  peter
-    * renamed target_DOS to target_GO32V1
-    + new verbose system, merged old errors and verbose units into one new
-      verbose.pas, so errors.pas is obsolete
-
-  Revision 1.6  1998/02/16 12:51:38  michael
-  + Implemented linker object
-
-  Revision 1.5  1998/02/13 10:35:22  daniel
-  * Made Motorola version compilable.
-  * Fixed optimizer
-
-  Revision 1.4  1998/02/12 11:50:24  daniel
-  Yes! Finally! After three retries, my patch!
-
-  Changes:
-
-  Complete rewrite of psub.pas.
-  Added support for DLL's.
-  Compiler requires less memory.
-  Platform units for each platform.
-
-  Revision 1.3  1998/01/13 17:13:08  michael
-  * File time handling and file searching is now done in an OS-independent way,
-    using the new file treating functions in globals.pas.
-
-  Revision 1.2  1998/01/09 09:09:58  michael
-  + Initial implementation, second try
-
 }

+ 21 - 5
compiler/pmodules.pas

@@ -80,15 +80,22 @@ unit pmodules;
     procedure insertsegment;
       begin
       {Insert Ident of the compiler}
-        if not smartlink then
+        if (not smartlink)
+{$ifndef EXTDEBUG}      
+           and (not current_module^.is_unit)
+{$endif}        
+
+           then
          begin
            datasegment^.insert(new(pai_align,init(4)));
-           datasegment^.insert(new(pai_string,init('FPC '+version_string+' - '+target_info.short_name)));
+           datasegment^.insert(new(pai_string,init('FPC '+version_string+' for '+target_string+' - '+target_info.short_name)));
          end;
 
-        bsssegment^.insert(new(pai_section,init(sec_bss)));
         codesegment^.insert(new(pai_section,init(sec_code)));
         datasegment^.insert(new(pai_section,init(sec_data)));
+        bsssegment^.insert(new(pai_section,init(sec_bss)));
+        consts^.insert(new(pai_section,init(sec_data)));
+        consts^.insert(new(pai_asm_comment,init('Constants')));
       end;
 
     procedure insertheap;
@@ -275,7 +282,8 @@ unit pmodules;
          checksum,
 {$ifndef NEWPPU}
          count,
-{$endif NEWPPU} 
+{$endif NEWPPU}
+
 
          nextmapentry : longint;
          hs           : string;
@@ -1090,7 +1098,15 @@ unit pmodules;
 end.
 {
   $Log$
-  Revision 1.12  1998-05-11 13:07:56  peter
+  Revision 1.13  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.12  1998/05/11 13:07:56  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 9 - 27
compiler/pp.pas

@@ -180,26 +180,6 @@ uses
 {$endif useoverlay}
 
 
-function print_status(const status : tcompilestatus) : boolean;
-begin
-  print_status:=false;
-  if (abslines=1) then
-   Message1(general_i_kb_free,tostr(memavail shr 10));
-  if (status.currentline mod 100=0) then
-   Message2(general_l_lines_and_free,tostr(status.currentline),tostr(memavail shr 10));
-{$ifdef tp}
-  if (use_big) then
-   begin
-   {$ifdef dpmi}
-     Message1(general_i_stream_kb_free,tostr(symbolstream.getsize shr 10));
-   {$else}
-     Message1(general_i_ems_kb_free,tostr(symbolstream.getsize shr 10));
-   {$endif}
-   end;
-{$endif}
-end;
-
-
 function getrealtime : real;
 var
   h,m,s,s100 : word;
@@ -328,12 +308,6 @@ begin
     end;
 {$endif tp}
 
-{$ifndef TP}
-   compilestatusproc:=@print_status;
-{$else}
-   compilestatusproc:=print_status;
-{$endif}
-
    { inits which need to be done  before the arguments are parsed }
    get_exepath;
    init_tree;
@@ -379,7 +353,15 @@ begin
 end.
 {
   $Log$
-  Revision 1.9  1998-05-11 13:07:56  peter
+  Revision 1.10  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.9  1998/05/11 13:07:56  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 19 - 19
compiler/scanner.pas

@@ -190,13 +190,6 @@ unit scanner;
        dos,verbose,pbase,
        symtable,switches;
 
-     var
-    { this is usefull to get the write filename
-      for the last instruction of an include file !}
-       FileHasChanged : Boolean;
-         status : tcompilestatus;
-
-
 {*****************************************************************************
                               TPreProcStack
 *****************************************************************************}
@@ -375,31 +368,30 @@ unit scanner;
       var
          cur : char;
       begin
-        cur:=c;
         if (byte(inputpointer^)=0) and
            current_module^.current_inputfile^.filenotatend then
           begin
+             cur:=c;
              reload;
              if byte(cur)+byte(c)<>23 then
                dec(longint(inputpointer));
           end
         else
-        { Fix linebreak to be only newline (=#10) for all types of linebreaks }
-        if (byte(inputpointer^)+byte(c)=23) then
-          inc(longint(inputpointer));
+          begin
+          { Fix linebreak to be only newline (=#10) for all types of linebreaks }
+            if (byte(inputpointer^)+byte(c)=23) then
+              inc(longint(inputpointer));
+          end;
         c:=newline;
       { Update Status and show status }
         with status do
          begin
            totalcompiledlines:=abslines;
-           currentline:=current_module^.current_inputfile^.line_no
-               +current_module^.current_inputfile^.line_count;
-           { you call strcopy here at each line !!! }
-           {currentsource:=current_module^.current_inputfile^.name^+current_module^.current_inputfile^.ext^;}
-           totallines:=0;
+           currentline:=current_module^.current_inputfile^.line_no;
          end;
-        if compilestatusproc(status) then
-         stop;
+        Comment(V_Status,'');
+
+      { increase line counters }        
         inc(current_module^.current_inputfile^.line_no);
         inc(abslines);
         lastlinepos:=longint(inputpointer);
@@ -1397,7 +1389,15 @@ unit scanner;
 end.
 {
   $Log$
-  Revision 1.17  1998-05-06 08:38:47  pierre
+  Revision 1.18  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.17  1998/05/06 08:38:47  pierre
     * better position info with UseTokenInfo
       UseTokenInfo greatly simplified
     + added check for changed tree after first time firstpass

+ 14 - 15
compiler/tree.pas

@@ -29,7 +29,7 @@ unit tree;
   interface
 
     uses
-       globals,scanner,symtable,cobjects,verbose,aasm,files
+       cobjects,globals,symtable,aasm
 {$ifdef i386}
        ,i386
 {$endif}
@@ -42,10 +42,8 @@ unit tree;
        ;
 
     type
-       tconstset = array[0..31] of byte;
-
        pconstset = ^tconstset;
-
+       tconstset = array[0..31] of byte;
 
        ttreetyp = (addn,            {Represents the + operator.}
                    muln,            {Represents the * operator.}
@@ -160,7 +158,6 @@ unit tree;
       tassigntyp = (at_normal,at_plus,at_minus,at_star,at_slash);
 
       pcaserecord = ^tcaserecord;
-
       tcaserecord = record
 
           { range }
@@ -177,7 +174,6 @@ unit tree;
        end;
 
        ptree = ^ttree;
-
        ttree = record
           error : boolean;
           disposetyp : tdisposetyp;
@@ -190,7 +186,7 @@ unit tree;
           { the number of registers needed to evalute the node }
           registers32,registersfpu : longint;  { must be longint !!!! }
 {$ifdef SUPPORT_MMX}
-                  registersmmx : longint;
+          registersmmx : longint;
 {$endif SUPPORT_MMX}
           left,right : ptree;
           resulttype : pdef;
@@ -296,13 +292,8 @@ unit tree;
 
   implementation
 
-{$ifdef extdebug}
-    uses
-       types,pbase;
-{$else extdebug}
-    uses
-       pbase;
-{$endif extdebug}
+    uses    
+       scanner,verbose,files,types,pbase;
 
 {****************************************************************************
         this is a pool for the tree nodes to get more performance
@@ -1536,7 +1527,15 @@ unit tree;
 end.
 {
   $Log$
-  Revision 1.8  1998-05-07 00:17:01  peter
+  Revision 1.9  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.8  1998/05/07 00:17:01  peter
     * smartlinking for sets
     + consts labels are now concated/generated in hcodegen
     * moved some cpu code to cga and some none cpu depended code from cga

+ 12 - 152
compiler/types.pas

@@ -896,10 +896,9 @@ unit types;
          do_genvmt(_class);
 
          if has_virtual_method and not(has_constructor) then
-           begin
-              exterror:=strpnew(_class^.name^);
-              Message(parser_w_virtual_without_constructor);
-           end;
+            Message1(parser_w_virtual_without_constructor,_class^.name^);
+        
+
          { generates the VMT }
 
          { walk trough all numbers for virtual methods and search }
@@ -965,7 +964,15 @@ unit types;
 end.
 {
   $Log$
-  Revision 1.11  1998-05-01 16:38:46  florian
+  Revision 1.12  1998-05-12 10:47:00  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.11  1998/05/01 16:38:46  florian
     * handling of private and protected fixed
     + change_keywords_to_tp implemented to remove
       keywords which aren't supported by tp
@@ -1009,151 +1016,4 @@ end.
 
   Revision 1.3  1998/04/08 11:34:22  peter
     * nasm works (linux only tested)
-
-  Revision 1.2  1998/03/28 23:09:57  florian
-    * secondin bugfix (m68k and i386)
-    * overflow checking bugfix (m68k and i386) -- pretty useless in
-      secondadd, since everything is done using 32-bit
-    * loading pointer to routines hopefully fixed (m68k)
-    * flags problem with calls to RTL internal routines fixed (still strcmp
-      to fix) (m68k)
-    * #ELSE was still incorrect (didn't take care of the previous level)
-    * problem with filenames in the command line solved
-    * problem with mangledname solved
-    * linking name problem solved (was case insensitive)
-    * double id problem and potential crash solved
-    * stop after first error
-    * and=>test problem removed
-    * correct read for all float types
-    * 2 sigsegv fixes and a cosmetic fix for Internal Error
-    * push/pop is now correct optimized (=> mov (%esp),reg)
-
-  Revision 1.1.1.1  1998/03/25 11:18:15  root
-  * Restored version
-
-  Revision 1.24  1998/03/21 23:59:40  florian
-    * indexed properties fixed
-    * ppu i/o of properties fixed
-    * field can be also used for write access
-    * overriding of properties
-
-  Revision 1.23  1998/03/20 23:31:35  florian
-    * bug0113 fixed
-    * problem with interdepened units fixed ("options.pas problem")
-    * two small extensions for future AMD 3D support
-
-  Revision 1.22  1998/03/10 01:17:30  peter
-    * all files have the same header
-    * messages are fully implemented, EXTDEBUG uses Comment()
-    + AG... files for the Assembler generation
-
-  Revision 1.21  1998/03/06 01:09:01  peter
-    * removed the conflicts that had occured
-
-  Revision 1.20  1998/03/06 00:53:01  peter
-    * replaced all old messages from errore.msg, only ExtDebug and some
-      Comment() calls are left
-    * fixed options.pas
-
-  Revision 1.19  1998/03/05 22:40:56  florian
-    + warning about missing constructor added
-
-  Revision 1.18  1998/03/04 17:34:14  michael
-  + Changed ifdef FPK to ifdef FPC
-
-  Revision 1.17  1998/03/02 01:49:38  peter
-    * renamed target_DOS to target_GO32V1
-    + new verbose system, merged old errors and verbose units into one new
-      verbose.pas, so errors.pas is obsolete
-
-  Revision 1.16  1998/02/13 10:35:55  daniel
-  * Made Motorola version compilable.
-  * Fixed optimizer
-
-  Revision 1.15  1998/02/12 17:19:33  florian
-    * fixed to get remake3 work, but needs additional fixes (output, I don't like
-      also that aktswitches isn't a pointer)
-
-  Revision 1.14  1998/02/12 11:50:52  daniel
-  Yes! Finally! After three retries, my patch!
-
-  Changes:
-
-  Complete rewrite of psub.pas.
-  Added support for DLL's.
-  Compiler requires less memory.
-  Platform units for each platform.
-
-  Revision 1.13  1998/02/11 21:56:41  florian
-    * bugfixes: bug0093, bug0053, bug0088, bug0087, bug0089
-
-  Revision 1.12  1998/02/07 23:05:08  florian
-    * once more MMX
-
-  Revision 1.11  1998/02/06 10:34:35  florian
-    * bug0082 and bug0084 fixed
-
-  Revision 1.10  1998/02/05 22:27:07  florian
-    * small problems fixed: remake3 should now work
-
-  Revision 1.9  1998/02/05 21:54:36  florian
-    + more MMX
-
-  Revision 1.8  1998/01/31 00:43:37  carl
-    - removed in in is_subequal, because the code generator is buggy!
-      (instead uses if...)
-
-  Revision 1.7  1998/01/16 18:03:21  florian
-    * small bug fixes, some stuff of delphi styled constructores added
-
-  Revision 1.6  1998/01/11 19:24:35  carl
-    + type checking routine (is_subequal) for case statements
-
-  Revision 1.5  1998/01/09 23:08:38  florian
-    + C++/Delphi styled //-comments
-    * some bugs in Delphi object model fixed
-    + override directive
-
-  Revision 1.4  1998/01/09 16:08:24  florian
-    * abstract methods call now abstracterrorproc if they are called
-      a class with an abstract method can be create with a class reference else
-      the compiler forbides this
-
-  Revision 1.3  1998/01/07 00:17:12  michael
-  Restored released version (plus fixes) as current
-
-  Revision 1.2  1997/11/28 18:14:51  pierre
-   working version with several bug fixes
-
-  Revision 1.1.1.1  1997/11/27 08:33:03  michael
-  FPC Compiler CVS start
-
-
-  Pre-CVS log:
-
-  CEC   Carl-Eric Codere
-  FK    Florian Klaempfl
-  PM    Pierre Muller
-  +     feature added
-  -     removed
-  *     bug fixed or changed
-
-  History:
-      22th september 1997
-         + function dont_copy_const_param added (FK)
-      25th september 1997
-         + is_open_array added (FK)
-         + is_equal handles now also open arrays (FK)
-      2nd october 1997
-         + added then boolean never_copy_const_param for use in typed write
-           where we must push the reference anyway (PM)
-      3rd october 1997:
-         + renamed ret_in_eax to ret_in_acc (for accumulator for port.) (CEC)
-         - removed reference to i386 unit (CEC)
-     25th october 1997:
-         * poassembler isn't important for compatiblity of proc vars (FK)
-      3rd november 1997:
-         + added formaldef type to types where we dont_copy_const_param (PM)
-      20rd november 1997:
-         + added is_fpu function (PM)
 }

+ 68 - 124
compiler/verb_def.pas

@@ -24,29 +24,21 @@ unit verb_def;
 interface
 uses verbose;
 
-{$define allow_oldstyle}
-
 procedure SetRedirectFile(const fn:string);
 
 procedure _stop;
 procedure _comment(Level:Longint;const s:string);
-{$ifdef allow_oldstyle}
-function _warning(w : tmsgconst) : boolean;
-function _note(w : tmsgconst) : boolean;
-function _error(w : tmsgconst) : boolean;
-function _fatalerror(w : tmsgconst) : boolean;
-function _internalerror(i : longint) : boolean;
-{$endif}
+function  _internalerror(i : longint) : boolean;
 
 implementation
 uses
-  strings,dos,cobjects,systems,globals,files;
+  strings,dos,globals,files;
 
 const
   { RHIDE expect gcc like error output }
   rh_errorstr='error: ';
   rh_warningstr='warning: ';
-  fatalstr='Fatal Error: ';
+  fatalstr='Fatal: ';
   errorstr='Error: ';
   warningstr='Warning: ';
   notestr='Note: ';
@@ -102,54 +94,65 @@ var
 begin
   if (verbosity and Level)=Level then
    begin
-   {Create hs}
-     hs:='';
-     if not(use_rhide) then
-       begin
-          if (verbosity and Level)=V_Hint then
-           hs:=hintstr;
-          if (verbosity and Level)=V_Note then
-           hs:=notestr;
-          if (verbosity and Level)=V_Warning then
-           hs:=warningstr;
-          if (verbosity and Level)=V_Error then
-           hs:=errorstr;
-          if (verbosity and Level)=V_Fatal then
-           hs:=fatalstr;
-       end
-     else
-       begin
-          if (verbosity and Level)=V_Hint then
-           hs:=rh_warningstr;
-          if (verbosity and Level)=V_Note then
-           hs:=rh_warningstr;
-          if (verbosity and Level)=V_Warning then
-           hs:=rh_warningstr;
-          if (verbosity and Level)=V_Error then
-           hs:=rh_errorstr;
-          if (verbosity and Level)=V_Fatal then
-           hs:=rh_errorstr;
-       end;
-     if (Level<$100) and Assigned(current_module) and Assigned(current_module^.current_inputfile) then
-       hs:=current_module^.current_inputfile^.get_file_line+' '+hs;
-   { add the message to the text }
-
-     hs:=hs+s;
-
-{$ifdef FPC}
-     if UseStdErr and (Level<$100) then
+   { Status info?, Called every line }
+     if ((Level and V_Status)<>0) and (s='') then
       begin
-        writeln(stderr,hs);
-        flush(stderr);
+        if (abslines=1) then
+          WriteLn(memavail shr 10,' Kb Free');
+        if (status.currentline mod 100=0) then
+          Write(status.currentline,' ',memavail shr 10,' Kb Free'#13);
       end
      else
-{$ENDIF}
+   { Message }
       begin
-        if redirtext then
-         writeln(redirfile,hs)
+
+        hs:='';
+        if not(use_rhide) then
+          begin
+            if (verbosity and Level)=V_Hint then
+              hs:=hintstr;
+            if (verbosity and Level)=V_Note then
+              hs:=notestr;
+            if (verbosity and Level)=V_Warning then
+              hs:=warningstr;
+            if (verbosity and Level)=V_Error then
+              hs:=errorstr;
+            if (verbosity and Level)=V_Fatal then
+              hs:=fatalstr;
+          end
+        else
+          begin
+            if (verbosity and Level)=V_Hint then
+              hs:=rh_warningstr;
+            if (verbosity and Level)=V_Note then
+              hs:=rh_warningstr;
+            if (verbosity and Level)=V_Warning then
+              hs:=rh_warningstr;
+            if (verbosity and Level)=V_Error then
+              hs:=rh_errorstr;
+            if (verbosity and Level)=V_Fatal then
+              hs:=rh_errorstr;
+          end;
+        if (Level<$100) and Assigned(current_module) and Assigned(current_module^.current_inputfile) then
+          hs:=current_module^.current_inputfile^.get_file_line+' '+hs;
+      { add the message to the text }
+        hs:=hs+s;
+{$ifdef FPC}
+        if UseStdErr and (Level<$100) then
+         begin
+           writeln(stderr,hs);
+           flush(stderr);
+         end
         else
-         writeln(hs);
-      end;
+{$endif}
+         begin
+           if redirtext then
+            writeln(redirfile,hs)
+           else
+            writeln(hs);
+         end;
+      end;      
+
    end;
 end;
 
@@ -160,88 +163,29 @@ begin
   _internalerror:=true;
 end;
 
-{****************************************************************************
-                                 Old Style
-****************************************************************************}
-
-
-{$ifdef allow_oldstyle}
-
-procedure ShowExtError(l:longint;w:tmsgconst);
-var
-  s : string;
-begin
-{fix the string to be written }
-  s:=msg^.get(ord(w));
-  if assigned(exterror) then
-   begin
-     s:=s+strpas(exterror);
-     strdispose(exterror);
-     exterror:=nil;
-   end;
-  _comment(l,s);
-end;
-
-
-{ predefined handler for warnings }
-function _warning(w : tmsgconst) : boolean;
-begin
-  ShowExtError(V_Warning,w);
-  _warning:=false;
-end;
-
-
-function _note(w : tmsgconst) : boolean;
-begin
-  ShowExtError(V_Note,w);
-  _note:=false;
-end;
-
-
-function _error(w : tmsgconst) : boolean;
-begin
-  ShowExtError(V_Error,w);
-  _error:=(errorcount>50);
-end;
-
-
-function _fatalerror(w : tmsgconst) : boolean;
-begin
-  ShowExtError(V_Error,w);
-  _fatalerror:=true;
-end;
-
-{$endif}
 
 begin
-(* {$ifdef USE_RHIDE}
-  UseStdErr:=true;
-{$endif USE_RHIDE} *)
 {$ifdef FPC}
   do_stop:=@_stop;
   do_comment:=@_comment;
-  {$ifdef allow_oldstyle}
-     do_note:=@_note;
-     do_warning:=@_warning;
-     do_error:=@_error;
-     do_fatalerror:=@_fatalerror;
-     do_internalerror:=@_internalerror;
-  {$endif}
+  do_internalerror:=@_internalerror;
 {$else}
   do_stop:=_stop;
   do_comment:=_comment;
-  {$ifdef allow_oldstyle}
-     do_note:=_note;
-     do_warning:=_warning;
-     do_error:=_error;
-     do_fatalerror:=_fatalerror;
-     do_internalerror:=_internalerror;
-  {$endif}
+  do_internalerror:=_internalerror;
 {$endif}
 end.
 {
   $Log$
-  Revision 1.6  1998-05-11 13:07:58  peter
+  Revision 1.7  1998-05-12 10:47:01  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.6  1998/05/11 13:07:58  peter
     + $ifdef NEWPPU for the new ppuformat
     + $define GDB not longer required
     * removed all warnings and stripped some log comments

+ 40 - 114
compiler/verbose.pas

@@ -25,8 +25,6 @@ interface
 
 uses messages;
 
-{$define allow_oldstyle}
-
 {$IFNDEF EXTERN_MSG}
   {$i msgtxt.inc}
 {$ENDIF}
@@ -38,11 +36,12 @@ Const
 { <$100 can include file and linenr info }
   V_Fatal       = $0;
   V_Error       = $1;
-  V_Warning     = $2;
-  V_Note        = $4;
-  V_Hint        = $8;
+  V_Normal      = $2;
+  V_Warning     = $4;
+  V_Note        = $8;
+  V_Hint        = $10;
   V_Info        = $100;
-  V_Linenrs     = $200;
+  V_Status      = $200;
   V_Used        = $400;
   V_Tried       = $800;
   V_Macro       = $1000;
@@ -51,15 +50,25 @@ Const
   V_Debug       = $8000;
 
   V_All         = $ffffffff;
-  V_Default     = V_Fatal + V_Error;
+  V_Default     = V_Fatal + V_Error + V_Normal;
 
   Verbosity     : longint=V_Default;
 
+type
+  TCompileStatus = record
+    currentsource : string;       { filename }
+    currentline   : longint;      { current line number }
+    totalcompiledlines : longint; { the number of lines which are compiled  }
+    totallines         : longint; { total lines to compile, can be 0 }
+  end;
+
+
 var
-  errorcount    : longint;  { number of generated errors }
-  msg           : pmessage;
-  UseStdErr : boolean;
-  Use_Rhide : boolean;
+  status      : tcompilestatus;
+  errorcount  : longint;  { number of generated errors }
+  msg         : pmessage;
+  UseStdErr,
+  Use_Rhide   : boolean;
 
 
 procedure LoadMsgFile(const fn:string);
@@ -73,16 +82,6 @@ procedure Message1(w:tmsgconst;const s1:string);
 procedure Message2(w:tmsgconst;const s1,s2:string);
 procedure Message3(w:tmsgconst;const s1,s2,s3:string);
 
-{ old calling style }
-{$ifdef allow_oldstyle}
-var
-  exterror      : pchar;
-procedure note(w:tmsgconst);
-procedure warning(w:tmsgconst);
-procedure error(w:tmsgconst);
-procedure fatalerror(w:tmsgconst);
-{$endif}
-
 { Function redirecting for IDE support }
 type
   tstopprocedure = procedure;
@@ -177,9 +176,9 @@ begin
                  else
                    Verbosity:=Verbosity or V_Hint;
            'L' : if inverse then
-                   Verbosity:=Verbosity and (not V_Linenrs)
+                   Verbosity:=Verbosity and (not V_Status)
                  else
-                   Verbosity:=Verbosity or V_Linenrs;
+                   Verbosity:=Verbosity or V_Status;
            'U' : if inverse then
                    Verbosity:=Verbosity and (not V_Used)
                  else
@@ -212,6 +211,7 @@ begin
   setverbosity:=true;
 end;
 
+
 procedure stop;
 begin
 {$ifndef TP}
@@ -230,8 +230,13 @@ end;
 
 
 procedure Comment(l:longint;const s:string);
+var
+  msg : string;
 begin
-  do_comment(l,s);
+  msg:=s;
+  Replace(msg,'$VER',version_string);
+  Replace(msg,'$TARGET',target_string);
+  do_comment(l,msg);
 end;
 
 
@@ -262,11 +267,12 @@ begin
                   inc(errorcount);
                   dostop:=(errorcount>=maxerrorcount);
                 end;
+          'O' : v:=v or V_Normal;
           'W' : v:=v or V_Warning;
           'N' : v:=v or V_Note;
           'H' : v:=v or V_Hint;
           'I' : v:=v or V_Info;
-          'L' : v:=v or V_Linenrs;
+          'L' : v:=v or V_Status;
           'U' : v:=v or V_Used;
           'T' : v:=v or V_Tried;
           'M' : v:=v or V_Macro;
@@ -309,42 +315,6 @@ begin
 end;
 
 
-{*****************************************************************************
-                                   Old Style
-*****************************************************************************}
-
-{$ifdef allow_oldstyle}
-
-  procedure warning(w:tmsgconst);
-  begin
-    if do_warning(w) then
-     stop;
-  end;
-
-
-  procedure note(w:tmsgconst);
-  begin
-    if do_note(w) then
-     stop;
-  end;
-
-
-  procedure error(w:tmsgconst);
-  begin
-    inc(errorcount);
-    if do_error(w) then
-     stop;
-  end;
-
-
-  procedure fatalerror(w:tmsgconst);
-  begin
-    do_fatalerror(w);
-    stop;
-  end;
-
-{$endif}
-
 begin
 {$IFNDEF EXTERN_MSG}
   msg:=new(pmessage,Init(@msgtxt,ord(endmsgconst)));
@@ -353,7 +323,15 @@ end.
 
 {
   $Log$
-  Revision 1.5  1998-04-30 15:59:43  pierre
+  Revision 1.6  1998-05-12 10:47:01  peter
+    * moved printstatus to verb_def
+    + V_Normal which is between V_Error and V_Warning and doesn't have a
+      prefix like error: warning: and is included in V_Default
+    * fixed some messages
+    * first time parameter scan is only for -v and -T
+    - removed old style messages
+
+  Revision 1.5  1998/04/30 15:59:43  pierre
     * GDB works again better :
       correct type info in one pass
     + UseTokenInfo for better source position
@@ -367,56 +345,4 @@ end.
     * error handling of pass_1 and cgi386 fixed
     * the following bugs fixed: 0117, 0118, 0119 and 0129, 0122 was already
       fixed, verified
-
-  Revision 1.2  1998/03/28 23:09:57  florian
-    * secondin bugfix (m68k and i386)
-    * overflow checking bugfix (m68k and i386) -- pretty useless in
-      secondadd, since everything is done using 32-bit
-    * loading pointer to routines hopefully fixed (m68k)
-    * flags problem with calls to RTL internal routines fixed (still strcmp
-      to fix) (m68k)
-    * #ELSE was still incorrect (didn't take care of the previous level)
-    * problem with filenames in the command line solved
-    * problem with mangledname solved
-    * linking name problem solved (was case insensitive)
-    * double id problem and potential crash solved
-    * stop after first error
-    * and=>test problem removed
-    * correct read for all float types
-    * 2 sigsegv fixes and a cosmetic fix for Internal Error
-    * push/pop is now correct optimized (=> mov (%esp),reg)
-
-  Revision 1.1.1.1  1998/03/25 11:18:15  root
-  * Restored version
-
-  Revision 1.17  1998/03/10 16:43:34  peter
-    * fixed Fatal error writting
-
-  Revision 1.16  1998/03/10 01:17:30  peter
-    * all files have the same header
-    * messages are fully implemented, EXTDEBUG uses Comment()
-    + AG... files for the Assembler generation
-
-  Revision 1.15  1998/03/06 00:53:02  peter
-    * replaced all old messages from errore.msg, only ExtDebug and some
-      Comment() calls are left
-    * fixed options.pas
-
-  Revision 1.14  1998/03/04 01:35:15  peter
-    * messages for unit-handling and assembler/linker
-    * the compiler compiles without -dGDB, but doesn't work yet
-    + -vh for Hint
-
-  Revision 1.13  1998/03/03 16:45:25  peter
-    + message support for assembler parsers
-
-  Revision 1.12  1998/03/02 16:02:05  peter
-    * new style messages for pp.pas
-    * cleanup of pp.pas
-
-  Revision 1.11  1998/03/02 01:49:40  peter
-    * renamed target_DOS to target_GO32V1
-    + new verbose system, merged old errors and verbose units into one new
-      verbose.pas, so errors.pas is obsolete
-
 }