15817Srrh /* 2*19834Sdist * Copyright (c) 1980 Regents of the University of California. 3*19834Sdist * All rights reserved. The Berkeley software License Agreement 4*19834Sdist * specifies the terms and conditions for redistribution. 5*19834Sdist * 6*19834Sdist * @(#)astoks.H 5.1 (Berkeley) 04/30/85 7*19834Sdist */ 8*19834Sdist 9*19834Sdist /* 105817Srrh * Message to the wary: The order of tokens has been 115817Srrh * hand optimized and assigned to that all switch statements 125817Srrh * are implemented by a casel instruction on the VAX. 135817Srrh * there are 4 switch statements that have to be worried about: 145817Srrh * l) Per character switch in the character scanner (scan_dot_s) 155817Srrh * 2) Per token switch in the buffer manager (yylex) 165817Srrh * 3) Per keyword switch in the parser (yyparse) 175817Srrh * 4) Leading token switch for argments to opcodes 185817Srrh * 195817Srrh * You can't just add new tokens willy-nilly; make sure that you 205817Srrh * add them into the proper order! 215817Srrh */ 225817Srrh # define FIRSTTOKEN AWKFIXESME 235817Srrh 245817Srrh /* 255817Srrh * Tokens between ISPACE and INSTn are used by the per keyword switch 265817Srrh */ 275817Srrh # define ISPACE AWKFIXESME 285817Srrh # define IBYTE AWKFIXESME 295817Srrh # define IWORD AWKFIXESME 305817Srrh # define IINT AWKFIXESME 315817Srrh # define ILONG AWKFIXESME 325817Srrh # define IQUAD AWKFIXESME 335817Srrh # define IOCTA AWKFIXESME 345817Srrh # define IDATA AWKFIXESME 355817Srrh # define IGLOBAL AWKFIXESME 365817Srrh # define ISET AWKFIXESME 375817Srrh # define ITEXT AWKFIXESME 385817Srrh # define ICOMM AWKFIXESME 395817Srrh # define ILCOMM AWKFIXESME 405817Srrh # define IFFLOAT AWKFIXESME 415817Srrh # define IDFLOAT AWKFIXESME 425817Srrh # define IGFLOAT AWKFIXESME 435817Srrh # define IHFLOAT AWKFIXESME 445817Srrh # define IORG AWKFIXESME 455817Srrh # define IASCII AWKFIXESME 465817Srrh # define IASCIZ AWKFIXESME 475817Srrh # define ILSYM AWKFIXESME 485817Srrh # define IFILE AWKFIXESME 495817Srrh # define ILINENO AWKFIXESME 505817Srrh # define IABORT AWKFIXESME 515817Srrh # define IFILL AWKFIXESME 525817Srrh /* 535817Srrh * Tokens between ISTAB and REG are used in the per token switch 545817Srrh */ 555817Srrh # define ISTAB AWKFIXESME 565817Srrh # define ISTABSTR AWKFIXESME 575817Srrh # define ISTABNONE AWKFIXESME 585817Srrh # define ISTABDOT AWKFIXESME 595817Srrh # define IJXXX AWKFIXESME 605817Srrh # define IALIGN AWKFIXESME 615817Srrh # define INST0 AWKFIXESME 625817Srrh # define INSTn AWKFIXESME 635817Srrh 645817Srrh # define BFINT AWKFIXESME 655817Srrh # define PARSEEOF AWKFIXESME 665817Srrh # define ILINESKIP AWKFIXESME 675817Srrh # define VOID AWKFIXESME 685817Srrh # define SKIP AWKFIXESME 695817Srrh # define INT AWKFIXESME 705817Srrh # define BIGNUM AWKFIXESME 715817Srrh # define NAME AWKFIXESME 725817Srrh # define STRING AWKFIXESME 735817Srrh /* 745817Srrh * Tokens between SIZESPEC and REGOP are used in the instruction 755817Srrh * argument switch 765817Srrh */ 775817Srrh # define SIZESPEC AWKFIXESME 785817Srrh # define REG AWKFIXESME 795817Srrh # define MUL AWKFIXESME 805817Srrh # define LITOP AWKFIXESME 815817Srrh # define LP AWKFIXESME 825817Srrh # define MP AWKFIXESME 835817Srrh /* 845817Srrh * Tokens between REGOP and DIV are used in the per character switch 855817Srrh */ 865817Srrh # define REGOP AWKFIXESME /*the percent sign*/ 875817Srrh # define NL AWKFIXESME 885817Srrh # define SCANEOF AWKFIXESME 895817Srrh # define BADCHAR AWKFIXESME 905817Srrh # define SP AWKFIXESME 915817Srrh # define ALPH AWKFIXESME 925817Srrh # define DIG AWKFIXESME 935817Srrh # define SQ AWKFIXESME 945817Srrh # define DQ AWKFIXESME 955817Srrh # define SH AWKFIXESME 965817Srrh # define LSH AWKFIXESME 975817Srrh # define RSH AWKFIXESME 985817Srrh # define MINUS AWKFIXESME 995817Srrh # define SIZEQUOTE AWKFIXESME 1005817Srrh /* 1015817Srrh * Tokens between XOR and RP are used at random (primarily by the 1025817Srrh * expression analyzer), and not used in any switch 1035817Srrh */ 1045817Srrh # define XOR AWKFIXESME 1055817Srrh # define DIV AWKFIXESME 1065817Srrh 1075817Srrh # define SEMI AWKFIXESME 1085817Srrh # define COLON AWKFIXESME 1095817Srrh # define PLUS AWKFIXESME 1105817Srrh # define IOR AWKFIXESME 1115817Srrh # define AND AWKFIXESME 1125817Srrh # define TILDE AWKFIXESME 1135817Srrh # define ORNOT AWKFIXESME 1145817Srrh # define CM AWKFIXESME 1155817Srrh # define LB AWKFIXESME 1165817Srrh # define RB AWKFIXESME 1175817Srrh # define RP AWKFIXESME 1185817Srrh 1195817Srrh # define LASTTOKEN AWKFIXESME 120