/* [cmd_lim.c] Scanner table for 'cmd' */ #include "scn_io.h" #include "scn_imp.h" /* scanner group 'cmd' */ static long cmdStaEdg[99] = /* first edge per state */ { 0, 38, 39, 40, 43, 45, 46, 47, 60, 73, 87, 88, 93, 98, 101, 110, 121, 134, 135, 155, 160, 165, 170, 173, 176, 179, 194, 195, 217, 222, 223, 230, 237, 244, 257, 262, 265, 268, 273, 276, 279, 282, 283, 296, 309, 329, 334, 337, 340, 355, 358, 359, 362, 365, 368, 371, 374, 384, 387, 390, 393, 396, 401, 404, 407, 414, 417, 424, 427, 436, 439, 452, 455, 468, 471, 472, 481, 488, 507, 510, 520, 531, 547, 551, 558, 563, 579, 587, 600, 611, 620, 626, 632, 641, 647, 653, 654, 660, 666 }; static short cmdStaFin[98] = /* finite token per state */ { 0, 2, 3, 2, 4, 1, 9, 0, 20, 0, 5, 0, 9, 7, 7, 6, 6, 11, 0, 20, 0, 0, 0, 0, 18, 18, 10, 18, 14, 12, 8, 8, 0, 6, 0, 0, 0, 0, 0, 0, 0, 18, 0, 18, 0, 0, 0, 8, 6, 0, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 19, 0, 17, 0, 0, 17, 0, 0, 0, 15, 0, 0, 0, 0, 17, 0, 0, 16, 0, 0, 17, 0, 0 }; static wc_char cmdEdgeC[666] = /* lowest character per edge */ { /*State*/ /* 0 */ 255, 128, 127, 126, 125, 124, 123, 101, 100, 97, 96, 94, 93, 92, 91, 65, 58, 49, 48, 47, 46, 45, 42, 40, 39, 36, 35, 34, 33, 32, 27, 26, 14, 13, 12, 11, 10, 0, /* 1 */ 0, /* 2 */ 0, /* 3 */ 11, 10, 0, /* 4 */ 256, 0, /* 5 */ 0, /* 6 */ 0, /* 7 */ 255, 128, 127, 97, 96, 93, 92, 40, 39, 35, 34, 32, 0, /* 8 */ 255, 128, 127, 118, 117, 110, 109, 106, 105, 102, 101, 32, 0, /* 9 */ 256, 255, 128, 127, 97, 96, 93, 92, 40, 39, 35, 34, 32, 0, /* 10 */ 0, /* 11 */ 58, 48, 46, 45, 0, /* 12 */ 58, 49, 47, 46, 0, /* 13 */ 58, 48, 0, /* 14 */ 102, 101, 70, 69, 58, 48, 47, 46, 0, /* 15 */ 123, 97, 96, 95, 91, 65, 58, 48, 46, 45, 0, /* 16 */ 123, 112, 111, 97, 96, 95, 91, 65, 58, 48, 46, 45, 0, /* 17 */ 0, /* 18 */ 117, 116, 115, 114, 113, 112, 111, 110, 103, 97, 96, 93, 92, 58, 48, 40, 39, 35, 34, 0, /* 19 */ 255, 128, 127, 32, 0, /* 20 */ 111, 110, 109, 108, 0, /* 21 */ 111, 110, 103, 102, 0, /* 22 */ 98, 97, 0, /* 23 */ 111, 110, 0, /* 24 */ 46, 45, 0, /* 25 */ 255, 128, 127, 97, 96, 93, 92, 46, 45, 40, 39, 35, 34, 32, 0, /* 26 */ 0, /* 27 */ 117, 116, 115, 114, 113, 112, 111, 110, 103, 97, 96, 93, 92, 58, 48, 46, 45, 40, 39, 35, 34, 0, /* 28 */ 255, 128, 127, 32, 0, /* 29 */ 0, /* 30 */ 102, 101, 70, 69, 58, 48, 0, /* 31 */ 102, 101, 70, 69, 58, 49, 0, /* 32 */ 58, 49, 46, 45, 44, 43, 0, /* 33 */ 123, 100, 99, 97, 96, 95, 91, 65, 58, 48, 46, 45, 0, /* 34 */ 103, 97, 58, 48, 0, /* 35 */ 116, 115, 0, /* 36 */ 101, 100, 0, /* 37 */ 111, 110, 101, 100, 0, /* 38 */ 100, 99, 0, /* 39 */ 100, 99, 0, /* 40 */ 101, 100, 0, /* 41 */ 0, /* 42 */ 255, 128, 127, 97, 96, 93, 92, 40, 39, 35, 34, 32, 0, /* 43 */ 255, 128, 127, 97, 96, 93, 92, 40, 39, 35, 34, 32, 0, /* 44 */ 117, 116, 115, 114, 113, 112, 111, 110, 103, 97, 96, 93, 92, 58, 48, 40, 39, 35, 34, 0, /* 45 */ 103, 97, 58, 48, 0, /* 46 */ 58, 49, 0, /* 47 */ 58, 48, 0, /* 48 */ 123, 97, 96, 95, 91, 65, 58, 48, 46, 45, 14, 13, 11, 10, 0, /* 49 */ 102, 101, 0, /* 50 */ 0, /* 51 */ 102, 101, 0, /* 52 */ 101, 100, 0, /* 53 */ 109, 108, 0, /* 54 */ 115, 114, 0, /* 55 */ 102, 101, 0, /* 56 */ 100, 99, 33, 32, 14, 13, 12, 11, 10, 0, /* 57 */ 103, 102, 0, /* 58 */ 118, 117, 0, /* 59 */ 112, 111, 0, /* 60 */ 103, 102, 0, /* 61 */ 14, 13, 11, 10, 0, /* 62 */ 33, 32, 0, /* 63 */ 112, 111, 0, /* 64 */ 33, 32, 14, 12, 11, 10, 0, /* 65 */ 101, 100, 0, /* 66 */ 33, 32, 14, 12, 11, 10, 0, /* 67 */ 106, 105, 0, /* 68 */ 255, 128, 127, 32, 14, 13, 11, 10, 0, /* 69 */ 101, 100, 0, /* 70 */ 123, 97, 96, 95, 91, 65, 33, 32, 14, 12, 11, 10, 0, /* 71 */ 102, 101, 0, /* 72 */ 123, 97, 96, 95, 91, 65, 33, 32, 14, 12, 11, 10, 0, /* 73 */ 111, 110, 0, /* 74 */ 0, /* 75 */ 123, 97, 96, 95, 91, 65, 58, 48, 0, /* 76 */ 33, 32, 14, 12, 11, 10, 0, /* 77 */ 123, 97, 96, 95, 91, 65, 62, 61, 58, 48, 41, 40, 33, 32, 14, 12, 11, 10, 0, /* 78 */ 102, 101, 0, /* 79 */ 255, 128, 127, 33, 32, 14, 12, 11, 10, 0, /* 80 */ 62, 61, 41, 40, 33, 32, 14, 12, 11, 10, 0, /* 81 */ 255, 128, 127, 62, 61, 45, 44, 42, 41, 33, 32, 14, 12, 11, 10, 0, /* 82 */ 256, 36, 35, 0, /* 83 */ 33, 32, 14, 12, 11, 10, 0, /* 84 */ 255, 128, 127, 33, 0, /* 85 */ 255, 128, 127, 62, 61, 45, 44, 42, 41, 33, 32, 14, 12, 11, 10, 0, /* 86 */ 256, 110, 109, 102, 101, 36, 35, 0, /* 87 */ 123, 97, 96, 95, 91, 65, 33, 32, 14, 12, 11, 10, 0, /* 88 */ 45, 44, 42, 41, 33, 32, 14, 12, 11, 10, 0, /* 89 */ 62, 61, 33, 32, 14, 12, 11, 10, 0, /* 90 */ 256, 111, 110, 36, 35, 0, /* 91 */ 256, 98, 97, 36, 35, 0, /* 92 */ 123, 97, 96, 95, 91, 65, 58, 48, 0, /* 93 */ 256, 101, 100, 36, 35, 0, /* 94 */ 256, 100, 99, 36, 35, 0, /* 95 */ 0, /* 96 */ 256, 115, 114, 36, 35, 0, /* 97 */ 256, 112, 111, 36, 35, 0 }; static long cmdEdgeS[666] = /* follow (state+1) per edge */ { /*State*/ /* 0 */ 0, 7, 0, 7, 11, 7, 11, 16, 17, 16, 0, 7, 11, 0, 11, 16, 7, 15, 14, 7, 13, 12, 7, 11, 10, 7, 9, 8, 7, 6, 0, 5, 0, 4, 3, 0, 2, 0, /* 1 */ 0, /* 2 */ 0, /* 3 */ 0, 2, 0, /* 4 */ 0, 5, /* 5 */ 0, /* 6 */ 0, /* 7 */ 0, 8, 0, 8, 0, 8, 19, 8, 0, 8, 18, 8, 0, /* 8 */ 0, 20, 0, 20, 24, 20, 23, 20, 22, 20, 21, 20, 0, /* 9 */ 0, 25, 26, 25, 26, 25, 26, 28, 26, 27, 26, 25, 26, 25, /* 10 */ 0, /* 11 */ 0, 14, 0, 29, 0, /* 12 */ 0, 31, 0, 30, 0, /* 13 */ 0, 14, 0, /* 14 */ 0, 33, 0, 33, 0, 15, 0, 32, 0, /* 15 */ 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, /* 16 */ 0, 16, 34, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, /* 17 */ 0, /* 18 */ 0, 8, 0, 8, 0, 8, 0, 8, 0, 35, 8, 0, 8, 0, 35, 0, 8, 0, 8, 0, /* 19 */ 0, 20, 0, 20, 0, /* 20 */ 0, 37, 0, 36, 0, /* 21 */ 0, 39, 0, 38, 0, /* 22 */ 0, 40, 0, /* 23 */ 0, 41, 0, /* 24 */ 0, 42, 0, /* 25 */ 0, 43, 0, 43, 0, 43, 45, 43, 44, 43, 27, 43, 0, 43, 0, /* 26 */ 0, /* 27 */ 0, 43, 0, 43, 0, 43, 0, 43, 0, 46, 43, 0, 43, 0, 46, 0, 42, 0, 43, 0, 43, 0, /* 28 */ 0, 29, 0, 29, 0, /* 29 */ 0, /* 30 */ 0, 33, 0, 33, 0, 31, 0, /* 31 */ 0, 33, 0, 33, 0, 31, 0, /* 32 */ 0, 48, 0, 47, 0, 47, 0, /* 33 */ 0, 16, 49, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, /* 34 */ 0, 8, 0, 8, 0, /* 35 */ 0, 50, 0, /* 36 */ 0, 51, 0, /* 37 */ 0, 53, 0, 52, 0, /* 38 */ 0, 54, 0, /* 39 */ 0, 55, 0, /* 40 */ 0, 56, 0, /* 41 */ 0, /* 42 */ 0, 43, 0, 43, 0, 43, 45, 43, 27, 43, 0, 43, 0, /* 43 */ 0, 43, 0, 43, 0, 43, 45, 43, 27, 43, 0, 43, 0, /* 44 */ 0, 43, 0, 43, 0, 43, 0, 43, 0, 46, 43, 0, 43, 0, 46, 0, 43, 0, 43, 0, /* 45 */ 0, 43, 0, 43, 0, /* 46 */ 0, 48, 0, /* 47 */ 0, 48, 0, /* 48 */ 0, 16, 0, 16, 0, 16, 0, 16, 0, 16, 0, 57, 0, 57, 0, /* 49 */ 0, 51, 0, /* 50 */ 0, /* 51 */ 0, 58, 0, /* 52 */ 0, 52, 0, /* 53 */ 0, 59, 0, /* 54 */ 0, 60, 0, /* 55 */ 0, 61, 0, /* 56 */ 0, 64, 0, 63, 0, 57, 62, 0, 57, 0, /* 57 */ 0, 65, 0, /* 58 */ 0, 66, 0, /* 59 */ 0, 67, 0, /* 60 */ 0, 68, 0, /* 61 */ 0, 57, 0, 57, 0, /* 62 */ 0, 69, 0, /* 63 */ 0, 70, 0, /* 64 */ 0, 71, 0, 71, 0, 71, 0, /* 65 */ 0, 72, 0, /* 66 */ 0, 73, 0, 73, 0, 73, 0, /* 67 */ 0, 74, 0, /* 68 */ 0, 69, 0, 69, 0, 57, 0, 57, 0, /* 69 */ 0, 75, 0, /* 70 */ 0, 76, 0, 76, 0, 76, 0, 71, 0, 71, 0, 71, 0, /* 71 */ 0, 77, 0, /* 72 */ 0, 78, 0, 78, 0, 78, 0, 73, 0, 73, 0, 73, 0, /* 73 */ 0, 79, 0, /* 74 */ 0, /* 75 */ 0, 76, 0, 76, 0, 76, 0, 76, 0, /* 76 */ 0, 80, 0, 80, 0, 80, 0, /* 77 */ 0, 78, 0, 78, 0, 78, 0, 83, 0, 78, 0, 82, 0, 81, 0, 81, 0, 81, 0, /* 78 */ 0, 84, 0, /* 79 */ 0, 85, 0, 85, 80, 0, 80, 0, 80, 0, /* 80 */ 0, 83, 0, 82, 0, 81, 0, 81, 0, 81, 0, /* 81 */ 0, 86, 0, 86, 0, 86, 0, 86, 0, 86, 82, 0, 82, 0, 82, 0, /* 82 */ 0, 83, 87, 83, /* 83 */ 0, 88, 0, 88, 0, 88, 0, /* 84 */ 0, 85, 0, 85, 0, /* 85 */ 0, 86, 0, 86, 0, 86, 82, 86, 90, 86, 89, 0, 89, 0, 89, 0, /* 86 */ 0, 83, 92, 83, 91, 83, 87, 83, /* 87 */ 0, 93, 0, 93, 0, 93, 0, 88, 0, 88, 0, 88, 0, /* 88 */ 0, 82, 0, 90, 0, 89, 0, 89, 0, 89, 0, /* 89 */ 0, 83, 0, 90, 0, 90, 0, 90, 0, /* 90 */ 0, 83, 94, 83, 87, 83, /* 91 */ 0, 83, 95, 83, 87, 83, /* 92 */ 0, 93, 0, 93, 0, 93, 0, 93, 0, /* 93 */ 0, 83, 96, 83, 87, 83, /* 94 */ 0, 83, 97, 83, 87, 83, /* 95 */ 0, /* 96 */ 0, 83, 98, 83, 87, 83, /* 97 */ 0, 83, 0, 83, 87, 83 }; static string cmdTokens[21] = /* token -> string */ { "[other]", "Space", "Line", "Page", "Etx", "Parenthesis", "Ide", "Int", "Flo", "Opr", "Set", "Seq", "Pth", "Doc", "Dol", "MacInc", "MacDel", "MacDfn", "MacSep", "MacCond", "Comment" }; static byte cmdFlags[21] = /* token -> newid */ { 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; static ConcreteImp(scn_t) cmdScanner = /* the scanner structure */ { "cmd", /* Name */ 98, /* States */ 21, /* Tokens */ cmdStaEdg, cmdStaFin, cmdEdgeC, cmdEdgeS, cmdTokens, cmdFlags, 0, /* Groups */ (scn_t*)NULL, (short*)NULL, 0, /* Dyck */ (short*)NULL, (scn_t*)NULL }; void Scn_get_cmd(Scn_T *scn) /* simulates a Scn_get */ { *scn = Scn_copy(Scn_ADT(&cmdScanner)); }