|
|
BSD 4.3
#include "lex.h"
/*
* State tables for operator recognition.
*/
struct optab state0[] = { /* initial state */
{ ',', A_IMMRET, (int) &toktab[ ] }, /* "," */
{ '.', A_IMMRET, (int) &toktab[ ] }, /* "." */
{ '[', A_IMMRET, (int) &toktab[ ] }, /* "[" */
{ ']', A_IMMRET, (int) &toktab[ ] }, /* "]" */
{ '(', A_IMMRET, (int) &toktab[ ] }, /* "(" */
{ ')', A_IMMRET, (int) &toktab[ ] }, /* ")" */
{ ';', A_IMMRET, (int) &toktab[ ] }, /* ";" */
{ '{', A_IMMRET, (int) &toktab[ ] }, /* "{" */
{ '}', A_IMMRET, (int) &toktab[ ] }, /* "}" */
{ '!', A_IMMRET, (int) &toktab[ ] }, /* "!" */
{ '\\', A_IMMRET, (int) &toktab[ ] }, /* "\\" */
{ ':', A_GOTO, (int) state1 }, /* ":" ... */
{ '<', A_GOTO, (int) state2 }, /* "<" ... */
{ '>', A_GOTO, (int) state4 }, /* ">" ... */
{ '=', A_GOTO, (int) state5 }, /* "=" ... */
{ '|', A_GOTO, (int) state3 }, /* "|" ... */
{ '+', A_GOTO, (int) state7 }, /* "+" ... */
{ '-', A_GOTO, (int) state8 }, /* "-" ... */
{ '*', A_GOTO, (int) state9 }, /* "*" ... */
{ '^', A_GOTO, (int) state6 }, /* "^" ... */
{ '~', A_GOTO, (int) state29 }, /* "~" ... */
{ '/', A_GOTO, (int) state21 }, /* "/" ... */
{ '%', A_GOTO, (int) state30 }, /* "%" ... */
{ '?', A_GOTO, (int) state36 }, /* "?" ... */
{ '&', A_GOTO, (int) state38 }, /* "&" ... */
{ '@', A_GOTO, (int) state40 }, /* "@" ... */
{ 0, A_ERROR, 0 }
};
struct optab state1[] = { /* ":" */
{ '=', A_GOTO, (int) state10 }, /* ":=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* ":" */
};
struct optab state2[] = { /* "<" */
{ '-', A_GOTO, (int) state11 }, /* "<-" ... */
{ '<', A_GOTO, (int) state32 }, /* "<<" ... */
{ ':', A_GOTO, (int) state46 }, /* "<:" ... */
{ '=', A_GOTO, (int) state56 }, /* "<=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "<" */
};
struct optab state3[] = { /* "|" */
{ '|', A_GOTO, (int) state22 }, /* "||" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "|" */
};
struct optab state4[] = { /* ">" */
{ '>', A_GOTO, (int) state33 }, /* ">>" ... */
{ ':', A_GOTO, (int) state44 }, /* ">:" ... */
{ '=', A_GOTO, (int) state57 }, /* ">=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* ">" */
};
struct optab state5[] = { /* "=" */
{ '=', A_GOTO, (int) state12 }, /* "==" ... */
{ ':', A_GOTO, (int) state42 }, /* "=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "=" */
};
struct optab state6[] = { /* "^" */
{ ':', A_GOTO, (int) state23 }, /* "^:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "^" */
};
struct optab state7[] = { /* "+" */
{ ':', A_GOTO, (int) state15 }, /* "+:" ... */
{ '+', A_GOTO, (int) state16 }, /* "++" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "+" */
};
struct optab state8[] = { /* "-" */
{ ':', A_GOTO, (int) state17 }, /* "-:" ... */
{ '-', A_GOTO, (int) state18 }, /* "--" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "-" */
};
struct optab state9[] = { /* "*" */
{ ':', A_GOTO, (int) state19 }, /* "*:" ... */
{ '*', A_GOTO, (int) state20 }, /* "**" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "*" */
};
struct optab state10[] = { /* ":=" */
{ ':', A_IMMRET, (int) &toktab[ ] }, /* ":=:" */
{ 0, A_RETURN, (int) &toktab[ ] } /* ":=" */
};
struct optab state11[] = { /* "<-" */
{ '>', A_IMMRET, (int) &toktab[ ] }, /* "<->" */
{ 0, A_RETURN, (int) &toktab[ ] } /* "<-" */
};
struct optab state12[] = { /* "==" */
{ '=', A_GOTO, (int) state61 }, /* "===" ... */
{ ':', A_GOTO, (int) state48 }, /* "==:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "==" */
};
struct optab state13[] = { /* "~=" */
{ '=', A_GOTO, (int) state14 }, /* "~==" ... */
{ ':', A_GOTO, (int) state43 }, /* "~=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "~=" */
};
struct optab state14[] = { /* "~==" */
{ ':', A_GOTO, (int) state49 }, /* "~==:" ... */
{ '=', A_GOTO, (int) state60 }, /* "~===" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "~==" */
};
struct optab state15[] = { /* "+:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "+:=" */
{ 0, A_RETURN, (int) &toktab[ ] } /* "+:" */
};
struct optab state16[] = { /* "++" */
{ ':', A_GOTO, (int) state24 }, /* "++:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "++" */
};
struct optab state17[] = { /* "-:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "-:=" */
{ 0, A_RETURN, (int) &toktab[ ] } /* "-:" */
};
struct optab state18[] = { /* "--" */
{ ':', A_GOTO, (int) state25 }, /* "--:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "--" */
};
struct optab state19[] = { /* "*:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "*:=" */
{ 0, A_ERROR, 0 }
};
struct optab state20[] = { /* "**" */
{ ':', A_GOTO, (int) state26 }, /* "**:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "**" */
};
struct optab state21[] = { /* "/" */
{ ':', A_GOTO, (int) state27 }, /* "/:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "/" */
};
struct optab state22[] = { /* "||" */
{ ':', A_GOTO, (int) state28 }, /* "||:" ... */
{ '|', A_GOTO, (int) state34 }, /* "|||" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "||" */
};
struct optab state23[] = { /* "^:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "^:=" */
{ 0, A_ERROR, 0 }
};
struct optab state24[] = { /* "++:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "++:=" */
{ 0, A_ERROR, 0 }
};
struct optab state25[] = { /* "--:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "--:=" */
{ 0, A_ERROR, 0 }
};
struct optab state26[] = { /* "**:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "**:=" */
{ 0, A_ERROR, 0 }
};
struct optab state27[] = { /* "/:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "/:=" */
{ 0, A_ERROR, 0 }
};
struct optab state28[] = { /* "||:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "||:=" */
{ 0, A_ERROR, 0 }
};
struct optab state29[] = { /* "~" */
{ '=', A_GOTO, (int) state13 }, /* "~=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "~" */
};
struct optab state30[] = { /* "%" */
{ ':', A_GOTO, (int) state31 }, /* "%:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "%" */
};
struct optab state31[] = { /* "%:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "%:=" */
{ 0, A_ERROR, 0 }
};
struct optab state32[] = { /* "<<" */
{ ':', A_GOTO, (int) state52 }, /* "<<:" ... */
{ '=', A_GOTO, (int) state58 }, /* "<<=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "<<" */
};
struct optab state33[] = { /* ">>" */
{ ':', A_GOTO, (int) state50 }, /* ">>:" ... */
{ '=', A_GOTO, (int) state59 }, /* ">>=" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* ">>" */
};
struct optab state34[] = { /* "|||" */
{ ':', A_GOTO, (int) state35 }, /* "|||:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "|||" */
};
struct optab state35[] = { /* "|||:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "|||:=" */
{ 0, A_ERROR, 0 }
};
struct optab state36[] = { /* "?" */
{ ':', A_GOTO, (int) state37 }, /* "?:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "?" */
};
struct optab state37[] = { /* "?:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "?:=" */
{ 0, A_ERROR, 0 }
};
struct optab state38[] = { /* "&" */
{ ':', A_GOTO, (int) state39 }, /* "&:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "&" */
};
struct optab state39[] = { /* "&:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "&:=" */
{ 0, A_ERROR, 0 }
};
struct optab state40[] = { /* "@" */
{ ':', A_GOTO, (int) state41 }, /* "@:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "@" */
};
struct optab state41[] = { /* "@:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "@:=" */
{ 0, A_ERROR, 0 }
};
struct optab state42[] = { /* "=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state43[] = { /* "~=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "~=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state44[] = { /* ">:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* ">:=" */
{ 0, A_ERROR, 0 }
};
struct optab state45[] = { /* ">=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* ">=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state46[] = { /* "<:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "<:=" */
{ 0, A_ERROR, 0 }
};
struct optab state47[] = { /* "<=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "<=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state48[] = { /* "==:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "==:=" */
{ 0, A_ERROR, 0 }
};
struct optab state49[] = { /* "~==:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "~==:=" */
{ 0, A_ERROR, 0 }
};
struct optab state50[] = { /* ">>:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* ">>:=" */
{ 0, A_ERROR, 0 }
};
struct optab state51[] = { /* ">>=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* ">>=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state52[] = { /* "<<:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "<<:=" */
{ 0, A_ERROR, 0 }
};
struct optab state53[] = { /* "<<=:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "<<=:=" */
{ 0, A_ERROR, 0 }
};
struct optab state54[] = { /* "===:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "===:=" */
{ 0, A_ERROR, 0 }
};
struct optab state55[] = { /* "~===:" */
{ '=', A_IMMRET, (int) &toktab[ ] }, /* "~===:=" */
{ 0, A_ERROR, 0 }
};
struct optab state56[] = { /* "<=" */
{ ':', A_GOTO, (int) state47 }, /* "<=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "<=" */
};
struct optab state57[] = { /* ">=" */
{ ':', A_GOTO, (int) state45 }, /* ">=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* ">=" */
};
struct optab state58[] = { /* "<<=" */
{ ':', A_GOTO, (int) state53 }, /* "<<=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "<<=" */
};
struct optab state59[] = { /* ">>=" */
{ ':', A_GOTO, (int) state51 }, /* ">>=:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* ">>=" */
};
struct optab state60[] = { /* "~===" */
{ ':', A_GOTO, (int) state55 }, /* "~===:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "~===" */
};
struct optab state61[] = { /* "===" */
{ ':', A_GOTO, (int) state54 }, /* "===:" ... */
{ 0, A_RETURN, (int) &toktab[ ] } /* "===" */
};
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.