Browse Source

* more use of ttoken

peter 26 years ago
parent
commit
ee82810a16
3 changed files with 45 additions and 8 deletions
  1. 5 2
      compiler/pexpr.pas
  2. 6 5
      compiler/pstatmnt.pas
  3. 34 1
      compiler/tokens.pas

+ 5 - 2
compiler/pexpr.pas

@@ -818,7 +818,7 @@ unit pexpr;
            { allow post fix operators }
            again:=true;
            if (m_result in aktmodeswitches) and
-              (pattern='RESULT') and
+              (idtoken=_RESULT) and
               assigned(aktprocsym) and
               (procinfo.retdef<>pdef(voiddef)) then
             begin
@@ -1976,7 +1976,10 @@ unit pexpr;
 end.
 {
   $Log$
-  Revision 1.90  1999-03-31 13:55:12  peter
+  Revision 1.91  1999-04-06 11:21:56  peter
+    * more use of ttoken
+
+  Revision 1.90  1999/03/31 13:55:12  peter
     * assembler inlining working for ag386bin
 
   Revision 1.89  1999/03/26 00:05:36  peter

+ 6 - 5
compiler/pstatmnt.pas

@@ -488,7 +488,7 @@ unit pstatmnt;
          if token<>SEMICOLON then
            begin
               p1:=comp_expr(true);
-              if (token=ID) and (pattern='AT') then
+              if (idtoken=_AT) then
                 begin
                    consume(ID);
                    p2:=comp_expr(true);
@@ -1076,9 +1076,7 @@ unit pstatmnt;
          else
            begin
               if (token=INTCONST) or
-                ((token=ID) and
-                not((m_result in aktmodeswitches) and
-                (pattern='RESULT'))) then
+                 ((token=ID) and not((m_result in aktmodeswitches) and (idtoken=_RESULT))) then
                 begin
                    getsym(pattern,true);
                    lastsymknown:=true;
@@ -1286,7 +1284,10 @@ unit pstatmnt;
 end.
 {
   $Log$
-  Revision 1.72  1999-03-31 13:55:15  peter
+  Revision 1.73  1999-04-06 11:21:57  peter
+    * more use of ttoken
+
+  Revision 1.72  1999/03/31 13:55:15  peter
     * assembler inlining working for ag386bin
 
   Revision 1.71  1999/03/10 11:23:29  pierre

+ 34 - 1
compiler/tokens.pas

@@ -80,6 +80,7 @@ type
     _XORASN,
     { Normal words }
     _AS,
+    _AT,
     _DO,
     _IF,
     _IN,
@@ -121,9 +122,11 @@ type
     _UNIT,
     _USES,
     _WITH,
+    _ALIAS,
     _ARRAY,
     _BEGIN,
     _BREAK,
+    _CDECL,
     _CLASS,
     _CONST,
     _FALSE,
@@ -139,22 +142,29 @@ type
     _INLINE,
     _OBJECT,
     _PACKED,
+    _PASCAL,
     _PUBLIC,
     _RECORD,
     _REPEAT,
+    _RESULT,
     _STATIC,
     _STORED,
     _STRING,
+    _SYSTEM,
+    _ASMNAME,
     _DEFAULT,
     _DISPOSE,
     _DYNAMIC,
     _EXPORTS,
     _FINALLY,
     _FORWARD,
+    _IOCHECK,
     _LIBRARY,
     _MESSAGE,
     _PRIVATE,
     _PROGRAM,
+    _STDCALL,
+    _SYSCALL,
     _VIRTUAL,
     _ABSOLUTE,
     _ABSTRACT,
@@ -163,8 +173,11 @@ type
     _FUNCTION,
     _OPERATOR,
     _OVERRIDE,
+    _POPSTACK,
     _PROPERTY,
+    _REGISTER,
     _RESIDENT,
+    _ASSEMBLER,
     _INHERITED,
     _INTERFACE,
     _INTERRUPT,
@@ -174,8 +187,10 @@ type
     _PROTECTED,
     _PUBLISHED,
     _DESTRUCTOR,
+    _INTERNPROC,
     _OPENSTRING,
     _CONSTRUCTOR,
+    _INTERNCONST,
     _SHORTSTRING,
     _FINALIZATION,
     _IMPLEMENTATION,
@@ -242,6 +257,7 @@ const
       (str:''              ;special:true ;keyword:m_none),
     { Normal words }
       (str:'AS'            ;special:false;keyword:m_class),
+      (str:'AT'            ;special:false;keyword:m_none),
       (str:'DO'            ;special:false;keyword:m_all),
       (str:'IF'            ;special:false;keyword:m_all),
       (str:'IN'            ;special:false;keyword:m_all),
@@ -283,9 +299,11 @@ const
       (str:'UNIT'          ;special:false;keyword:m_all),
       (str:'USES'          ;special:false;keyword:m_all),
       (str:'WITH'          ;special:false;keyword:m_all),
+      (str:'ALIAS'         ;special:false;keyword:m_none),
       (str:'ARRAY'         ;special:false;keyword:m_all),
       (str:'BEGIN'         ;special:false;keyword:m_all),
       (str:'BREAK'         ;special:false;keyword:m_none),
+      (str:'CDECL'         ;special:false;keyword:m_none),
       (str:'CLASS'         ;special:false;keyword:m_class),
       (str:'CONST'         ;special:false;keyword:m_all),
       (str:'FALSE'         ;special:false;keyword:m_all),
@@ -301,22 +319,29 @@ const
       (str:'INLINE'        ;special:false;keyword:m_none),
       (str:'OBJECT'        ;special:false;keyword:m_all),
       (str:'PACKED'        ;special:false;keyword:m_all),
+      (str:'PASCAL'        ;special:false;keyword:m_none),
       (str:'PUBLIC'        ;special:false;keyword:m_none),
       (str:'RECORD'        ;special:false;keyword:m_all),
       (str:'REPEAT'        ;special:false;keyword:m_all),
+      (str:'RESULT'        ;special:false;keyword:m_none),
       (str:'STATIC'        ;special:false;keyword:m_none),
       (str:'STORED'        ;special:false;keyword:m_none),
       (str:'STRING'        ;special:false;keyword:m_all),
+      (str:'SYSTEM'        ;special:false;keyword:m_none),
+      (str:'ASMNAME'       ;special:false;keyword:m_none),
       (str:'DEFAULT'       ;special:false;keyword:m_none),
       (str:'DISPOSE'       ;special:false;keyword:m_all),
       (str:'DYNAMIC'       ;special:false;keyword:m_none),
       (str:'EXPORTS'       ;special:false;keyword:m_all),
       (str:'FINALLY'       ;special:false;keyword:m_objpas),
       (str:'FORWARD'       ;special:false;keyword:m_none),
+      (str:'IOCHECK'       ;special:false;keyword:m_none),
       (str:'LIBRARY'       ;special:false;keyword:m_all),
       (str:'MESSAGE'       ;special:false;keyword:m_none),
       (str:'PRIVATE'       ;special:false;keyword:m_none),
       (str:'PROGRAM'       ;special:false;keyword:m_all),
+      (str:'STDCALL'       ;special:false;keyword:m_none),
+      (str:'SYSCALL'       ;special:false;keyword:m_none),
       (str:'VIRTUAL'       ;special:false;keyword:m_none),
       (str:'ABSOLUTE'      ;special:false;keyword:m_none),
       (str:'ABSTRACT'      ;special:false;keyword:m_none),
@@ -325,8 +350,11 @@ const
       (str:'FUNCTION'      ;special:false;keyword:m_all),
       (str:'OPERATOR'      ;special:false;keyword:m_fpc),
       (str:'OVERRIDE'      ;special:false;keyword:m_none),
+      (str:'POPSTACK'      ;special:false;keyword:m_none),
       (str:'PROPERTY'      ;special:false;keyword:m_class),
+      (str:'REGISTER'      ;special:false;keyword:m_none),
       (str:'RESIDENT'      ;special:false;keyword:m_none),
+      (str:'ASSEMBLER'     ;special:false;keyword:m_none),
       (str:'INHERITED'     ;special:false;keyword:m_all),
       (str:'INTERFACE'     ;special:false;keyword:m_all),
       (str:'INTERRUPT'     ;special:false;keyword:m_none),
@@ -336,8 +364,10 @@ const
       (str:'PROTECTED'     ;special:false;keyword:m_none),
       (str:'PUBLISHED'     ;special:false;keyword:m_none),
       (str:'DESTRUCTOR'    ;special:false;keyword:m_all),
+      (str:'INTERNPROC'    ;special:false;keyword:m_none),
       (str:'OPENSTRING'    ;special:false;keyword:m_none),
       (str:'CONSTRUCTOR'   ;special:false;keyword:m_all),
+      (str:'INTERNCONST'   ;special:false;keyword:m_none),
       (str:'SHORTSTRING'   ;special:false;keyword:m_none),
       (str:'FINALIZATION'  ;special:false;keyword:m_class),
       (str:'IMPLEMENTATION';special:false;keyword:m_all),
@@ -349,7 +379,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.4  1999-04-01 22:07:53  peter
+  Revision 1.5  1999-04-06 11:22:01  peter
+    * more use of ttoken
+
+  Revision 1.4  1999/04/01 22:07:53  peter
     * universal string names (ansistr instead of stransi) for val/str
 
   Revision 1.3  1999/02/22 20:13:41  florian