*- valid keywords begin halt obstacle add to move north south east west robot do until BEGIN bEGIN Begin *- valid variable names a ab cde hand hello abcdef abcdefg waterfly Duke HeLLo TEST *- valid integers 0 2 35 678 4321 55555 674747 12345678 *- valid punctuation = ; > *- other data files and such *- lots of errors in this one *- twentyfive is too long one twentyfive 15 ; *- no separator between end and ; in end; begin ; test end; ok *- + is an invalid token paint * rob *- B twentysix ; *- #B is an invalid token and so is -* move #B east -* x *- all integers are invalid, 03 has leading 0, 123456789 is too long, *- no negative numbers BEgin same as beGIN 03 123456789 0 -3 *- >= is not a valid token fred >= tom *- one15; is invalid, add6tosum is invalid, starburstmove too long ok one15; add6tosum starmove movestar starburstmove *- program 1 begin 60 80 obstacle 7 11 ; robot biff 6 8 ; skip = 6 ; move biff east skip ; halt begin 80 100 *- room has height 80 and width 100 obstacle 8 11 ; *- an obstacle at (8,11) obstacle 9 2 ; *- an obstacle at (9,2) obstacle 5 6 ; *- an obstacle at (5,6) robot rob 3 2 ; *- robot rob starts at (3,2) wall = 13 ; *- a wall of obstacles j = 1 ; do obstacle wall j ; add 1 to j ; until j > 10 ; run = 4 ; *- move robot move rob east run ; move rob south 11 ; move rob east run ; move rob north 6 ; move rob west 7 ; halt begin 50 50 robot shr 20 31 ; halt begin 50 60 obstacle 29 17 ; halt begin 40 50 v = 3 ; add 4 to v ; halt 123456789 *- too long 045 *- don't start with 0 -456 *- don't recognize negative numbers