PK m1* META-INF/PK m1*HHMETA-INF/MANIFEST.MFManifest-Version: 1.0 Created-By: 1.3.0 (Blackdown Java-Linux Team) PK ɓ0* Hωjtom/Tom.class-jtom/Tomjava/lang/Object startChronoJ endChronomain([Ljava/lang/String;)VCodeLineNumberTable .t.javaaterm/pure/PureFactory (I)V  charAt(I)C java/lang/String --noOutput !"equals(Ljava/lang/Object;)Z  %& printOutputZ ($)jtom/compiler/Flags+ --verbose -&verbose (,0 --atermStat 2& atermStat (15--cCode7-c 9&jCode (8 <&cCode (;?.tom.cA --parseOnly C& parseOnly (BF.tfixH --compileOnly J& compileOnly (I MNoutLjava/io/PrintStream; PLQjava/lang/SystemSjava/lang/StringBuffer U()V RTX' Z[append,(Ljava/lang/String;)Ljava/lang/StringBuffer; RY^' is not a valid option `atoString()Ljava/lang/String; R_ deprintln(Ljava/lang/String;)V gchjava/io/PrintStream jUusage i mnendsWith(Ljava/lang/String;)Z l qrlength()I p uv substring(II)Ljava/lang/String; ty no inputfile{0--parseOnly and --compileOnly are not compatible}java/io/FileInputStream e |~java/io/FileOutputStream ~java/io/BufferedWriterjava/io/OutputStreamWriter (Ljava/io/OutputStream;)V (Ljava/io/Writer;)V U  readFromTextFile((Ljava/io/InputStream;)Laterm/api/ATerm; aterm/api/ATermFactory U stopChrono AST parsing phase R~ a getChrono jtom/parser/TomReader B(Ljava/io/InputStream;Ljava/lang/String;Laterm/api/ATermFactory;)V parse()Laterm/api/ATerm; TOM parsing phase writeToTextFile*(Ljava/io/OutputStream;Laterm/api/ATerm;)V AST prettyPrinting phase jtom/compiler/TomCompiler (Laterm/api/ATermFactory;)V compile$(Laterm/api/ATerm;)Laterm/api/ATerm; TOM compilation phase jtom/compiler/OutputCode  prettyPrint.(Ljtom/compiler/OutputCode;Laterm/api/ATerm;)V TOM prettyPrinting phase Uclose java/io/InputStream java/io/Writer java/io/OutputStreamFile  not found. UprintStackTrace java/lang/Throwablejava/io/FileNotFoundExceptionjava/io/IOException Statistics: Z,(Ljava/lang/Object;)Ljava/lang/StringBuffer; R currentTimeMillis()J P    ( Z(J)Ljava/lang/StringBuffer; R ms)Tom Parser usage: java Tom [options] inputfileOptions: --verbose --noOutput --atermStat --cCode | -c --parseOnly --compileOnly exit P T SourceFileTom.java!       LMNY:*6*2-*2# '*2*# .*2/# 3y*24#*26#:=>NS*2@# DEN=*2G# KEM'ORYVW\*2\]\bfk+*2,o*2*2s,sdwL*2L*k+sOxfkDKOzfk|YRYV+\,\b:YRYV+\-\b:YY:K5: .ORY\bfMYRYV+\,\b:: .ORY\bfD;'2 .ORY\bfoY:   : .ORY\bf Y .ORY\bf˧6:ORYVζ\+\,\ж\bfԧ :Բ3ORY۷߶bf@@ bX  -9@LS_f~ !"#$%&')*-.0 589&:)=5>=?@B@C@D@E@F[GvHJKMNPQRSTTVWXYZZ ]^_`$a'b-bHfShVi_jbkhkmnoppstuwx{~ U #  U #  a 7RYV\e\b  jU MOfOfOfOfOfOfOfOfOf .  (08@HLU !*   PK 0*~Lkkjtom/parser/ASTFactory.class-Ljtom/parser/ASTFactoryjava/lang/Object atermFactoryLaterm/api/ATermFactory;afunTomLaterm/api/AFun; afunDeclGLafunDeclListTomafunRuleListTom afunMainGLafunVariableDecl afunVariableafunName afunSortDeclafunSort afunSortTom afunSortGLafunGetFunSymDeclafunGetSubtermDeclafunTermsEqualDecl afunApiGLafunApplafunGLafunSymbolDecl afunSymbolTomafunSortsToSort afunOptions afunCodeGLafunRule afunRhsGLaNameaSortaSymbol aVariableaAppl getFactory()Laterm/api/ATermFactory;CodeLineNumberTable  *makeAFun&(Ljava/lang/String;IZ)Laterm/api/AFun; &' . ,- 203aterm/api/ATermFactorymakeAppl'(Laterm/api/AFun;)Laterm/api/ATermAppl; 45 268(Laterm/api/AFun;Laterm/api/ATerm;)Laterm/api/ATermAppl; 48 29I(Laterm/api/AFun;Laterm/api/ATerm;Laterm/api/ATerm;)Laterm/api/ATermAppl; 4; 2<Z(Laterm/api/AFun;Laterm/api/ATerm;Laterm/api/ATerm;Laterm/api/ATerm;)Laterm/api/ATermAppl; 4> 2?makePlaceholder/(Laterm/api/ATerm;)Laterm/api/ATermPlaceholder; AB 2CmakeList=(Laterm/api/ATerm;Laterm/api/ATermList;)Laterm/api/ATermList; EF 2GmakeInt(I)Laterm/api/ATermInt; IJ 2KmakeReal(D)Laterm/api/ATermReal; MN 2O makeString%(Ljava/lang/String;)Laterm/api/ATerm;'(Ljava/util/List;)Laterm/api/ATermList;Ujava/util/ArrayList WX()V TV [\iterator()Ljava/util/Iterator; ^Z_java/util/List abnext()Ljava/lang/Object; d`ejava/util/Iterator ghadd(ILjava/lang/Object;)V ^f klhasNext()Z dj Eo()Laterm/api/ATermList; 2nraterm/api/ATerminituTom 0  wzDeclGL  {~ DeclListTom   RuleListTom  MainGL   VariableDecl  Variable  Name  SortDecl  Sort  SortTom  SortGL   GetFunSymDecl  GetSubtermDecl  TermsEqualDecl  ApiGL  Appl  GL   SymbolDecl   SymbolTom   SortsToSort  Options  CodeGL  RhsGL  Rule  variable $ appl % sort " name ! symbol # makeTom()Laterm/api/ATermAppl;empty 6 49(Laterm/api/AFun;[Laterm/api/ATerm;)Laterm/api/ATermAppl; 2 makeOptions 9 makeSortDecl,(Laterm/api/ATermAppl;)Laterm/api/ATermAppl; getAFun()Laterm/api/AFun; aterm/api/ATermAppljava/lang/RuntimeExceptionjava/lang/StringBufferwrong argument: W(Ljava/lang/String;)V    append,(Ljava/lang/Object;)Ljava/lang/StringBuffer;   toString()Ljava/lang/String;  makeSort;(Ljava/lang/String;Ljava/lang/String;)Laterm/api/ATermAppl; QR  makeGL)(Ljava/lang/String;)Laterm/api/ATermAppl;  <makeSortsToSortA(Laterm/api/ATermList;Laterm/api/ATermAppl;)Laterm/api/ATermAppl;makeSymbolDecl makeSymbole(Ljava/lang/String;Laterm/api/ATermAppl;Laterm/api/ATermList;Ljava/lang/String;)Laterm/api/ATermAppl;  makeName   " $ ' makeCodeGL &makeVariableDecl makeVariable>(Ljava/lang/String;Laterm/api/ATermAppl;)Laterm/api/ATermAppl; isVariable(Laterm/api/ATerm;)Z makeDeclGL makeMainGLmakeRule>(Laterm/api/ATermAppl;Ljava/lang/String;)Laterm/api/ATermAppl; 3 makeRhsGL 2makeDeclListTom,(Laterm/api/ATermList;)Laterm/api/ATermAppl;makeRuleListTom makeApiGLmakeGetFunSymDecl 8 :makeGetSubtermDeclS(Laterm/api/ATermAppl;Laterm/api/ATermAppl;Ljava/lang/String;)Laterm/api/ATermAppl; ?makeTermsEqualDecl makeConstant BRparse 2A makeTomAppl=(Laterm/api/ATerm;Laterm/api/ATermList;)Laterm/api/ATermAppl;(Laterm/api/ATermFactory;)V V sX H SourceFileASTFactory.java!      !"#$%'&'(*+)!,-(% */+1)&45(# */+7)*48($ */+,:).4;(% */+,-=)24>('*/+,-@)6AB(# */+D):EF($ */+,H)>IJ(# */L)BMN(# */'P)FQR(.*/*/+17)KES(_TYYM+]N,-ci-m*/p:,]N*/-cqH:-m). OPQRQ(U3V:W=XSW\ZsX(**tvx**yv|**}v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**v**+1**+1**+1**+1**+1)~` ab$c0d<eHfTg`hlixjklmnopqrstuvw x,z={N|_}p~(V6**/1LqY+SY+SY+SY+SM*/*x,)'(****+p)(P0+*YY+ **+) &(I)***+N***,:**-)(# **+,)(P0+*ĥYY+ **+) &(s G*+!:*-,#:*%:*(:qYSYSYSYS: */* )7)(P0+*YY+ **+) &*+(-*+!N**-,) ,-(E!++M,*) .(&**|*+)/(&***+)01(-*,4N**+-) 3(&***+)'(&***+)(&***+) (&***+)56(" **+)76(" **+)8(&***+)91('**+*,;)<=((**+,*-;>)?=((**+,*-;>)@(1*/+CM**,)   DE(# **+,)WF(2*G*++*I)  JKPK 0* tjtom/parser/SymbolTable.class-Njtom/parser/SymbolTablejava/lang/Object mapSymbolNameLjava/util/Map; mapSortNameput5(Ljava/util/Map;Ljava/lang/String;Laterm/api/ATerm;)VCodeLineNumberTable  8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;   java/util/Map outLjava/io/PrintStream; java/lang/Systemjava/lang/StringBuffer ()V "Warning: duplicate definition of ' !append,(Ljava/lang/String;)Ljava/lang/StringBuffer; $' &'toString()Ljava/lang/String; % *+println(Ljava/lang/String;)V -).java/io/PrintStreamget5(Ljava/util/Map;Ljava/lang/String;)Ljava/lang/Object; /2&(Ljava/lang/Object;)Ljava/lang/Object; 15aterm/api/ATerm7Warning: undefined ' putSymbol&(Ljava/lang/String;Laterm/api/ATerm;)V  :  <putSort  ? getSymbol)(Ljava/lang/String;)Laterm/api/ATermAppl; /0 CFaterm/api/ATermApplgetSort Jjava/util/HashMap I SourceFileSymbolTable.java!  J*+,-!Y","#"(,  )/0 S/+,34N-!Y6","#"(,-  -89 ' **;+,=  >9 ' **@+,=  "AB % **;+DE %GB % **@+DE ) 7*H*IYK;*IYK@   LMPK 0*=jtom/parser/Token.class-ajtom/parser/Tokenjava/lang/ObjectNO_TOKENI ConstantValueTOKEN_GOAL_LANGUAGE_OPENTOKEN_GOAL_LANGUAGE_CLOSE TOKEN_COMMENTTOKEN_GET_FUN_SYMTOKEN_GET_SUBTERMTOKEN_TERMS_EQUAL TOKEN_SYM TOKEN_VAR  TOKEN_RULE  TOKEN_ARROW  TOKEN_MAIN TOKEN_END_OF_INPUT  TOKEN_TYPETOKEN_GOAL_LANGUAGE_IDENTIFIERTOKEN_GOAL_LANGUAGE_CONSTANTTOKEN_GOAL_LANGUAGE_CHARcodenameLjava/lang/String;getName()Ljava/lang/String;CodeLineNumberTable *+ 0setName(Ljava/lang/String;)V 56getCode()I 49java/lang/RuntimeException;"Token is not a TOKEN_GOAL_LANGUAGE =3 8< ) ?isTokenCharacter(C)Z DBisJavaIdentifierPart FCGjava/lang/CharactertoStringJjava/lang/StringBuffer =L()V IKO[ QRappend,(Ljava/lang/String;)Ljava/lang/StringBuffer; IP QU(I)Ljava/lang/StringBuffer; ITX,Z] H- I[(ILjava/lang/String;)V K SourceFile Token.java!      !"#$%&'()*+,-.*1/$23.R.*7*7 *7 *+1 8Y:>/(+#--/56.*@/2 AB.I1E+/%{}%- >/6H-.F*IYMNS*@VWS*1SYS\L+/ @(A=].3*^*@*,1/ !_`PK 0*Ų-jtom/parser/TokenFactory.class-pjtom/parser/TokenFactoryjava/lang/ObjectmapNameLjava/util/Map;mapCodeput(Ljtom/parser/Token;)VCodeLineNumberTable   getName()Ljava/lang/String; jtom/parser/Token 8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  java/util/Map  java/lang/Integer getCode()I  "#(I)V !get'(Ljava/lang/String;)Ljtom/parser/Token; %(&(Ljava/lang/Object;)Ljava/lang/Object; '(I)Ljtom/parser/Token;,java/lang/RuntimeException.java/lang/StringBuffer "0()V -/3Token 56append,(Ljava/lang/String;)Ljava/lang/StringBuffer; -4 59(I)Ljava/lang/StringBuffer; -8< not found >toString -= "A(Ljava/lang/String;)V +@ /Ejava/util/HashMap D/HNO_TOKEN "J(ILjava/lang/String;)V I  LO%{Q%}S%//U %GET_FUN_SYMW %GET_SUBTERMY %TERMS_EQUAL[%sym]%var_%rulea%-->c%MAINe%%g%typei IDENTIFIERkCONSTANTmCHAR SourceFileTokenFactory.java!  F&* ++W*Y+ $+W !"%#%& &* +) &%* _;*Y$)M,,+Y-Y127:;7?B *+,."0 u*C*DYF *DYF*YGKM*YNKM*YPKM*YRKM*YTKM*YVKM*YXKM*YZKM*Y \KM*Y ^KM*Y `KM*Y bKM*Y dKM*YfKM*YhKM*YjKM*YlKM N  ( 6DR`o~noPK 0*vW""jtom/parser/TomReader.class-jtom/parser/TomReaderjava/lang/ObjectreaderLjava/io/Reader;buffer[CfileNameLjava/lang/String; tokenFactoryLjtom/parser/TokenFactory; lastTokenLjtom/parser/Token;currentI astFactoryLjtom/parser/ASTFactory;astTomLaterm/api/ATermAppl; astDeclListLaterm/api/ATermList; astRuleList symbolTableLjtom/parser/SymbolTable; skipBlank()VCodeLineNumberTable     #$ isWhitespace(C)Z &"'java/lang/Character extractBuffer(II)Ljava/lang/String;  * -. getFactory()Laterm/api/ATermFactory; 0,1jtom/parser/ASTFactory 34makeAFun([CIIIZ)Laterm/api/AFun; 627aterm/api/ATermFactory 9:getName()Ljava/lang/String; <8=aterm/api/AFunreadNextTomToken()Ljtom/parser/Token; >A(Z)Ljtom/parser/Token; @ D$isTokenCharacter FCGjtom/parser/Token () H J MNget'(Ljava/lang/String;)Ljtom/parser/Token; PLQjtom/parser/TokenFactory  RreadNextGoalLanguageToken  U X$isJavaIdentifierStart &W [$isJavaIdentifierPart &Z M^(I)Ljtom/parser/Token; P] absetName(Ljava/lang/String;)V F` e$isDigit &d readApplTerm()Laterm/api/ATermAppl; jkmakeList()Laterm/api/ATermList; 6i T? m F8q( stequals(Ljava/lang/Object;)Z vrwjava/lang/String gh x {|append((Laterm/api/ATerm;)Laterm/api/ATermList; ~zaterm/api/ATermList,)aterm/api/ParseError',' or ')' expected b length()I v    getSymbol)(Ljava/lang/String;)Laterm/api/ATermAppl; jtom/parser/SymbolTable  isVariable(Laterm/api/ATerm;)Z 0  makeTomAppl=(Laterm/api/ATerm;Laterm/api/ATermList;)Laterm/api/ATermAppl; 0readConstantTerm*(Ljtom/parser/Token;)Laterm/api/ATermAppl;  makeConstant 0 readPattern getCode F java/lang/StringBuffer  after ' {,(Ljava/lang/String;)Ljava/lang/StringBuffer; {,(Ljava/lang/Object;)Ljava/lang/StringBuffer; #': constant or symbol name expected :toString readTomIdentifierType identifier expectedextractUpToNextTomToken >?  :trim v readRuleDecl h '%-->' expected after pattern :  makeRule>(Laterm/api/ATermAppl;Ljava/lang/String;)Laterm/api/ATermAppl; 0readSymbolDecl :  getSort Symbol name expected')' or ',' expected%'(' or '%' expected__code_not_given__  makeSymbole(Ljava/lang/String;Laterm/api/ATermAppl;Laterm/api/ATermList;Ljava/lang/String;)Laterm/api/ATermAppl; 0  putSymbol&(Ljava/lang/String;Laterm/api/ATerm;)V readVariableDeclList()Ljava/util/List;java/util/ArrayList Variable name expected  makeVariable>(Ljava/lang/String;Laterm/api/ATermAppl;)Laterm/api/ATermAppl; 0 tadd java/util/List',' or '%' expectedsemanticAction(Ljtom/parser/Token;)V read NO_TOKEN Bad token    makeDeclGL 0  setArgument)(Laterm/api/ATerm;I)Laterm/api/ATermAppl;  aterm/api/ATermAppl +'%}' lexem without corresponding '%{' lexem  makeGetFunSymDecl 0  int makeGetSubtermDeclS(Laterm/api/ATermAppl;Laterm/api/ATermAppl;Ljava/lang/String;)Laterm/api/ATermAppl; 0 makeTermsEqualDecl 0 makeSort;(Ljava/lang/String;Ljava/lang/String;)Laterm/api/ATermAppl; 0 putSort  "# makeSortDecl,(Laterm/api/ATermAppl;)Laterm/api/ATermAppl; 0! h % (#makeSymbolDecl 0' * -.iterator()Ljava/util/Iterator; , 12next()Ljava/lang/Object; 405java/util/Iterator 7#makeVariableDecl 06 :;hasNext()Z 49 h =  ?B0'%-->' lexem without corresponding '%rule' lexemD'%MAIN' not yet implemented F makeMainGL 0EIUnknown Tom token: readM java/io/File N L R()J LQ  T KW([C)I YVZjava/io/Reader \]outLjava/io/PrintStream; _[`java/lang/Systemb read error dbprintln fcgjava/io/PrintStreamijava/io/IOExceptionparse()Laterm/api/ATerm; Exceptions K m o rsmakeDeclListTom,(Laterm/api/ATermList;)Laterm/api/ATermAppl; 0q vsmakeRuleListTom 0uB(Ljava/io/InputStream;Ljava/lang/String;Laterm/api/ATermFactory;)V  P |(Laterm/api/ATermFactory;)V 0{ hmakeTom 0~ java/io/BufferedReaderjava/io/InputStreamReader (Ljava/io/InputStream;)V  (Ljava/io/Reader;)V  SourceFileTomReader.java!    A *Y`*!*4%&' &)():*+/*!d5N-; ,->?$<*B 67>A'**!*d4 ==*!*4%OK*>*Y` *Y`*!*4E**I:**KOS*S*Y`*!*4hF;<=>+A-D?EDFNGQM[GjOuPRT<VT?5*V*<*!*4YI*Y` *Y`*!*4\**K_S*S**Icu*!*4f? *Y`*!*4f**K_S*S**Ic**Y`**K_S*S**Ic*SNZ[ \]"^%_/^>aKb^cmdpezdghjklogh*+/lM*nN-o:*nN-opuB6,*y}M*nN-ou6-ou Y*Y-od*:*+ L*+,L+Rsu xy|})~,/:?JO[hx$ *++oh\L*nM,*Y,od*yL5, *,L#YY,+&  (1:Z:E*nL+ Y+o:K'*<*M*Y,od**Ið ha1*L=*BN- YǷ*:*++ΰ  &hh**ѶM*nL+ Yշ+oN*+/l:*nL+opuq*nL*Y+od>**ѶԹ}:*nL+ou+ou Y׷+++ou)+oٶu Y۷*Y+od *Y`*!*4%*6*L:*d+o*Y+od%*Y+od**I:*+-,:*-" $)7<HM]`ty*:=L [ eYLM*N*-:6R*nM, Y,o:*+:*+W*nM,ou6,oٶu*Y,od Y+R $-7= J!U"^$c%ns(*,.7M+FP+ C߻Y*6*M,, ,,**,odIN Y***+-KY *6 *Y`*!*4 **IN**Ѷ:*:*+:*: *+ :**}**Ѷ:*:*+:*:*+*Զ: *: *+  :**}j**Ѷ:*+*:*+*: *: *+  :**}*: *: *+  :*  *+$: ** }*&:*+):**}*+:/:%*+38:**}<קs*>:**@}@[YAYC***!dIN***+-GYYHJ,*J234577L:V=\>\?a@uByCEIJMPQRQTVY[\ ^`b.d1g>iDjQlWmlorqsuxz|~ #&,7FIOX[n}Kg3LY*OPL*+S`!*U*!XW L^ae%(h )2jkliL*n**V*L+*+p++ + ***+*t***+*@w*2   2Kdxj*y*PYzK*0Y-}+**+**+/l**+/l@*Y*YY+U*,O& &6F Q!d"i#PK 0*9h jtom/compiler/Flags.class-$jtom/compiler/Flagsjava/lang/ObjectverboseZ printOutput atermStatjCodecCode parseOnly compileOnly()VCodeLineNumberTable                  SourceFile Flags.java!        !* )!"#PK 0*̐ jtom/compiler/OutputCode.class-Rjtom/compiler/OutputCodejava/lang/Objecttab[CfileLjava/io/Writer;write(Ljava/lang/String;)VCodeLineNumberTable   java/io/Writer outLjava/io/PrintStream; java/lang/System write error  println java/io/PrintStream !"printStackTrace()V $ %java/lang/Throwable'java/io/IOException(ILjava/lang/String;)V *+indent(I)V ) close 0"flush / ." 25 close error stringDump()Ljava/lang/String;9java/io/StringWriter ;7toString :>java/lang/InternalError@&OutputCode does not contain any string B  =AEstringDump error  F I([C)V H(Ljava/io/Writer;)V B" L 8L SourceFileOutputCode.java!  I*+M,# &   ( + *,*,-  ." S*1*3L4+#&  !#$&67 n2*8*1*<=Y?CLD+###& ")* +,.$1,203*+ h(=*GJM,#& & 9::;::>#?'ABK * *M*+  B" 0*M*8YN   O" Y UY UGPQPK ɓ0*c@<@<jtom/compiler/TomCompiler.class-jtom/compiler/TomCompilerjava/lang/Object emptyListLjava/util/List;factoryLaterm/api/ATermFactory;f_TomLaterm/api/AFun;f_DeclGLf_MainGL f_DeclListTom f_RuleListTomf_Rulef_RhsGL f_SortDecl f_SortsToSortf_GetFunSymDeclf_GetSubtermDeclf_TermsEqualDeclf_VariableDecl f_Variablef_GLf_ApiGLf_CodeGL f_SymbolDecl f_SymbolTomf_Applf_emptyf_consf_sortf_TomGLf_RuleSortedListTom f_RuleSetGLf_VariableListf_IfThenElseGLempty()Laterm/api/ATermList;CodeLineNumberTable  * -'makeList /,0aterm/api/ATermFactorycons=(Laterm/api/ATerm;Laterm/api/ATermList;)Laterm/api/ATermList; 45insert((Laterm/api/ATerm;)Laterm/api/ATermList; 738aterm/api/ATermListGET_SUBTERM_ATermList'(Ljava/lang/Object;I)Ljava/lang/Object; <=getFirst()Laterm/api/ATerm; 7; @'getNext 7?GET_FUN_SYM_ATermList&(Ljava/lang/Object;)Ljava/lang/Object; EFisEmpty()Z 7D  H  JGET_SUBTERM_ATermNaterm/api/ATermAppl PQ getArgument(I)Laterm/api/ATerm; MOGET_FUN_SYM_ATerm UVgetAFun()Laterm/api/AFun; MT prettyPrint.(Ljtom/compiler/OutputCode;Laterm/api/ATerm;)V SC Z ! \ L: ^aaterm/api/ATermcjava/lang/StringBuffer ef()V bd ij decapString%(Laterm/api/ATerm;)Ljava/lang/String; h mnappend,(Ljava/lang/String;)Ljava/lang/StringBuffer; blq sttoString()Ljava/lang/String; br wxwrite(Ljava/lang/String;)V zv{jtom/compiler/OutputCode }~prettyPrintList2(Ljtom/compiler/OutputCode;Laterm/api/ATermList;)V |  %type j getSortTom  j getSortGL        %GET_FUN_SYM   %GET_SUBTERM   %TERMS_EQUAL #        jCodeZ jtom/compiler/Flagspublic ( _ m(I)Ljava/lang/StringBuffer; b,) { boolean ok; XY void equals(Ljava/lang/Object;)Z java/lang/String return ;  return null; } $  BC  9: ; makeAppl8(Laterm/api/AFun;Laterm/api/ATerm;)Laterm/api/ATermAppl; /   j getString  outLjava/io/PrintStream; java/lang/SystemCannot print: ex b m,(Ljava/lang/Object;)Ljava/lang/StringBuffer; b xprintln java/io/PrintStream exit(I)V compile$(Laterm/api/ATerm;)Laterm/api/ATerm;   9(Laterm/api/AFun;[Laterm/api/ATerm;)Laterm/api/ATermAppl; /   &'  12   java/util/HashMap d   getSymbolRule   Cget   java/util/Map m5 7 put8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;  keySet()Ljava/util/Set;  iterator()Ljava/util/Iterator;  java/util/Set !"next()Ljava/lang/Object; $ %java/util/Iterator " & )I(Laterm/api/AFun;Laterm/api/ATerm;Laterm/api/ATerm;)Laterm/api/ATermAppl; /( ,FhasNext $+/java/util/ArrayList .d2Rule(,RhsGL()) 45match$(Ljava/lang/String;)Ljava/util/List; `3  8(I)Ljava/lang/Object; :7;java/util/List =>collectVariable#(Ljava/util/Map;Laterm/api/ATerm;)V < AcCode @ DEgenOneToOneMatchingX(Ljava/util/List;Laterm/api/ATerm;Laterm/api/ATerm;Ljava/lang/String;II)Ljava/util/List; C HImakeGL%(Ljava/lang/String;)Laterm/api/ATerm; G Ladd :KOlabQ:;S ok=true; labU:W while(ok) {Y} [\size()I :Z _Z(Laterm/api/AFun;Laterm/api/ATerm;Laterm/api/ATerm;Laterm/api/ATerm;)Laterm/api/ATermAppl; /^ a  cf#define GET_FUN_SYM_h) jObject GET_FUN_SYM_l(Object n ) { return p; }r#define GET_SUBTERM_tObject GET_SUBTERM_v,int x#define TERMS_EQUAL_zboolean TERMS_EQUAL_|,Object  });Cannot compile:   tgetName aterm/api/AFun getSymbolName getSymbolSort getSymbolCode makeAFun&(Ljava/lang/String;IZ)Laterm/api/AFun; / '(Laterm/api/AFun;)Laterm/api/ATermAppl; /Appl(,[])_Variable(,) indent(I)Ljava/lang/String;  = ;SAppl(SymbolTom(,SortsToSort([],),,CodeGL()),[]) if(GET_FUN_SYM_) !=  goto lab break lab } else {  Strange term:   = () GET_SUBTERM_ } (Laterm/api/ATermFactory;)V dTomDeclGLMainGL DeclListTom RuleListTomRule  RhsGL  SortDecl SortsToSort GetFunSymDeclGetSubtermDeclTermsEqualDecl VariableDeclVariableGLApiGLCodeGL SymbolDecl SymbolTomAppl&1sort TomGLRuleSortedListTom RuleSetGL VariableList IfThenElseGL %    SourceFileTomCompiler.java!                        ! " # $ % &'(" *+.)112( ,+6)59:(2+7> +7A)bBC(0+7G *I*K)cL:(# +MR)dSC(" +MW)eXY( n>+:*,[*]*,_`:*,_7:*,_7:*,_`:: : :: bYg* kopouy* *bYg* kopouyf>U+:*,[*G*,_`::bYgo*oo*opouy>+:*,[**,_`:*,_`:*[**_`:*_`:::*[*V*_`::bYgo*oo*koo*kopouyH>+:*,[**,_`:*,_`:*,_`:*[**_`:*_`:::*[**_`:*_`:: :*[*d*_`::bYgo*oo*koo* koo*kopouy>+:*,[**,_`:*,_`:*,_`:*[**_`:*_`:::*[**_`:*_`:: :*[*d*_`::bYgo*oo*koo* koo*kopouy>,+:*,[**,_`:*,_`:*,_7:*[**_`:*_`:*_`:*_`::*[**_7:*_`:::: *[*u*_`:::::6GbYg_oou:bYg_o*oo*kou:GbYg_oou:ZbYg_o*>oou:A:GbYg_oou:GbYg_oou:bYgopouy y**"*™ Ŷy Ƕyɶy>1+:*,[*̥#*,_7:**I>+:*,[*̥*,_7:**K*`:*7:*[*l*_`:*_`::::bYg*oo*koѶouy**+*E>B+:*,[*إ4*,_`::bYg*۶opouy>$+:,:߻bYuޱ)ghijklmnopqrstuvwxyz{}"~-8CGKOSpxx*7:FRVZgjvz!%25AMQUbequ &*.;>JVZ^knz~    #/;GKX[gsw{ !#$'(++,-./1234"5L6O7X8b9y4<>ABEGHIJLOPSTU VWY#Z0[3_4T8a:b=c@dLeOgZhgijkvlmnpqrsuyz{b~!>?CEHKNeim( '=*+[**+_`: *+_`:*+_`:*+_`: ::::*: *:*:*:`Y SYSYSYS:*+*]j=$*+[**+_`:  :  =W*+[*L*+_7:  N*: %*->: * : -AN-G =*+[**+_7:  NY: *:J->:* :  7: *:: W-AN-G :C#`:  7:**+*'*: *:-"=*+[*'*+_`: *+_7: : N.Y0:*::Y:6->16:9`: 9`:* ?BX* `F:**kJMWbYgNo`Pou:*JMWysbYgRo`Tou:*JMW*VJMW* `F:**kJMW*XJMW-AN-G*::#`6:-*+*:]d6*9`:*+* `=$*+[*b*+_`:  :  =#*+[**+_`:  : =#*+[*d*+_`:  : =*+[**+_`: *+_`:* [** _`:* _`::: *[**_`:: : BGbYgeo* MRkoo*kogo* kou: QKbYgio* MRkoko*komo* kooou: * J=s*+[*h*+_`: *+_`:*+_`:* [*7* _`:* _`::: *[**_`:*_`:: : *[**_`:: : BUbYgqo* MRkoo*koo* kogo* kou: `ZbYgso* MRkoko*kouo* komo* kooou: * J=s*+[*h*+_`: *+_`:*+_`:* [*7* _`:* _`::: *[**_`:*_`:: : *[**_`:: : BUbYgwo* MRkoo*koo* kogo* kou: `ZbYgyo* MRkoko*ko{o* komo* kooou: * J=m*+[*~b*+_`: * [*G* _`:* _`:* _`:* _`::*[**_7:*_`:N: ::6B-GĻbYg* oo*kou: -G bYg_oou: V bYg_o*->oou: -AN-G bYg_oou: -G bYg_oou: * J="+: ߻bY u)z*5@DHLPX`hp!%'*69DGPPPVYaiw|   * 5 9 <<EKOOXX[[^n {!#%&'()*+,--.@/R0a3d4kt7z89:9=@@A@@DGHI JLMO!H%Q'R*S6T9VDWHYJRN[P\S]_^b`maqcs\weyf|ghjklmopqrtuwx|}~?Ef  %)-:=IMQW "%0;FSVbnrv"(      $ $ ' - 6 Y b y |               ! %=>( >@+:*,[*2*,_`: *,_7:  :* *I>W+:*,[*I*,_`: *,_7:  : :*>?A:G>C+:*,[*5*,_`: *,_`:  : :,:   W)/ !"#$%&'(*"+-,1->.A3B%F6H7K8N9Z:]<h=s>w?{B~CDBF7IJKLMOPQRUVWJZ}~(G*+,>,AM,G)lmnlpj('+MW)sij('*+MR۰)wj('*+MRk){j(0*+MRMRk) (,+MRMR)(# +MR)(,+MRMR)(# +MR)HI(A%*+*++M*+*,) DE({: 6,6:9`: 97: C >: bYgoou: 6:[9`:9`:bYgo*koooou: +* JMW 6:9`:97:9`:9`:9`:97:6bYgoo*oooo*koou: +* JMWB8bYgooou: +* JMW;5bYgooou: +* JMWbYgoou: +* JMW>::6:(9`:97:*:M6: 9`:9`:߻bYubYgoo*ooooo*oo*oooodou: +* JMWA:G*+ -`FLbYgoou: +* JMW A:  G+)D,//8;Wchu"cpv  %*7DO[`m}  $.?Yfoy (R"bYgL=+oW+u) e(>**++*+*+*+b*+*+*+*+*+*+*+*+*+*+d*+*+*+*+*+~*+*+*+I*+K*+*+]*+'*+*+*+)~9: =>'?6AEBTDcErFGIJKLMNOPQR&S5UDVSWbZq[\]^_f( .Y0PK m1* META-INF/PK m1*HH+META-INF/MANIFEST.MFPK ɓ0* Hωjtom/Tom.classPK 0*~Lkkjtom/parser/ASTFactory.classPK 0* tt.jtom/parser/SymbolTable.classPK 0*=4jtom/parser/Token.classPK 0*Ų-<jtom/parser/TokenFactory.classPK 0*vW""2Cjtom/parser/TomReader.classPK 0*9h ejtom/compiler/Flags.classPK 0*̐ hjtom/compiler/OutputCode.classPK ɓ0*c@<@<njtom/compiler/TomCompiler.classPK