Enter file name for reading: Successfully opened input stream 'a7test.txt' PARSER: Now parsing 'a7test.txt' to 'STDOUT' scanner_init: The Scanner defines 19 token types scanner_init: Reading from 'a7test.txt'. a.out: SYMTAB: Inital size 1 entries Start of CST 8152 Interpreter Test. First, some integers. The first sum is 15 a is "12300" m is "12312" and z is "12325". nested is "320125" Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 11 Unsigned Integer '12300' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 15 Unsigned Integer '12312' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 16 Unsigned Integer '12325' nested: 16 Unsigned Integer '320125' Change three of the integers (a,m,z). a is "11111" m is "21111" and z is "31111". nested is "346521" Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 29 Unsigned Integer '11111' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 29 Unsigned Integer '21111' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 29 Unsigned Integer '31111' nested: 29 Unsigned Integer '346521' Now try to change some variables to be strings: a.out: SYMTAB UPDATE warning: a: Unsigned Integer '11111' overwritten by String 'A Changed to be a string A END' a.out: SYMTAB UPDATE warning: m: Unsigned Integer '21111' overwritten by String 'M Changed to be a string M END' a.out: SYMTAB UPDATE warning: z: Unsigned Integer '31111' overwritten by String 'Z Changed to be a string Z END' End of changes to strings. Now try to change some strings to be big integers: a.out: SYMTAB UPDATE warning: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1: String 'a1 END' overwritten by Unsigned Integer '32767' a.out: SYMTAB UPDATE warning: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1: String 'b1 END' overwritten by Unsigned Integer '32768' a.out: SYMTAB UPDATE warning: ccccccccccccccccccccccccccccccccccccccccccc1: String 'c1 END' overwritten by Unsigned Integer '-32769' End of changes to integers. Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 42 String 'A Changed to be a string A END' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 43 String 'M Changed to be a string M END' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 44 String 'Z Changed to be a string Z END' nested: 29 Unsigned Integer '346521' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1: 54 Unsigned Integer '32767' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1: 55 Unsigned Integer '32768' ccccccccccccccccccccccccccccccccccccccccccc1: 56 Unsigned Integer '-32769' Define some string variables. Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 42 String 'A Changed to be a string A END' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 43 String 'M Changed to be a string M END' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 44 String 'Z Changed to be a string Z END' nested: 29 Unsigned Integer '346521' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1: 54 Unsigned Integer '32767' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1: 55 Unsigned Integer '32768' ccccccccccccccccccccccccccccccccccccccccccc1: 56 Unsigned Integer '-32769' astringvariable: 66 String 'A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END' bstringvariable: 67 String 'B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END' cstringvariable: 68 String 'C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END' dstringvariable: 69 String 'D string END' estringvariable: 69 String 'E string END' fstringvariable: 69 String 'F string END' adupstring: 66 String 'A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END' bdupstring: 67 String 'B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END' cdupstring: 68 String 'C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END' ddupstring: 69 String 'D string END' edupstring: 69 String 'E string END' fdupstring: 69 String 'F string END' Change the a b and c strings. Verify adupstring is unchanged: "A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END" Verify bdupstring is unchanged: "B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END" Verify cdupstring is unchanged: "C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END" Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 42 String 'A Changed to be a string A END' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 43 String 'M Changed to be a string M END' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 44 String 'Z Changed to be a string Z END' nested: 29 Unsigned Integer '346521' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1: 54 Unsigned Integer '32767' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1: 55 Unsigned Integer '32768' ccccccccccccccccccccccccccccccccccccccccccc1: 56 Unsigned Integer '-32769' astringvariable: 83 String 'Changed the A string END' bstringvariable: 84 String 'Changed the B string END' cstringvariable: 85 String 'Changed the C string END' dstringvariable: 69 String 'D string END' estringvariable: 69 String 'E string END' fstringvariable: 69 String 'F string END' adupstring: 66 String 'A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END' bdupstring: 67 String 'B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END' cdupstring: 68 String 'C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END' ddupstring: 69 String 'D string END' edupstring: 69 String 'E string END' fdupstring: 69 String 'F string END' Set a very long variable name to be 12345: Is the value of the long variable 12345? Long Variable = 12345 Symbol Table Dump: _: 3 Unsigned Integer '1' __: 4 Unsigned Integer '2' ___: 5 Unsigned Integer '3' ____: 6 Unsigned Integer '4' _____: 7 Unsigned Integer '5' a: 42 String 'A Changed to be a string A END' b: 12 Unsigned Integer '12301' c: 13 Unsigned Integer '12302' d: 14 Unsigned Integer '12303' e: 15 Unsigned Integer '12304' f: 15 Unsigned Integer '12305' g: 15 Unsigned Integer '12306' h: 15 Unsigned Integer '12307' i: 15 Unsigned Integer '12308' j: 15 Unsigned Integer '12309' k: 15 Unsigned Integer '12310' l: 15 Unsigned Integer '12311' m: 43 String 'M Changed to be a string M END' n: 15 Unsigned Integer '12313' o: 15 Unsigned Integer '12314' p: 16 Unsigned Integer '12315' q: 16 Unsigned Integer '12316' r: 16 Unsigned Integer '12317' s: 16 Unsigned Integer '12318' t: 16 Unsigned Integer '12319' u: 16 Unsigned Integer '12320' v: 16 Unsigned Integer '12321' w: 16 Unsigned Integer '12322' x: 16 Unsigned Integer '12323' y: 16 Unsigned Integer '12324' z: 44 String 'Z Changed to be a string Z END' nested: 29 Unsigned Integer '346521' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa1: 54 Unsigned Integer '32767' bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb1: 55 Unsigned Integer '32768' ccccccccccccccccccccccccccccccccccccccccccc1: 56 Unsigned Integer '-32769' astringvariable: 83 String 'Changed the A string END' bstringvariable: 84 String 'Changed the B string END' cstringvariable: 85 String 'Changed the C string END' dstringvariable: 69 String 'D string END' estringvariable: 69 String 'E string END' fstringvariable: 69 String 'F string END' adupstring: 66 String 'A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string A string END' bdupstring: 67 String 'B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string B string END' cdupstring: 68 String 'C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string C string END' ddupstring: 69 String 'D string END' edupstring: 69 String 'E string END' fdupstring: 69 String 'F string END' aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaab: 97 Unsigned Integer '12345' Arithmetic on strings may not be allowed. a.out: File a7test.txt Line 83: Non-numeric operand(s): String 'Changed the A string END' and/or String 'Changed the B string END' a.out: File a7test.txt Line 107: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 96: Non-numeric operand(s): String 'Changed the C string END' and/or String '' a.out: File a7test.txt Line 108: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 109: Non-numeric operand(s): String '' and/or String '' a.out: File a7test.txt Line 109: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 89: Non-numeric operand(s): Unsigned Integer '2' and/or String 'E string END' a.out: File a7test.txt Line 110: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 111:Cannot negate non-number String '' a.out: File a7test.txt Line 111: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier Divide by zero test. a.out: File a7test.txt Line 116: Dividing 999 by zero a.out: File a7test.txt Line 116: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 117: Dividing 999 by zero a.out: File a7test.txt Line 117: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier a.out: File a7test.txt Line 118: Dividing 999 by zero a.out: File a7test.txt Line 118: Skipped to Semicolon ';' a.out: PANIC: Clearing value stack: Identifier No such variable test. a.out: File a7test.txt Line 122: Undefined variable 'nosuchvariable' a.out: File a7test.txt Line 122: Skipping over Identifier 'nosuchvariable' a.out: File a7test.txt Line 122: Skipping over Comma ',' a.out: File a7test.txt Line 122: Skipping over String ' ' a.out: File a7test.txt Line 122: Skipped to Semicolon ';' Numeric dump operands test. DUMP Unsigned Integer '1': not a string DUMP Unsigned Integer '2': not a string DUMP Unsigned Integer '3': not a string DUMP Unsigned Integer '4': not a string DUMP Unsigned Integer '5': not a string Unknown symbol dump test. DUMP 'No Such Variable': symbol not found Integer overflow test. Big: -1593835520 Unterminated string constant follows a.out: Lexical error in file 'a7test.txt' lexeme 'Start of unterm ' on character '' a.out: File a7test.txt Line 138: Expecting Identifier, Unsigned Integer, or Left Parenthesis; found Error 'Start of unterm ' a.out: File a7test.txt Line 138: Skipping over Error 'Start of unterm ' a.out: File a7test.txt Line 138: Skipped to EOF '' a.out: SYMTAB: Terminating size 49 entries scanner_term: The Scanner terminated in 'a7test.txt' at line 138 PARSER: Parsed 115 statements from 'a7test.txt' to 'STDOUT'. PARSER: File a7test.txt had 10 errors. Returned from parsing 'a7test.txt'