4.3BSD/usr/contrib/icon/tran/tokens

Primitive Tokens

   Token                Token Type      Flags

   identifier           IDENT            b e
   integer-literal      INTLIT           b e
   real-literal         REALLIT          b e
   string-literal       STRINGLIT        b e
   cset-literal         CSETLIT          b e
   end-of-file          EOFX

Reserved Words

   Token                Token Type      Flags

   break                BREAK            b e
   by                   BY
   case                 CASE             b
   create               CREATE           b
   default              DEFAULT          b
   do                   DO
   dynamic              DYNAMIC          b
   else                 ELSE
   end                  END              b
   every                EVERY            b
   fail                 FAIL             b e
   global               GLOBAL
   if                   IF               b
   initial              INITIAL          b
   link                 LINK
   local                LOCAL            b
   next                 NEXT             b e
   not                  NOT              b
   of                   OF
   procedure            PROCEDURE
   record               RECORD
   repeat               REPEAT           b
   return               RETURN           b e
   static               STATIC           b
   suspend              SUSPEND          b e
   then                 THEN
   to                   TO
   until                UNTIL            b
   while                WHILE            b

Operators

   Token                Token Type      Flags

   :=                   ASSIGN
   @                    AT               b
   @:=                  AUGACT
   &:=                  AUGAND
   =:=                  AUGEQ
   ===:=                AUGEQV
   >=:=                 AUGGE
   >:=                  AUGGT
   <=:=                 AUGLE
   <:=                  AUGLT
   ~=:=                 AUGNE
   ~===:=               AUGNEQV
   ==:=                 AUGSEQ
   >>=:=                AUGSGE
   >>:=                 AUGSGT
   <<=:=                AUGSLE
   <<:=                 AUGSLT
   ~==:=                AUGSNE
   \\                   BACKSLASH        b
   !                    BANG             b
   |                    BAR              b
   ^                    CARET            b
   ^:=                  CARETASGN
   :                    COLON
   ,                    COMMA
   ||                   CONCAT           b
   ||:=                 CONCATASGN
   &                    CONJUNC          b
   .                    DOT              b
   --                   DIFF             b
   --:=                 DIFFASGN
   ===                  EQUIV            b
   **                   INTER            b
   **:=                 INTERASGN
   {                    LBRACE           b
   [                    LBRACK           b
   |||                  LCONCAT          b
   |||:=                LCONCATASGN      b
   ==                   LEXEQ            b
   >>=                  LEXGE
   >>                   LEXGT
   <<=                  LEXLE
   <<                   LEXLT
   ~==                  LEXNE            b
   (                    LPAREN           b
   -:                   MCOLON
   -                    MINUS            b
   -:=                  MINUSASGN
   %                    MOD
   %:=                  MODASGN
   ~===                 NOTEQUIV         b
   =                    NUMEQ            b
   >=                   NUMGE
   >                    NUMGT
   <=                   NUMLE
   <                    NUMLT
   ~=                   NUMNE            b
   +:                   PCOLON
   +                    PLUS             b
   +:=                  PLUSASGN
   ?                    QMARK            b
   <-                   REVASSIGN
   <->                  REVSWAP
   }                    RBRACE             e
   ]                    RBRACK             e
   )                    RPAREN             e
   ;                    SEMICOL
   ?:=                  SCANASGN
   /                    SLASH            b
   /:=                  SLASHASGN
   *                    STAR             b
   *:=                  STARASGN
   :=:                  SWAP
   ~                    TILDE            b
   ++                   UNION            b
   ++:=                 UNIONASGN

Explanation of Flags

   b    indicates that the token may begin an expression.
   e    indicates that the token may end an expression.

   These two flags are used for semicolon insertion.  If a line
   ends with an "e" token, and the next token is a "b" token,
   a semicolon is inserted between the two tokens.