--------------------------------------------------------------- NOTE: This output is from a Scanner that recognizes "Junk" and "UnsignedInt" tokens as well as Identifiers. Assignment 3 only requires you to recognize the Identifiers. --------------------------------------------------------------- Successfully opened input stream 'main.c' INIT: The Scanner defines 6 token types Now scanning for tokens from 'main.c' 00001 type 3 'Junk ' line 1 is '/* ' 00001 type 4 'Identifier ' line 1 is 'PURPOSE' 00002 type 3 'Junk ' line 2 is ': * ' 00002 type 4 'Identifier ' line 2 is 'The' 00003 type 4 'Identifier ' line 2 is 'MAIN' 00004 type 4 'Identifier ' line 2 is 'function' 00003 type 3 'Junk ' line 3 is ': * ' 00005 type 4 'Identifier ' line 3 is 'Open' 00006 type 4 'Identifier ' line 3 is 'an' 00007 type 4 'Identifier ' line 3 is 'input' 00008 type 4 'Identifier ' line 3 is 'stream' 00004 type 3 'Junk ' line 3 is '; ' 00009 type 4 'Identifier ' line 3 is 'scan' 00005 type 3 'Junk ' line 3 is ', ' 00010 type 4 'Identifier ' line 3 is 'count' 00006 type 3 'Junk ' line 3 is ', ' 00011 type 4 'Identifier ' line 3 is 'and' 00012 type 4 'Identifier ' line 3 is 'print' 00013 type 4 'Identifier ' line 3 is 'tokens' 00014 type 4 'Identifier ' line 3 is 'until' 00015 type 4 'Identifier ' line 3 is 'EOF' 00007 type 3 'Junk ' line 4 is '. * ' 00016 type 4 'Identifier ' line 4 is 'HISTORY' 00008 type 3 'Junk ' line 5 is ': * ' 00017 type 4 'Identifier ' line 5 is 'Ian' 00018 type 4 'Identifier ' line 5 is 'D' 00009 type 3 'Junk ' line 5 is '. ' 00019 type 4 'Identifier ' line 5 is 'Allen' 00020 type 4 'Identifier ' line 5 is 'idallen' 00010 type 3 'Junk ' line 5 is '@' 00021 type 4 'Identifier ' line 5 is 'freenet' 00011 type 3 'Junk ' line 5 is '.' 00022 type 4 'Identifier ' line 5 is 'carleton' 00012 type 3 'Junk ' line 5 is '.' 00023 type 4 'Identifier ' line 5 is 'ca' 00013 type 3 'Junk ' line 6 is '* ' 00024 type 4 'Identifier ' line 6 is 'ALGORITHM' 00014 type 3 'Junk ' line 7 is ': * ' 00025 type 4 'Identifier ' line 7 is 'Initialize' 00026 type 4 'Identifier ' line 7 is 'a' 00027 type 4 'Identifier ' line 7 is 'file' 00028 type 4 'Identifier ' line 7 is 'name' 00029 type 4 'Identifier ' line 7 is 'buffer' 00015 type 3 'Junk ' line 8 is '* ' 00030 type 4 'Identifier ' line 8 is 'LOOP' 00016 type 3 'Junk ' line 9 is ': * ' 00031 type 4 'Identifier ' line 9 is 'Clear' 00032 type 4 'Identifier ' line 9 is 'the' 00033 type 4 'Identifier ' line 9 is 'file' 00034 type 4 'Identifier ' line 9 is 'name' 00035 type 4 'Identifier ' line 9 is 'buffer' 00017 type 3 'Junk ' line 10 is '* ' 00036 type 4 'Identifier ' line 10 is 'CALL' 00037 type 4 'Identifier ' line 10 is 'a' 00038 type 4 'Identifier ' line 10 is 'function' 00039 type 4 'Identifier ' line 10 is 'to' 00040 type 4 'Identifier ' line 10 is 'prompt' 00041 type 4 'Identifier ' line 10 is 'for' 00042 type 4 'Identifier ' line 10 is 'a' 00043 type 4 'Identifier ' line 10 is 'good' 00044 type 4 'Identifier ' line 10 is 'file' 00045 type 4 'Identifier ' line 10 is 'name' 00046 type 4 'Identifier ' line 10 is 'and' 00047 type 4 'Identifier ' line 10 is 'open' 00048 type 4 'Identifier ' line 10 is 'the' 00049 type 4 'Identifier ' line 10 is 'file' 00018 type 3 'Junk ' line 11 is '* ' 00050 type 4 'Identifier ' line 11 is 'UNTIL' 00051 type 4 'Identifier ' line 11 is 'we' 00052 type 4 'Identifier ' line 11 is 'have' 00053 type 4 'Identifier ' line 11 is 'an' 00054 type 4 'Identifier ' line 11 is 'open' 00055 type 4 'Identifier ' line 11 is 'stream' 00019 type 3 'Junk ' line 11 is ', ' 00056 type 4 'Identifier ' line 11 is 'or' 00057 type 4 'Identifier ' line 11 is 'no' 00058 type 4 'Identifier ' line 11 is 'file' 00059 type 4 'Identifier ' line 11 is 'name' 00020 type 3 'Junk ' line 11 is ', ' 00060 type 4 'Identifier ' line 11 is 'or' 00061 type 4 'Identifier ' line 11 is 'hit' 00062 type 4 'Identifier ' line 11 is 'EOF' 00021 type 3 'Junk ' line 12 is '* ' 00063 type 4 'Identifier ' line 12 is 'IF' 00064 type 4 'Identifier ' line 12 is 'we' 00065 type 4 'Identifier ' line 12 is 'have' 00066 type 4 'Identifier ' line 12 is 'no' 00067 type 4 'Identifier ' line 12 is 'open' 00068 type 4 'Identifier ' line 12 is 'stream' 00022 type 3 'Junk ' line 12 is ', ' 00069 type 4 'Identifier ' line 12 is 'quit' 00070 type 4 'Identifier ' line 12 is 'the' 00071 type 4 'Identifier ' line 12 is 'program' 00023 type 3 'Junk ' line 13 is '* ' 00072 type 4 'Identifier ' line 13 is 'Initialize' 00073 type 4 'Identifier ' line 13 is 'the' 00074 type 4 'Identifier ' line 13 is 'scanner' 00024 type 3 'Junk ' line 14 is '* ' 00075 type 4 'Identifier ' line 14 is 'LOOP' 00025 type 3 'Junk ' line 15 is ': * ' 00076 type 4 'Identifier ' line 15 is 'CALL' 00077 type 4 'Identifier ' line 15 is 'the' 00078 type 4 'Identifier ' line 15 is 'scanner' 00079 type 4 'Identifier ' line 15 is 'to' 00080 type 4 'Identifier ' line 15 is 'get' 00081 type 4 'Identifier ' line 15 is 'a' 00082 type 4 'Identifier ' line 15 is 'token' 00083 type 4 'Identifier ' line 15 is 'from' 00084 type 4 'Identifier ' line 15 is 'the' 00085 type 4 'Identifier ' line 15 is 'stream' 00026 type 3 'Junk ' line 16 is '* ' 00086 type 4 'Identifier ' line 16 is 'PRINT' 00087 type 4 'Identifier ' line 16 is 'the' 00088 type 4 'Identifier ' line 16 is 'token' 00089 type 4 'Identifier ' line 16 is 'and' 00090 type 4 'Identifier ' line 16 is 'its' 00091 type 4 'Identifier ' line 16 is 'characteristics' 00027 type 3 'Junk ' line 17 is '* ' 00092 type 4 'Identifier ' line 17 is 'UNTIL' 00093 type 4 'Identifier ' line 17 is 'we' 00094 type 4 'Identifier ' line 17 is 'see' 00095 type 4 'Identifier ' line 17 is 'the' 00096 type 4 'Identifier ' line 17 is 'final' 00097 type 4 'Identifier ' line 17 is 'EOF' 00098 type 4 'Identifier ' line 17 is 'token' 00028 type 3 'Junk ' line 18 is '* ' 00099 type 4 'Identifier ' line 18 is 'PRINT' 00100 type 4 'Identifier ' line 18 is 'some' 00101 type 4 'Identifier ' line 18 is 'statistics' 00029 type 3 'Junk ' line 19 is '* ' 00102 type 4 'Identifier ' line 19 is 'Terminate' 00103 type 4 'Identifier ' line 19 is 'the' 00104 type 4 'Identifier ' line 19 is 'scanner' 00030 type 3 'Junk ' line 20 is '* ' 00105 type 4 'Identifier ' line 20 is 'Close' 00106 type 4 'Identifier ' line 20 is 'streams' 00107 type 4 'Identifier ' line 20 is 'and' 00108 type 4 'Identifier ' line 20 is 'tidy' 00109 type 4 'Identifier ' line 20 is 'up' 00110 type 4 'Identifier ' line 20 is 'buffers' 00031 type 3 'Junk ' line 21 is '* ' 00111 type 4 'Identifier ' line 21 is 'END' 00032 type 3 'Junk ' line 24 is '*/ #' 00112 type 4 'Identifier ' line 24 is 'include' 00033 type 3 'Junk ' line 24 is '<' 00113 type 4 'Identifier ' line 24 is 'stdio' 00034 type 3 'Junk ' line 24 is '.' 00114 type 4 'Identifier ' line 24 is 'h' 00035 type 3 'Junk ' line 25 is '> #' 00115 type 4 'Identifier ' line 25 is 'include' 00036 type 3 'Junk ' line 25 is '<' 00116 type 4 'Identifier ' line 25 is 'stdlib' 00037 type 3 'Junk ' line 25 is '.' 00117 type 4 'Identifier ' line 25 is 'h' 00038 type 3 'Junk ' line 27 is '> #' 00118 type 4 'Identifier ' line 27 is 'include' 00039 type 3 'Junk ' line 27 is '"' 00119 type 4 'Identifier ' line 27 is 'misc' 00040 type 3 'Junk ' line 27 is '.' 00120 type 4 'Identifier ' line 27 is 'h' 00041 type 3 'Junk ' line 28 is '" #' 00121 type 4 'Identifier ' line 28 is 'include' 00042 type 3 'Junk ' line 28 is '"' 00122 type 4 'Identifier ' line 28 is 'cover' 00043 type 3 'Junk ' line 28 is '.' 00123 type 4 'Identifier ' line 28 is 'h' 00044 type 3 'Junk ' line 29 is '" #' 00124 type 4 'Identifier ' line 29 is 'include' 00045 type 3 'Junk ' line 29 is '"' 00125 type 4 'Identifier ' line 29 is 'buffer' 00046 type 3 'Junk ' line 29 is '.' 00126 type 4 'Identifier ' line 29 is 'h' 00047 type 3 'Junk ' line 30 is '" #' 00127 type 4 'Identifier ' line 30 is 'include' 00048 type 3 'Junk ' line 30 is '"' 00128 type 4 'Identifier ' line 30 is 'my' 00049 type 3 'Junk ' line 30 is '.' 00129 type 4 'Identifier ' line 30 is 'h' 00050 type 3 'Junk ' line 31 is '" #' 00130 type 4 'Identifier ' line 31 is 'include' 00051 type 3 'Junk ' line 31 is '"' 00131 type 4 'Identifier ' line 31 is 'scanner' 00052 type 3 'Junk ' line 31 is '.' 00132 type 4 'Identifier ' line 31 is 'h' 00053 type 3 'Junk ' line 33 is '" #' 00133 type 4 'Identifier ' line 33 is 'define' 00134 type 4 'Identifier ' line 33 is 'FNAME_INIT' 00054 type 5 'UnsignedInt ' line 33 is '20' 00055 type 3 'Junk ' line 33 is '/* ' 00135 type 4 'Identifier ' line 33 is 'initial' 00136 type 4 'Identifier ' line 33 is 'size' 00137 type 4 'Identifier ' line 33 is 'of' 00138 type 4 'Identifier ' line 33 is 'file' 00139 type 4 'Identifier ' line 33 is 'name' 00140 type 4 'Identifier ' line 33 is 'buffer' 00056 type 3 'Junk ' line 34 is '*/ #' 00141 type 4 'Identifier ' line 34 is 'define' 00142 type 4 'Identifier ' line 34 is 'FNAME_INCR' 00057 type 5 'UnsignedInt ' line 34 is '10' 00058 type 3 'Junk ' line 34 is '/* ' 00143 type 4 'Identifier ' line 34 is 'incremental' 00144 type 4 'Identifier ' line 34 is 'increase' 00145 type 4 'Identifier ' line 34 is 'for' 00146 type 4 'Identifier ' line 34 is 'file' 00147 type 4 'Identifier ' line 34 is 'name' 00148 type 4 'Identifier ' line 34 is 'buffer' 00059 type 3 'Junk ' line 36 is '*/ ' 00149 type 4 'Identifier ' line 36 is 'char' 00060 type 3 'Junk ' line 36 is '*' 00150 type 4 'Identifier ' line 36 is 'cmdname' 00061 type 3 'Junk ' line 36 is '= "' 00151 type 4 'Identifier ' line 36 is 'UNKNOWN' 00062 type 3 'Junk ' line 36 is '"; /* ' 00152 type 4 'Identifier ' line 36 is 'set' 00153 type 4 'Identifier ' line 36 is 'by' 00154 type 4 'Identifier ' line 36 is 'main' 00063 type 3 'Junk ' line 36 is '; ' 00155 type 4 'Identifier ' line 36 is 'used' 00156 type 4 'Identifier ' line 36 is 'by' 00157 type 4 'Identifier ' line 36 is 'eprintf' 00064 type 3 'Junk ' line 38 is '*/ ' 00158 type 4 'Identifier ' line 38 is 'int' 00159 type 4 'Identifier ' line 39 is 'main' 00065 type 3 'Junk ' line 39 is '(' 00160 type 4 'Identifier ' line 39 is 'int' 00161 type 4 'Identifier ' line 39 is 'argc' 00066 type 3 'Junk ' line 39 is ', ' 00162 type 4 'Identifier ' line 39 is 'char' 00067 type 3 'Junk ' line 39 is '**' 00163 type 4 'Identifier ' line 39 is 'argv' 00068 type 3 'Junk ' line 40 is ') { ' 00164 type 4 'Identifier ' line 40 is 'FILE' 00069 type 3 'Junk ' line 40 is '*' 00165 type 4 'Identifier ' line 40 is 'fd' 00070 type 3 'Junk ' line 40 is '; /* ' 00166 type 4 'Identifier ' line 40 is 'descriptor' 00167 type 4 'Identifier ' line 40 is 'of' 00168 type 4 'Identifier ' line 40 is 'input' 00169 type 4 'Identifier ' line 40 is 'stream' 00071 type 3 'Junk ' line 41 is '*/ ' 00170 type 4 'Identifier ' line 41 is 'Buffer' 00072 type 3 'Junk ' line 41 is '*' 00171 type 4 'Identifier ' line 41 is 'fbuf' 00073 type 3 'Junk ' line 41 is '; /* ' 00172 type 4 'Identifier ' line 41 is 'file' 00173 type 4 'Identifier ' line 41 is 'name' 00174 type 4 'Identifier ' line 41 is 'buffer' 00074 type 3 'Junk ' line 42 is '*/ ' 00175 type 4 'Identifier ' line 42 is 'Token' 00176 type 4 'Identifier ' line 42 is 'token' 00075 type 3 'Junk ' line 42 is '; /* ' 00177 type 4 'Identifier ' line 42 is 'returned' 00178 type 4 'Identifier ' line 42 is 'by' 00179 type 4 'Identifier ' line 42 is 'scanner' 00076 type 3 'Junk ' line 43 is '*/ ' 00180 type 4 'Identifier ' line 43 is 'int' 00181 type 4 'Identifier ' line 43 is 'countIds' 00077 type 3 'Junk ' line 43 is '; /* ' 00182 type 4 'Identifier ' line 43 is 'count' 00183 type 4 'Identifier ' line 43 is 'of' 00184 type 4 'Identifier ' line 43 is 'identifiers' 00078 type 3 'Junk ' line 44 is '*/ ' 00185 type 4 'Identifier ' line 44 is 'int' 00186 type 4 'Identifier ' line 44 is 'countOther' 00079 type 3 'Junk ' line 44 is '; /* ' 00187 type 4 'Identifier ' line 44 is 'count' 00188 type 4 'Identifier ' line 44 is 'of' 00189 type 4 'Identifier ' line 44 is 'other' 00190 type 4 'Identifier ' line 44 is 'things' 00080 type 3 'Junk ' line 46 is '*/ ' 00191 type 4 'Identifier ' line 46 is 'if' 00081 type 3 'Junk ' line 46 is '( ' 00192 type 4 'Identifier ' line 46 is 'argc' 00082 type 3 'Junk ' line 46 is '>= ' 00083 type 5 'UnsignedInt ' line 46 is '1' 00084 type 3 'Junk ' line 46 is ') ' 00193 type 4 'Identifier ' line 46 is 'cmdname' 00085 type 3 'Junk ' line 46 is '= ' 00194 type 4 'Identifier ' line 46 is 'argv' 00086 type 3 'Junk ' line 46 is '[' 00087 type 5 'UnsignedInt ' line 46 is '0' 00088 type 3 'Junk ' line 46 is '];/* ' 00195 type 4 'Identifier ' line 46 is 'save' 00196 type 4 'Identifier ' line 46 is 'command' 00197 type 4 'Identifier ' line 46 is 'name' 00198 type 4 'Identifier ' line 46 is 'for' 00199 type 4 'Identifier ' line 46 is 'eprintf' 00089 type 3 'Junk ' line 48 is '*/ /* ' 00200 type 4 'Identifier ' line 48 is 'Note' 00201 type 4 'Identifier ' line 48 is 'the' 00202 type 4 'Identifier ' line 48 is 'order' 00203 type 4 'Identifier ' line 48 is 'of' 00204 type 4 'Identifier ' line 48 is 'operations' 00205 type 4 'Identifier ' line 48 is 'here' 00206 type 4 'Identifier ' line 48 is 'is' 00090 type 3 'Junk ' line 48 is '(' 00091 type 5 'UnsignedInt ' line 48 is '1' 00092 type 3 'Junk ' line 48 is '), (' 00093 type 5 'UnsignedInt ' line 48 is '2' 00094 type 3 'Junk ' line 48 is '), (' 00095 type 5 'UnsignedInt ' line 48 is '3' 00096 type 3 'Junk ' line 50 is '). * * (' 00097 type 5 'UnsignedInt ' line 50 is '1' 00098 type 3 'Junk ' line 50 is ') ' 00207 type 4 'Identifier ' line 50 is 'Allocate' 00208 type 4 'Identifier ' line 50 is 'a' 00209 type 4 'Identifier ' line 50 is 'File' 00210 type 4 'Identifier ' line 50 is 'Name' 00211 type 4 'Identifier ' line 50 is 'Buffer' 00099 type 3 'Junk ' line 51 is '. * ' 00212 type 4 'Identifier ' line 51 is 'LOOP' 00100 type 3 'Junk ' line 52 is ': * ' 00213 type 4 'Identifier ' line 52 is 'Clear' 00214 type 4 'Identifier ' line 52 is 'the' 00215 type 4 'Identifier ' line 52 is 'file' 00216 type 4 'Identifier ' line 52 is 'name' 00217 type 4 'Identifier ' line 52 is 'buffer' 00101 type 3 'Junk ' line 53 is '. * ' 00218 type 4 'Identifier ' line 53 is 'Prompt' 00219 type 4 'Identifier ' line 53 is 'for' 00220 type 4 'Identifier ' line 53 is 'an' 00221 type 4 'Identifier ' line 53 is 'input' 00222 type 4 'Identifier ' line 53 is 'file' 00223 type 4 'Identifier ' line 53 is 'and' 00224 type 4 'Identifier ' line 53 is 'try' 00102 type 3 'Junk ' line 53 is '(' 00103 type 5 'UnsignedInt ' line 53 is '2' 00104 type 3 'Junk ' line 53 is ') ' 00225 type 4 'Identifier ' line 53 is 'to' 00226 type 4 'Identifier ' line 53 is 'open' 00227 type 4 'Identifier ' line 53 is 'the' 00228 type 4 'Identifier ' line 53 is 'input' 00229 type 4 'Identifier ' line 53 is 'file' 00105 type 3 'Junk ' line 54 is '. * (' 00230 type 4 'Identifier ' line 54 is 'Note' 00231 type 4 'Identifier ' line 54 is 'that' 00232 type 4 'Identifier ' line 54 is 'my_open' 00106 type 3 'Junk ' line 54 is '() ' 00233 type 4 'Identifier ' line 54 is 'may' 00234 type 4 'Identifier ' line 54 is 'return' 00235 type 4 'Identifier ' line 54 is 'stdin' 00236 type 4 'Identifier ' line 54 is 'itself' 00237 type 4 'Identifier ' line 54 is 'as' 00238 type 4 'Identifier ' line 54 is 'the' 00239 type 4 'Identifier ' line 54 is 'open' 00240 type 4 'Identifier ' line 54 is 'fd' 00107 type 3 'Junk ' line 55 is '.) * ' 00241 type 4 'Identifier ' line 55 is 'UNTIL' 00242 type 4 'Identifier ' line 55 is 'we' 00243 type 4 'Identifier ' line 55 is 'have' 00244 type 4 'Identifier ' line 55 is 'an' 00245 type 4 'Identifier ' line 55 is 'open' 00246 type 4 'Identifier ' line 55 is 'stream' 00108 type 3 'Junk ' line 55 is ', ' 00247 type 4 'Identifier ' line 55 is 'or' 00248 type 4 'Identifier ' line 55 is 'no' 00249 type 4 'Identifier ' line 55 is 'file' 00250 type 4 'Identifier ' line 55 is 'name' 00109 type 3 'Junk ' line 55 is ', ' 00251 type 4 'Identifier ' line 55 is 'or' 00252 type 4 'Identifier ' line 55 is 'hit' 00253 type 4 'Identifier ' line 55 is 'EOF' 00110 type 3 'Junk ' line 56 is '* ' 00254 type 4 'Identifier ' line 56 is 'IF' 00255 type 4 'Identifier ' line 56 is 'no' 00256 type 4 'Identifier ' line 56 is 'stream' 00257 type 4 'Identifier ' line 56 is 'is' 00258 type 4 'Identifier ' line 56 is 'open' 00111 type 3 'Junk ' line 56 is ', ' 00259 type 4 'Identifier ' line 56 is 'simply' 00260 type 4 'Identifier ' line 56 is 'say' 00261 type 4 'Identifier ' line 56 is 'goodbye' 00262 type 4 'Identifier ' line 56 is 'and' 00263 type 4 'Identifier ' line 56 is 'exit' 00112 type 3 'Junk ' line 57 is '. * (' 00113 type 5 'UnsignedInt ' line 57 is '3' 00114 type 3 'Junk ' line 57 is ') ' 00264 type 4 'Identifier ' line 57 is 'Initialize' 00265 type 4 'Identifier ' line 57 is 'the' 00266 type 4 'Identifier ' line 57 is 'Scanner' 00267 type 4 'Identifier ' line 57 is 'to' 00268 type 4 'Identifier ' line 57 is 'read' 00269 type 4 'Identifier ' line 57 is 'from' 00270 type 4 'Identifier ' line 57 is 'the' 00271 type 4 'Identifier ' line 57 is 'open' 00272 type 4 'Identifier ' line 57 is 'stream' 00115 type 3 'Junk ' line 59 is '. */ ' 00273 type 4 'Identifier ' line 59 is 'fbuf' 00116 type 3 'Junk ' line 59 is '= ' 00274 type 4 'Identifier ' line 59 is 'bf_alloc' 00117 type 3 'Junk ' line 59 is '(' 00275 type 4 'Identifier ' line 59 is 'FNAME_INIT' 00118 type 3 'Junk ' line 59 is ', ' 00276 type 4 'Identifier ' line 59 is 'FNAME_INCR' 00119 type 3 'Junk ' line 59 is '); /* (' 00120 type 5 'UnsignedInt ' line 59 is '1' 00121 type 3 'Junk ' line 61 is ') */ ' 00277 type 4 'Identifier ' line 61 is 'do' 00122 type 3 'Junk ' line 62 is '{ ' 00278 type 4 'Identifier ' line 62 is 'bf_clear' 00123 type 3 'Junk ' line 62 is '(' 00279 type 4 'Identifier ' line 62 is 'fbuf' 00124 type 3 'Junk ' line 63 is '); ' 00280 type 4 'Identifier ' line 63 is 'fd' 00125 type 3 'Junk ' line 63 is '= ' 00281 type 4 'Identifier ' line 63 is 'my_open' 00126 type 3 'Junk ' line 63 is '(' 00282 type 4 'Identifier ' line 63 is 'fbuf' 00127 type 3 'Junk ' line 63 is ', ' 00283 type 4 'Identifier ' line 63 is 'NULL' 00128 type 3 'Junk ' line 63 is ', ' 00284 type 4 'Identifier ' line 63 is 'MY_READONLY' 00129 type 3 'Junk ' line 63 is ', ' 00285 type 4 'Identifier ' line 63 is 'TRUE' 00130 type 3 'Junk ' line 63 is '); /* (' 00131 type 5 'UnsignedInt ' line 63 is '2' 00132 type 3 'Junk ' line 64 is ') */ } ' 00286 type 4 'Identifier ' line 64 is 'while' 00133 type 3 'Junk ' line 64 is '( ' 00287 type 4 'Identifier ' line 64 is 'fd' 00134 type 3 'Junk ' line 64 is '== ' 00288 type 4 'Identifier ' line 64 is 'NULL' 00135 type 3 'Junk ' line 64 is '&& ! ' 00289 type 4 'Identifier ' line 64 is 'BF_EMPTY' 00136 type 3 'Junk ' line 64 is '(' 00290 type 4 'Identifier ' line 64 is 'fbuf' 00137 type 3 'Junk ' line 64 is ') && ! ' 00291 type 4 'Identifier ' line 64 is 'feof' 00138 type 3 'Junk ' line 64 is '(' 00292 type 4 'Identifier ' line 64 is 'stdin' 00139 type 3 'Junk ' line 66 is ') ); ' 00293 type 4 'Identifier ' line 66 is 'if' 00140 type 3 'Junk ' line 66 is '( ' 00294 type 4 'Identifier ' line 66 is 'fd' 00141 type 3 'Junk ' line 66 is '== ' 00295 type 4 'Identifier ' line 66 is 'NULL' 00142 type 3 'Junk ' line 67 is '){ ' 00296 type 4 'Identifier ' line 67 is 'eprintf' 00143 type 3 'Junk ' line 67 is '("' 00297 type 4 'Identifier ' line 67 is 'No' 00298 type 4 'Identifier ' line 67 is 'file' 00299 type 4 'Identifier ' line 67 is 'name' 00300 type 4 'Identifier ' line 67 is 'given' 00144 type 3 'Junk ' line 67 is '. ' 00301 type 4 'Identifier ' line 67 is 'Goodbye' 00145 type 3 'Junk ' line 68 is '."); ' 00302 type 4 'Identifier ' line 68 is 'return' 00303 type 4 'Identifier ' line 68 is 'EXIT_SUCCESS' 00146 type 3 'Junk ' line 68 is ';/* ' 00304 type 4 'Identifier ' line 68 is 'not' 00305 type 4 'Identifier ' line 68 is 'an' 00306 type 4 'Identifier ' line 68 is 'error' 00147 type 3 'Junk ' line 71 is '*/ } ' 00307 type 4 'Identifier ' line 71 is 'printf' 00148 type 3 'Junk ' line 71 is '("' 00308 type 4 'Identifier ' line 71 is 'Successfully' 00309 type 4 'Identifier ' line 71 is 'opened' 00310 type 4 'Identifier ' line 71 is 'input' 00311 type 4 'Identifier ' line 71 is 'stream' 00149 type 3 'Junk ' line 71 is ''%' 00312 type 4 'Identifier ' line 71 is 's' 00150 type 3 'Junk ' line 71 is ''\' 00313 type 4 'Identifier ' line 71 is 'n' 00151 type 3 'Junk ' line 71 is '", ' 00314 type 4 'Identifier ' line 71 is 'fbuf' 00152 type 3 'Junk ' line 71 is '->' 00315 type 4 'Identifier ' line 71 is 'buf' 00153 type 3 'Junk ' line 72 is '); ' 00316 type 4 'Identifier ' line 72 is 'scanner_init' 00154 type 3 'Junk ' line 72 is '(' 00317 type 4 'Identifier ' line 72 is 'fd' 00155 type 3 'Junk ' line 72 is ',' 00318 type 4 'Identifier ' line 72 is 'fbuf' 00156 type 3 'Junk ' line 72 is '->' 00319 type 4 'Identifier ' line 72 is 'buf' 00157 type 3 'Junk ' line 72 is '); /* (' 00158 type 5 'UnsignedInt ' line 72 is '3' 00159 type 3 'Junk ' line 73 is ') */ ' 00320 type 4 'Identifier ' line 73 is 'printf' 00160 type 3 'Junk ' line 73 is '("' 00321 type 4 'Identifier ' line 73 is 'Now' 00322 type 4 'Identifier ' line 73 is 'scanning' 00323 type 4 'Identifier ' line 73 is 'for' 00324 type 4 'Identifier ' line 73 is 'tokens' 00325 type 4 'Identifier ' line 73 is 'from' 00161 type 3 'Junk ' line 73 is ''%' 00326 type 4 'Identifier ' line 73 is 's' 00162 type 3 'Junk ' line 73 is ''\' 00327 type 4 'Identifier ' line 73 is 'n' 00163 type 3 'Junk ' line 73 is '", ' 00328 type 4 'Identifier ' line 73 is 'fbuf' 00164 type 3 'Junk ' line 73 is '->' 00329 type 4 'Identifier ' line 73 is 'buf' 00165 type 3 'Junk ' line 74 is '); ' 00330 type 4 'Identifier ' line 74 is 'countIds' 00166 type 3 'Junk ' line 74 is '= ' 00331 type 4 'Identifier ' line 74 is 'countOther' 00167 type 3 'Junk ' line 74 is '= ' 00168 type 5 'UnsignedInt ' line 74 is '0' 00169 type 3 'Junk ' line 76 is '; /* ' 00332 type 4 'Identifier ' line 76 is 'LOOP' 00170 type 3 'Junk ' line 76 is ': ' 00333 type 4 'Identifier ' line 76 is 'Scan' 00171 type 3 'Junk ' line 76 is ', ' 00334 type 4 'Identifier ' line 76 is 'count' 00172 type 3 'Junk ' line 76 is ', ' 00335 type 4 'Identifier ' line 76 is 'and' 00336 type 4 'Identifier ' line 76 is 'print' 00337 type 4 'Identifier ' line 76 is 'tokens' 00338 type 4 'Identifier ' line 76 is 'until' 00339 type 4 'Identifier ' line 76 is 'seeing' 00340 type 4 'Identifier ' line 76 is 'the' 00341 type 4 'Identifier ' line 76 is 'TT_EOF' 00342 type 4 'Identifier ' line 76 is 'token' 00173 type 3 'Junk ' line 78 is '. */ ' 00343 type 4 'Identifier ' line 78 is 'do' 00174 type 3 'Junk ' line 79 is '{ ' 00344 type 4 'Identifier ' line 79 is 'int' 00345 type 4 'Identifier ' line 79 is 'count' 00175 type 3 'Junk ' line 81 is '; ' 00346 type 4 'Identifier ' line 81 is 'token' 00176 type 3 'Junk ' line 81 is '= ' 00347 type 4 'Identifier ' line 81 is 'scanner' 00177 type 3 'Junk ' line 83 is '(); ' 00348 type 4 'Identifier ' line 83 is 'count' 00178 type 3 'Junk ' line 83 is '= (' 00349 type 4 'Identifier ' line 83 is 'token' 00179 type 3 'Junk ' line 83 is '.' 00350 type 4 'Identifier ' line 83 is 'type' 00180 type 3 'Junk ' line 83 is '== ' 00351 type 4 'Identifier ' line 83 is 'TT_ID' 00181 type 3 'Junk ' line 83 is ') ? ++' 00352 type 4 'Identifier ' line 83 is 'countIds' 00182 type 3 'Junk ' line 83 is ': ++' 00353 type 4 'Identifier ' line 83 is 'countOther' 00183 type 3 'Junk ' line 85 is '; ' 00354 type 4 'Identifier ' line 85 is 'printf' 00184 type 3 'Junk ' line 85 is '("%' 00185 type 5 'UnsignedInt ' line 85 is '05' 00355 type 4 'Identifier ' line 85 is 'd' 00356 type 4 'Identifier ' line 85 is 'type' 00186 type 3 'Junk ' line 85 is '%' 00357 type 4 'Identifier ' line 85 is 'd' 00187 type 3 'Junk ' line 85 is ''%-' 00188 type 5 'UnsignedInt ' line 85 is '12' 00358 type 4 'Identifier ' line 85 is 's' 00189 type 3 'Junk ' line 85 is '' ' 00359 type 4 'Identifier ' line 85 is 'line' 00190 type 3 'Junk ' line 85 is '%' 00360 type 4 'Identifier ' line 85 is 'ld' 00361 type 4 'Identifier ' line 85 is 'is' 00191 type 3 'Junk ' line 85 is ''%' 00362 type 4 'Identifier ' line 85 is 's' 00192 type 3 'Junk ' line 85 is ''\' 00363 type 4 'Identifier ' line 85 is 'n' 00193 type 3 'Junk ' line 86 is '", ' 00364 type 4 'Identifier ' line 86 is 'count' 00194 type 3 'Junk ' line 87 is ', ' 00365 type 4 'Identifier ' line 87 is 'token' 00195 type 3 'Junk ' line 87 is '.' 00366 type 4 'Identifier ' line 87 is 'type' 00196 type 3 'Junk ' line 88 is ', ' 00367 type 4 'Identifier ' line 88 is 'token_name' 00197 type 3 'Junk ' line 88 is '(' 00368 type 4 'Identifier ' line 88 is 'token' 00198 type 3 'Junk ' line 88 is '.' 00369 type 4 'Identifier ' line 88 is 'type' 00199 type 3 'Junk ' line 89 is '), ' 00370 type 4 'Identifier ' line 89 is 'token' 00200 type 3 'Junk ' line 89 is '.' 00371 type 4 'Identifier ' line 89 is 'lineno' 00201 type 3 'Junk ' line 90 is ', ' 00372 type 4 'Identifier ' line 90 is 'token' 00202 type 3 'Junk ' line 90 is '.' 00373 type 4 'Identifier ' line 90 is 'lexeme' 00203 type 3 'Junk ' line 91 is '); } ' 00374 type 4 'Identifier ' line 91 is 'while' 00204 type 3 'Junk ' line 91 is '( ' 00375 type 4 'Identifier ' line 91 is 'token' 00205 type 3 'Junk ' line 91 is '.' 00376 type 4 'Identifier ' line 91 is 'type' 00206 type 3 'Junk ' line 91 is '!= ' 00377 type 4 'Identifier ' line 91 is 'TT_EOF' 00207 type 3 'Junk ' line 93 is '); ' 00378 type 4 'Identifier ' line 93 is 'printf' 00208 type 3 'Junk ' line 93 is '("' 00379 type 4 'Identifier ' line 93 is 'File' 00209 type 3 'Junk ' line 93 is ''%' 00380 type 4 'Identifier ' line 93 is 's' 00210 type 3 'Junk ' line 93 is '': ' 00381 type 4 'Identifier ' line 93 is 'Identifiers' 00211 type 3 'Junk ' line 93 is '%' 00382 type 4 'Identifier ' line 93 is 'd' 00212 type 3 'Junk ' line 93 is ', ' 00383 type 4 'Identifier ' line 93 is 'Other' 00213 type 3 'Junk ' line 93 is '%' 00384 type 4 'Identifier ' line 93 is 'd' 00214 type 3 'Junk ' line 93 is '\' 00385 type 4 'Identifier ' line 93 is 'n' 00215 type 3 'Junk ' line 94 is '", ' 00386 type 4 'Identifier ' line 94 is 'fbuf' 00216 type 3 'Junk ' line 94 is '->' 00387 type 4 'Identifier ' line 94 is 'buf' 00217 type 3 'Junk ' line 94 is ', ' 00388 type 4 'Identifier ' line 94 is 'countIds' 00218 type 3 'Junk ' line 94 is ', ' 00389 type 4 'Identifier ' line 94 is 'countOther' 00219 type 3 'Junk ' line 96 is '); /* ' 00390 type 4 'Identifier ' line 96 is 'Note' 00391 type 4 'Identifier ' line 96 is 'the' 00392 type 4 'Identifier ' line 96 is 'order' 00393 type 4 'Identifier ' line 96 is 'of' 00394 type 4 'Identifier ' line 96 is 'operations' 00395 type 4 'Identifier ' line 96 is 'following' 00396 type 4 'Identifier ' line 96 is 'is' 00397 type 4 'Identifier ' line 96 is 'the' 00398 type 4 'Identifier ' line 96 is 'exact' 00399 type 4 'Identifier ' line 96 is 'reverse' 00220 type 3 'Junk ' line 97 is '* ' 00400 type 4 'Identifier ' line 97 is 'of' 00401 type 4 'Identifier ' line 97 is 'the' 00402 type 4 'Identifier ' line 97 is 'complementary' 00403 type 4 'Identifier ' line 97 is 'operations' 00404 type 4 'Identifier ' line 97 is 'above' 00221 type 3 'Junk ' line 97 is ': (' 00222 type 5 'UnsignedInt ' line 97 is '3' 00223 type 3 'Junk ' line 97 is '), (' 00224 type 5 'UnsignedInt ' line 97 is '2' 00225 type 3 'Junk ' line 97 is '), (' 00226 type 5 'UnsignedInt ' line 97 is '1' 00227 type 3 'Junk ' line 99 is '). * * (' 00228 type 5 'UnsignedInt ' line 99 is '3' 00229 type 3 'Junk ' line 99 is ') ' 00405 type 4 'Identifier ' line 99 is 'Terminate' 00406 type 4 'Identifier ' line 99 is 'the' 00407 type 4 'Identifier ' line 99 is 'Scanner' 00230 type 3 'Junk ' line 100 is '. * (' 00231 type 5 'UnsignedInt ' line 100 is '2' 00232 type 3 'Junk ' line 100 is ') ' 00408 type 4 'Identifier ' line 100 is 'Close' 00409 type 4 'Identifier ' line 100 is 'or' 00410 type 4 'Identifier ' line 100 is 'flush' 00411 type 4 'Identifier ' line 100 is 'the' 00412 type 4 'Identifier ' line 100 is 'input' 00413 type 4 'Identifier ' line 100 is 'stream' 00233 type 3 'Junk ' line 101 is '. * (' 00234 type 5 'UnsignedInt ' line 101 is '1' 00235 type 3 'Junk ' line 101 is ') ' 00414 type 4 'Identifier ' line 101 is 'Free' 00415 type 4 'Identifier ' line 101 is 'the' 00416 type 4 'Identifier ' line 101 is 'file' 00417 type 4 'Identifier ' line 101 is 'name' 00418 type 4 'Identifier ' line 101 is 'buffer' 00236 type 3 'Junk ' line 103 is '. */ ' 00419 type 4 'Identifier ' line 103 is 'scanner_term' 00237 type 3 'Junk ' line 103 is '(); /* (' 00238 type 5 'UnsignedInt ' line 103 is '3' 00239 type 3 'Junk ' line 104 is ') */ ' 00420 type 4 'Identifier ' line 104 is 'my_close' 00240 type 3 'Junk ' line 104 is '(' 00421 type 4 'Identifier ' line 104 is 'fd' 00241 type 3 'Junk ' line 104 is ', ' 00422 type 4 'Identifier ' line 104 is 'fbuf' 00242 type 3 'Junk ' line 104 is '->' 00423 type 4 'Identifier ' line 104 is 'buf' 00243 type 3 'Junk ' line 104 is '); /* (' 00244 type 5 'UnsignedInt ' line 104 is '2' 00245 type 3 'Junk ' line 105 is ') */ ' 00424 type 4 'Identifier ' line 105 is 'bf_free' 00246 type 3 'Junk ' line 105 is '(' 00425 type 4 'Identifier ' line 105 is 'fbuf' 00247 type 3 'Junk ' line 105 is '); /* (' 00248 type 5 'UnsignedInt ' line 105 is '1' 00249 type 3 'Junk ' line 107 is ') */ ' 00426 type 4 'Identifier ' line 107 is 'return' 00427 type 4 'Identifier ' line 107 is 'EXIT_SUCCESS' 00250 type 3 'Junk ' line 109 is '; } ' 00251 type 2 'EOF ' line 109 is '' File 'main.c': Identifiers 427, Other 251 TERM: The Scanner terminated at line 109