(PROCLAIM '(OPTIMIZE SPEED)) (IMPORT-MODULE "initial-env") (IN-PACKAGE "BOOTTRAN") (PROVIDE "tokens") (DEFUN |char| (|x|) (SCHAR (SYMBOL-NAME |x|) 0)) (DEFUN |shoeStartsId| (|x|) (OR (ALPHA-CHAR-P |x|) (MEMBER |x| (LIST (|char| '$) (|char| '?) (|char| '%))))) (DEFUN |shoeIdChar| (|x|) (OR (ALPHANUMERICP |x|) (MEMBER |x| (LIST (|char| '|'|) (|char| '?) (|char| '%))))) (DEFUN |subString| (|s| |f| &OPTIONAL (|n| NIL)) (COND ((NULL |n|) (SUBSEQ |s| |f|)) (T (SUBSEQ |s| |f| (+ |f| |n|))))) (DEFCONSTANT |shoeKeyWords| (LIST (LIST "and" 'AND) (LIST "by" 'BY) (LIST "case" 'CASE) (LIST "catch" 'CATCH) (LIST "cross" 'CROSS) (LIST "else" 'ELSE) (LIST "finally" 'FINALLY) (LIST "for" 'FOR) (LIST "has" 'HAS) (LIST "if" 'IF) (LIST "import" 'IMPORT) (LIST "in" 'IN) (LIST "is" 'IS) (LIST "isnt" 'ISNT) (LIST "leave" 'LEAVE) (LIST "module" 'MODULE) (LIST "namespace" 'NAMESPACE) (LIST "of" 'OF) (LIST "or" 'OR) (LIST "rem" 'REM) (LIST "repeat" 'REPEAT) (LIST "return" 'RETURN) (LIST "quo" 'QUO) (LIST "structure" 'STRUCTURE) (LIST "then" 'THEN) (LIST "throw" 'THROW) (LIST "try" 'TRY) (LIST "until" 'UNTIL) (LIST "where" 'WHERE) (LIST "while" 'WHILE) (LIST "." 'DOT) (LIST ":" 'COLON) (LIST "::" 'COLON-COLON) (LIST "," 'COMMA) (LIST ";" 'SEMICOLON) (LIST "*" 'TIMES) (LIST "**" 'POWER) (LIST "/" 'SLASH) (LIST "+" 'PLUS) (LIST "-" 'MINUS) (LIST "<" 'LT) (LIST ">" 'GT) (LIST "<=" 'LE) (LIST ">=" 'GE) (LIST "=" 'SHOEEQ) (LIST "^" 'NOTRETIRED) (LIST "^=" 'SHOENERETIRED) (LIST "~=" 'SHOENE) (LIST ".." 'SEG) (LIST "#" 'LENGTH) (LIST "=>" 'EXIT) (LIST "->" 'ARROW) (LIST ":=" 'BEC) (LIST "+->" 'GIVES) (LIST "==" 'DEF) (LIST "==>" 'MDEF) (LIST "<=>" 'TDEF) (LIST "(" 'OPAREN) (LIST ")" 'CPAREN) (LIST "(|" 'OBRACK) (LIST "|)" 'CBRACK) (LIST "[" 'OBRACK) (LIST "]" 'CBRACK) (LIST "suchthat" 'BAR) (LIST "'" 'QUOTE) (LIST "|" 'BAR))) (DEFUN |shoeKeyTableCons| () (PROG (|KeyTable|) (RETURN (PROGN (SETQ |KeyTable| (MAKE-HASHTABLE 'CVEC)) (LET ((|bfVar#2| |shoeKeyWords|) (|st| NIL)) (LOOP (COND ((OR (ATOM |bfVar#2|) (PROGN (SETQ |st| (CAR |bfVar#2|)) NIL)) (RETURN NIL)) (T (HPUT |KeyTable| (CAR |st|) (CADR |st|)))) (SETQ |bfVar#2| (CDR |bfVar#2|)))) |KeyTable|)))) (DEFPARAMETER |shoeKeyTable| (|shoeKeyTableCons|)) (DEFUN |shoeInsert| (|s| |d|) (PROG (|v| |k| |n| |u| |h| |l|) (RETURN (PROGN (SETQ |l| (LENGTH |s|)) (SETQ |h| (CHAR-CODE (SCHAR |s| 0))) (SETQ |u| (ELT |d| |h|)) (SETQ |n| (LENGTH |u|)) (SETQ |k| 0) (LOOP (COND ((< (LENGTH (ELT |u| |k|)) |l|) (RETURN NIL)) (T (SETQ |k| (+ |k| 1))))) (SETQ |v| (MAKE-ARRAY (+ |n| 1))) (LET ((|bfVar#3| (- |k| 1)) (|i| 0)) (LOOP (COND ((> |i| |bfVar#3|) (RETURN NIL)) (T (SETF (ELT |v| |i|) (ELT |u| |i|)))) (SETQ |i| (+ |i| 1)))) (SETF (ELT |v| |k|) |s|) (LET ((|bfVar#4| (- |n| 1)) (|i| |k|)) (LOOP (COND ((> |i| |bfVar#4|) (RETURN NIL)) (T (SETF (ELT |v| (+ |i| 1)) (ELT |u| |i|)))) (SETQ |i| (+ |i| 1)))) (SETF (ELT |d| |h|) |v|) |s|)))) (DEFUN |shoeDictCons| () (PROG (|d| |b| |a| |l|) (RETURN (PROGN (SETQ |l| (HKEYS |shoeKeyTable|)) (SETQ |d| (PROGN (SETQ |a| (MAKE-ARRAY 256)) (SETQ |b| (MAKE-ARRAY 1)) (SETF (ELT |b| 0) (MAKE-STRING 0)) (LET ((|i| 0)) (LOOP (COND ((> |i| 255) (RETURN NIL)) (T (SETF (ELT |a| |i|) |b|))) (SETQ |i| (+ |i| 1)))) |a|)) (LET ((|bfVar#5| |l|) (|s| NIL)) (LOOP (COND ((OR (ATOM |bfVar#5|) (PROGN (SETQ |s| (CAR |bfVar#5|)) NIL)) (RETURN NIL)) (T (|shoeInsert| |s| |d|))) (SETQ |bfVar#5| (CDR |bfVar#5|)))) |d|)))) (DEFPARAMETER |shoeDict| (|shoeDictCons|)) (DEFUN |shoePunCons| () (PROG (|a| |listing|) (RETURN (PROGN (SETQ |listing| (HKEYS |shoeKeyTable|)) (SETQ |a| (MAKE-BVEC 256)) (LET ((|i| 0)) (LOOP (COND ((> |i| 255) (RETURN NIL)) (T (SETF (SBIT |a| |i|) 0))) (SETQ |i| (+ |i| 1)))) (LET ((|bfVar#6| |listing|) (|k| NIL)) (LOOP (COND ((OR (ATOM |bfVar#6|) (PROGN (SETQ |k| (CAR |bfVar#6|)) NIL)) (RETURN NIL)) (T (COND ((|shoeStartsId| (ELT |k| 0)) NIL) (T (SETF (SBIT |a| (CHAR-CODE (SCHAR |k| 0))) 1))))) (SETQ |bfVar#6| (CDR |bfVar#6|)))) |a|)))) (DEFPARAMETER |shoePun| (|shoePunCons|)) (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (LET ((|bfVar#7| (LIST 'NOT 'LENGTH)) (|i| NIL)) (LOOP (COND ((OR (ATOM |bfVar#7|) (PROGN (SETQ |i| (CAR |bfVar#7|)) NIL)) (RETURN NIL)) (T (SETF (GET |i| 'SHOEPRE) T))) (SETQ |bfVar#7| (CDR |bfVar#7|))))) (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (LET ((|bfVar#8| (LIST (LIST 'SHOEEQ '=) (LIST 'TIMES '*) (LIST 'REM '|rem|) (LIST 'QUO '|quo|) (LIST 'PLUS '+) (LIST 'IS '|is|) (LIST 'ISNT '|isnt|) (LIST 'AND '|and|) (LIST 'OR '|or|) (LIST 'SLASH '/) (LIST 'POWER '**) (LIST 'MINUS '-) (LIST 'LT '<) (LIST 'GT '>) (LIST 'LE '<=) (LIST 'GE '>=) (LIST 'SHOENE '~=))) (|i| NIL)) (LOOP (COND ((OR (ATOM |bfVar#8|) (PROGN (SETQ |i| (CAR |bfVar#8|)) NIL)) (RETURN NIL)) (T (SETF (GET (CAR |i|) 'SHOEINF) (CADR |i|)))) (SETQ |bfVar#8| (CDR |bfVar#8|))))) (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (LET ((|bfVar#9| (LIST (LIST '+ 0) (LIST '|gcd| 0) (LIST '|lcm| 1) (LIST 'STRCONC "") (LIST '|strconc| "") (LIST 'CONCAT "") (LIST 'MAX (- 999999)) (LIST 'MIN 999999) (LIST '* 1) (LIST '|times| 1) (LIST 'CONS NIL) (LIST 'APPEND NIL) (LIST '|append| NIL) (LIST 'UNION NIL) (LIST 'UNIONQ NIL) (LIST '|union| NIL) (LIST 'NCONC NIL) (LIST '|and| T) (LIST '|or| NIL) (LIST 'AND T) (LIST 'OR NIL))) (|i| NIL)) (LOOP (COND ((OR (ATOM |bfVar#9|) (PROGN (SETQ |i| (CAR |bfVar#9|)) NIL)) (RETURN NIL)) (T (SETF (GET (CAR |i|) 'SHOETHETA) (CDR |i|)))) (SETQ |bfVar#9| (CDR |bfVar#9|))))) (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (LET ((|bfVar#10| (LIST (LIST '|abs| 'ABS) (LIST '|abstractChar| 'CODE-CHAR) (LIST '|alphabetic?| 'ALPHA-CHAR-P) (LIST '|alphanumeric?| 'ALPHANUMERICP) (LIST '|and| 'AND) (LIST '|append| 'APPEND) (LIST '|apply| 'APPLY) (LIST '|atom| 'ATOM) (LIST '|bitmask| 'SBIT) (LIST '|canonicalFilename| 'PROBE-FILE) (LIST '|charString| 'STRING) (LIST '|char?| 'CHARACTERP) (LIST '|codePoint| 'CHAR-CODE) (LIST '|cons?| 'CONSP) (LIST '|copy| 'COPY) (LIST '|croak| 'CROAK) (LIST '|digit?| 'DIGIT-CHAR-P) (LIST '|drop| 'DROP) (LIST '|exit| 'EXIT) (LIST '|false| 'NIL) (LIST '|first| 'CAR) (LIST '|fourth| 'CADDDR) (LIST '|function| 'FUNCTION) (LIST '|gensym| 'GENSYM) (LIST '|genvar| 'GENVAR) (LIST '|integer?| 'INTEGERP) (LIST '|lastNode| 'LAST) (LIST 'LAST '|last|) (LIST '|list| 'LIST) (LIST '|lowerCase?| 'LOWER-CASE-P) (LIST '|mkpf| 'MKPF) (LIST '|nconc| 'NCONC) (LIST '|newString| 'MAKE-STRING) (LIST '|newVector| 'MAKE-ARRAY) (LIST '|nil| NIL) (LIST '|not| 'NOT) (LIST '|nreverse| 'NREVERSE) (LIST '|null| 'NULL) (LIST '|or| 'OR) (LIST '|otherwise| 'T) (LIST '|property| 'GET) (LIST '|readByte| 'READ-BYTE) (LIST '|readInteger| 'PARSE-INTEGER) (LIST '|readLine| 'READ-LINE) (LIST '|readOnly?| 'CONSTANTP) (LIST '|removeDuplicates| 'REMDUP) (LIST '|rest| 'CDR) (LIST '|reverse| 'REVERSE) (LIST '|second| 'CADR) (LIST '|setDifference| 'SETDIFFERENCE) (LIST '|setIntersection| 'INTERSECTION) (LIST '|setPart| 'SETELT) (LIST '|setUnion| 'UNION) (LIST '|strconc| 'CONCAT) (LIST '|stringChar| 'SCHAR) (LIST '|string?| 'STRINGP) (LIST '|subSequence| 'SUBSEQ) (LIST '|substitute| 'SUBST) (LIST '|substitute!| 'NSUBST) (LIST '|symbolFunction| 'SYMBOL-FUNCTION) (LIST '|symbolName| 'SYMBOL-NAME) (LIST '|symbolValue| 'SYMBOL-VALUE) (LIST '|symbol?| 'SYMBOLP) (LIST '|take| 'TAKE) (LIST '|third| 'CADDR) (LIST '|toString| 'WRITE-TO-STRING) (LIST '|true| 'T) (LIST '|upperCase?| 'UPPER-CASE-P) (LIST '|vector?| 'SIMPLE-VECTOR-P) (LIST '|vectorRef| 'SVREF) (LIST '|writeByte| 'WRITE-BYTE) (LIST '|writeLine| 'WRITE-LINE) (LIST 'PLUS '+) (LIST 'MINUS '-) (LIST 'TIMES '*) (LIST 'POWER 'EXPT) (LIST 'REM 'REM) (LIST 'QUO 'TRUNCATE) (LIST 'SLASH '/) (LIST 'LT '<) (LIST 'GT '>) (LIST 'LE '<=) (LIST 'GE '>=) (LIST 'SHOEEQ 'EQUAL) (LIST 'SHOENE '/=) (LIST 'T 'T$))) (|i| NIL)) (LOOP (COND ((OR (ATOM |bfVar#10|) (PROGN (SETQ |i| (CAR |bfVar#10|)) NIL)) (RETURN NIL)) (T (SETF (GET (CAR |i|) 'SHOERENAME) (CDR |i|)))) (SETQ |bfVar#10| (CDR |bfVar#10|))))) (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (LET ((|bfVar#11| (LIST (LIST '|setName| 0) (LIST '|setLabel| 1) (LIST '|setLevel| 2) (LIST '|setType| 3) (LIST '|setVar| 4) (LIST '|setLeaf| 5) (LIST '|setDef| 6) (LIST '|aGeneral| 4) (LIST '|aMode| 1) (LIST '|aModeSet| 3) (LIST '|aTree| 0) (LIST '|aValue| 2) (LIST '|args| 'CDR) (LIST '|attributes| 'CADDR) (LIST '|cacheCount| 'CADDDDR) (LIST '|cacheName| 'CADR) (LIST '|cacheReset| 'CADDDR) (LIST '|cacheType| 'CADDR) (LIST '|env| 'CADDR) (LIST '|expr| 'CAR) (LIST 'CAR 'CAR) (LIST '|mmCondition| 'CAADR) (LIST '|mmDC| 'CAAR) (LIST '|mmImplementation| 'CADADR) (LIST '|mmSignature| 'CDAR) (LIST '|mmTarget| 'CADAR) (LIST '|mode| 'CADR) (LIST '|op| 'CAR) (LIST '|opcode| 'CADR) (LIST '|opSig| 'CADR) (LIST 'CDR 'CDR) (LIST '|sig| 'CDDR) (LIST '|source| 'CDR) (LIST '|streamCode| 'CADDDR) (LIST '|streamDef| 'CADDR) (LIST '|streamName| 'CADR) (LIST '|target| 'CAR))) (|i| NIL)) (LOOP (COND ((OR (ATOM |bfVar#11|) (PROGN (SETQ |i| (CAR |bfVar#11|)) NIL)) (RETURN NIL)) (T (SETF (GET (CAR |i|) 'SHOESELFUNCTION) (CADR |i|)))) (SETQ |bfVar#11| (CDR |bfVar#11|)))))