#include <stdio.h> #include <ctype.h> #include "draw_dag.h" #include "dag.h" #include "parsedag.h" #include "TrieFA.h" TrieState TrieStateTbl[140] = { { -1, 0, 0x4ef9bf }, { -1, 17, 0x40000 }, { AS, 18, 0x0 }, { -1, 18, 0x1 }, { -1, 19, 0x4 }, { -1, 20, 0x400 }, { -1, 21, 0x8010 }, { -1, 23, 0x8 }, { -1, 24, 0x40 }, { -1, 25, 0x10 }, { BACKEDGE, 26, 0x0 }, { -1, 26, 0x1 }, { -1, 27, 0x80000 }, { -1, 28, 0x80 }, { BACKPATH, 29, 0x0 }, { -1, 29, 0x4000 }, { -1, 30, 0x800 }, { -1, 31, 0x4000 }, { -1, 32, 0x20000 }, { COLOR, 33, 0x0 }, { -1, 33, 0x24001 }, { -1, 36, 0x40000 }, { -1, 37, 0x80 }, { -1, 38, 0x10 }, { -1, 39, 0x8 }, { DASHED, 40, 0x0 }, { -1, 40, 0x80000 }, { -1, 41, 0x80000 }, { -1, 42, 0x10 }, { -1, 43, 0x8 }, { DOTTED, 44, 0x0 }, { -1, 44, 0x1 }, { -1, 45, 0x400000 }, { DRAW, 46, 0x0 }, { -1, 46, 0x810008 }, { -1, 49, 0x40 }, { -1, 50, 0x10 }, { EDGE, 51, 0x40000 }, { EDGES, 52, 0x0 }, { -1, 52, 0x100000 }, { -1, 53, 0x1 }, { -1, 54, 0x800 }, { -1, 55, 0x800 }, { -1, 56, 0x1000000 }, { EQUALLY, 57, 0x0 }, { -1, 57, 0x1 }, { -1, 58, 0x4 }, { -1, 59, 0x80000 }, { -1, 60, 0x800 }, { -1, 61, 0x1000000 }, { EXACTLY, 62, 0x0 }, { -1, 62, 0x20000 }, { -1, 63, 0x4000 }, { -1, 64, 0x1000 }, { FROM, 65, 0x0 }, { -1, 65, 0x10 }, { -1, 66, 0x100 }, { -1, 67, 0x40 }, { -1, 68, 0x80 }, { -1, 69, 0x80000 }, { HEIGHT, 70, 0x0 }, { -1, 70, 0x2000 }, { -1, 71, 0x200000 }, { -1, 72, 0x100 }, { -1, 73, 0x40000 }, { INVIS, 74, 0x0 }, { -1, 74, 0x1 }, { -1, 75, 0x2 }, { -1, 76, 0x10 }, { -1, 77, 0x800 }, { LABEL, 78, 0x0 }, { -1, 78, 0x101 }, { -1, 80, 0x800000 }, { -1, 81, 0x100 }, { -1, 82, 0x1000 }, { -1, 83, 0x100000 }, { -1, 84, 0x1000 }, { MAXIMUM, 85, 0x0 }, { -1, 85, 0x2000 }, { -1, 86, 0x100 }, { -1, 87, 0x1000 }, { -1, 88, 0x100000 }, { -1, 89, 0x1000 }, { MINIMUM, 90, 0x0 }, { -1, 90, 0x4000 }, { -1, 91, 0x8 }, { -1, 92, 0x10 }, { -1, 93, 0x40000 }, { NODES, 94, 0x0 }, { -1, 94, 0x20000 }, { -1, 95, 0x8 }, { -1, 96, 0x10 }, { -1, 97, 0x20000 }, { -1, 98, 0x10 }, { -1, 99, 0x8 }, { ORDERED, 100, 0x0 }, { -1, 100, 0x4001 }, { -1, 102, 0x80000 }, { -1, 103, 0x80 }, { PATH, 104, 0x0 }, { -1, 104, 0x100 }, { -1, 105, 0x2000 }, { -1, 106, 0x80000 }, { -1, 107, 0x40000 }, { -1, 108, 0x100 }, { -1, 109, 0x2000000 }, { -1, 110, 0x10 }, { POINTSIZE, 111, 0x0 }, { -1, 111, 0x1 }, { -1, 112, 0x2000 }, { -1, 113, 0x400 }, { RANK, 114, 0x40000 }, { RANKS, 115, 0x0 }, { -1, 115, 0x4011 }, { -1, 118, 0x1000 }, { -1, 119, 0x10 }, { SAME, 120, 0x0 }, { -1, 120, 0x8000 }, { -1, 121, 0x1 }, { -1, 122, 0x20000 }, { -1, 123, 0x1 }, { -1, 124, 0x80000 }, { -1, 125, 0x10 }, { SEPARATE, 126, 0x0 }, { -1, 126, 0x800 }, { -1, 127, 0x100 }, { -1, 128, 0x8 }, { SOLID, 129, 0x0 }, { -1, 129, 0x4000 }, { TO, 130, 0x0 }, { -1, 130, 0x110 }, { -1, 132, 0x100 }, { -1, 133, 0x40 }, { -1, 134, 0x80 }, { -1, 135, 0x80000 }, { WEIGHT, 136, 0x0 }, { -1, 136, 0x8 }, { -1, 137, 0x80000 }, { -1, 138, 0x80 }, { WIDTH, 139, 0x0 }, }; TrieTrans TrieTransTbl[139] = { /* State 0 */ { 'e', 34 }, { 'd', 20 }, { 's', 113 }, { 'm', 71 }, { 'p', 96 }, { 'r', 108 }, { 'b', 3 }, { 'w', 130 }, { 'l', 66 }, { 'a', 1 }, { 'n', 84 }, { 'o', 89 }, { 'c', 15 }, { 'f', 51 }, { 'h', 55 }, { 't', 128 }, { 'i', 61 }, /* State 1 */ { 's', 2 }, /* State 3 */ { 'a', 4 }, /* State 4 */ { 'c', 5 }, /* State 5 */ { 'k', 6 }, /* State 6 */ { 'e', 7 }, { 'p', 11 }, /* State 7 */ { 'd', 8 }, /* State 8 */ { 'g', 9 }, /* State 9 */ { 'e', 10 }, /* State 11 */ { 'a', 12 }, /* State 12 */ { 't', 13 }, /* State 13 */ { 'h', 14 }, /* State 15 */ { 'o', 16 }, /* State 16 */ { 'l', 17 }, /* State 17 */ { 'o', 18 }, /* State 18 */ { 'r', 19 }, /* State 20 */ { 'a', 21 }, { 'o', 26 }, { 'r', 31 }, /* State 21 */ { 's', 22 }, /* State 22 */ { 'h', 23 }, /* State 23 */ { 'e', 24 }, /* State 24 */ { 'd', 25 }, /* State 26 */ { 't', 27 }, /* State 27 */ { 't', 28 }, /* State 28 */ { 'e', 29 }, /* State 29 */ { 'd', 30 }, /* State 31 */ { 'a', 32 }, /* State 32 */ { 'w', 33 }, /* State 34 */ { 'd', 35 }, { 'q', 39 }, { 'x', 45 }, /* State 35 */ { 'g', 36 }, /* State 36 */ { 'e', 37 }, /* State 37 */ { 's', 38 }, /* State 39 */ { 'u', 40 }, /* State 40 */ { 'a', 41 }, /* State 41 */ { 'l', 42 }, /* State 42 */ { 'l', 43 }, /* State 43 */ { 'y', 44 }, /* State 45 */ { 'a', 46 }, /* State 46 */ { 'c', 47 }, /* State 47 */ { 't', 48 }, /* State 48 */ { 'l', 49 }, /* State 49 */ { 'y', 50 }, /* State 51 */ { 'r', 52 }, /* State 52 */ { 'o', 53 }, /* State 53 */ { 'm', 54 }, /* State 55 */ { 'e', 56 }, /* State 56 */ { 'i', 57 }, /* State 57 */ { 'g', 58 }, /* State 58 */ { 'h', 59 }, /* State 59 */ { 't', 60 }, /* State 61 */ { 'n', 62 }, /* State 62 */ { 'v', 63 }, /* State 63 */ { 'i', 64 }, /* State 64 */ { 's', 65 }, /* State 66 */ { 'a', 67 }, /* State 67 */ { 'b', 68 }, /* State 68 */ { 'e', 69 }, /* State 69 */ { 'l', 70 }, /* State 71 */ { 'a', 72 }, { 'i', 78 }, /* State 72 */ { 'x', 73 }, /* State 73 */ { 'i', 74 }, /* State 74 */ { 'm', 75 }, /* State 75 */ { 'u', 76 }, /* State 76 */ { 'm', 77 }, /* State 78 */ { 'n', 79 }, /* State 79 */ { 'i', 80 }, /* State 80 */ { 'm', 81 }, /* State 81 */ { 'u', 82 }, /* State 82 */ { 'm', 83 }, /* State 84 */ { 'o', 85 }, /* State 85 */ { 'd', 86 }, /* State 86 */ { 'e', 87 }, /* State 87 */ { 's', 88 }, /* State 89 */ { 'r', 90 }, /* State 90 */ { 'd', 91 }, /* State 91 */ { 'e', 92 }, /* State 92 */ { 'r', 93 }, /* State 93 */ { 'e', 94 }, /* State 94 */ { 'd', 95 }, /* State 96 */ { 'a', 97 }, { 'o', 100 }, /* State 97 */ { 't', 98 }, /* State 98 */ { 'h', 99 }, /* State 100 */ { 'i', 101 }, /* State 101 */ { 'n', 102 }, /* State 102 */ { 't', 103 }, /* State 103 */ { 's', 104 }, /* State 104 */ { 'i', 105 }, /* State 105 */ { 'z', 106 }, /* State 106 */ { 'e', 107 }, /* State 108 */ { 'a', 109 }, /* State 109 */ { 'n', 110 }, /* State 110 */ { 'k', 111 }, /* State 111 */ { 's', 112 }, /* State 113 */ { 'a', 114 }, { 'e', 117 }, { 'o', 124 }, /* State 114 */ { 'm', 115 }, /* State 115 */ { 'e', 116 }, /* State 117 */ { 'p', 118 }, /* State 118 */ { 'a', 119 }, /* State 119 */ { 'r', 120 }, /* State 120 */ { 'a', 121 }, /* State 121 */ { 't', 122 }, /* State 122 */ { 'e', 123 }, /* State 124 */ { 'l', 125 }, /* State 125 */ { 'i', 126 }, /* State 126 */ { 'd', 127 }, /* State 128 */ { 'o', 129 }, /* State 130 */ { 'e', 131 }, { 'i', 136 }, /* State 131 */ { 'i', 132 }, /* State 132 */ { 'g', 133 }, /* State 133 */ { 'h', 134 }, /* State 134 */ { 't', 135 }, /* State 136 */ { 'd', 137 }, /* State 137 */ { 't', 138 }, /* State 138 */ { 'h', 139 }, };