2C _N ^OP N ^Q ^R ^S ^T ^U ^V ^W ^X ^Y ^Z[ N \ 3] ^^ ^_` ab ^c d ^efg hijklm no np nq &d nrst 'Nu 'v 'wx 'd y z{ | ^} n~ 3 ^ ^   ^ g A o p q r ^   ' Jy       g g g g g ^  r ^ n & ~ ^  ^ {N   {    n   d  g o p q r y ~    o p q   '  ^  '   g o p q r   ~  o p q          J r     o p q r ~ ^ o p q  r ~ !"#$ %&' ()*+ ,o ,p ,q ,r ,-. /01 2 2 3o 3p 3q 3r4 356789:;< = >? @o @p @q @r @ABC Do Dp Dq D Dr D~ DEFG Ho Hp Hq HrIJ HKL HMN HOPQ 3d zRS zTU zVW zXY zZ[ z\] z^_ z`abc gd 3r 3~e ifghijklmnop ^q rstuvw ZNx yz{|}_evaluatedChildTokenLptolemy/data/Token; _childCodeLjava/lang/String; _generator8Lptolemy/cg/kernel/generic/program/ProgramCodeGenerator;_initializeCodeLjava/lang/StringBuffer;_preinitializeCode _sharedCode _wrapupCode_scopeLptolemy/data/expr/ParserScope;_typeInference*Lptolemy/data/expr/ParseTreeTypeInference;_trace_depthI _functionMapLjava/util/Map; Signature5Ljava/util/Map;_primitiveTypesLjava/util/List;;(Lptolemy/cg/kernel/generic/program/ProgramCodeGenerator;)VCodeLineNumberTableLocalVariableTablethisOLptolemy/cg/kernel/generic/program/procedural/ProceduralParseTreeCodeGenerator; generatorevaluateParseTree7(Lptolemy/data/expr/ASTPtRootNode;)Lptolemy/data/Token;node!Lptolemy/data/expr/ASTPtRootNode; ExceptionsV(Lptolemy/data/expr/ASTPtRootNode;Lptolemy/data/expr/ParserScope;)Lptolemy/data/Token;scope typeInferencetraceParseTreeEvaluationT(Lptolemy/data/expr/ASTPtRootNode;Lptolemy/data/expr/ParserScope;)Ljava/lang/String;exLjava/lang/Exception;trace StackMapTable`generateFireCode()Ljava/lang/String;generateInitializeCodegeneratePreinitializeCodegenerateSharedCodegenerateWrapupCodeescapeForTargetLanguage&(Ljava/lang/String;)Ljava/lang/String;stringvisitArrayConstructNode.(Lptolemy/data/expr/ASTPtArrayConstructNode;)V valueTypeLptolemy/data/type/Type;i+Lptolemy/data/expr/ASTPtArrayConstructNode; numChildrentokens[Lptolemy/data/Token;result elementType{~PvisitBitwiseNode'(Lptolemy/data/expr/ASTPtBitwiseNode;)V nextToken$Lptolemy/data/expr/ASTPtBitwiseNode; childToken bitwiseResult$Lptolemy/data/BitwiseOperationToken;svisitFunctionApplicationNode3(Lptolemy/data/expr/ASTPtFunctionApplicationNode;)Vpositionlabelindex cFunctionfunctionLptolemy/data/FunctionToken;0Lptolemy/data/expr/ASTPtFunctionApplicationNode;valuetype functionNameargCountvisitFunctionDefinitionNode2(Lptolemy/data/expr/ASTPtFunctionDefinitionNode;)V/Lptolemy/data/expr/ASTPtFunctionDefinitionNode; cloneTree specializer(Lptolemy/data/expr/ParseTreeSpecializer; Lptolemy/data/type/FunctionType;definedFunction&Lptolemy/data/expr/ExpressionFunction; functionCode argumentNames argumentTypes[Lptolemy/data/type/Type;visitFunctionalIfNode,(Lptolemy/data/expr/ASTPtFunctionalIfNode;)V)Lptolemy/data/expr/ASTPtFunctionalIfNode; tokenChild1 tokenChild2token1token2conversionType visitLeafNode$(Lptolemy/data/expr/ASTPtLeafNode;)VcomplexLptolemy/math/Complex;!Lptolemy/data/expr/ASTPtLeafNode;namevisitLogicalNode'(Lptolemy/data/expr/ASTPtLogicalNode;)V$Lptolemy/data/expr/ASTPtLogicalNode;flagZvisitMatrixConstructNode/(Lptolemy/data/expr/ASTPtMatrixConstructNode;)Vj codegenType newTokens columnCount matrixTokens,Lptolemy/kernel/util/IllegalActionException;,Lptolemy/data/expr/ASTPtMatrixConstructNode;rowcolumnvisitMethodCallNode*(Lptolemy/data/expr/ASTPtMethodCallNode;)VrecordLptolemy/data/RecordToken;'Lptolemy/data/expr/ASTPtMethodCallNode;tokenargTypes argValues[Ljava/lang/Object;visitPowerNode%(Lptolemy/data/expr/ASTPtPowerNode;)V"Lptolemy/data/expr/ASTPtPowerNode; resultTypevisitProductNode'(Lptolemy/data/expr/ASTPtProductNode;)VoperatorLptolemy/data/expr/Token;$Lptolemy/data/expr/ASTPtProductNode;lexicalTokenList visitRecordConstructNode/(Lptolemy/data/expr/ASTPtRecordConstructNode;)V,Lptolemy/data/expr/ASTPtRecordConstructNode;labels[Ljava/lang/String;visitRelationalNode*(Lptolemy/data/expr/ASTPtRelationalNode;)V'Lptolemy/data/expr/ASTPtRelationalNode; leftToken rightTokenvisitShiftNode%(Lptolemy/data/expr/ASTPtShiftNode;)V"Lptolemy/data/expr/ASTPtShiftNode; visitSumNode#(Lptolemy/data/expr/ASTPtSumNode;)V Lptolemy/data/expr/ASTPtSumNode; childTypenodeTypevisitUnaryNode%(Lptolemy/data/expr/ASTPtUnaryNode;)V"Lptolemy/data/expr/ASTPtUnaryNode;_assert7(ZLptolemy/data/expr/ASTPtRootNode;Ljava/lang/String;)Vmessage _codeGenType,(Lptolemy/data/type/Type;)Ljava/lang/String;ptType_evaluateAllChildren8(Lptolemy/data/expr/ASTPtRootNode;)[Lptolemy/data/Token;_evaluateArrayIndexP(Lptolemy/data/expr/ASTPtRootNode;Lptolemy/data/Token;Lptolemy/data/type/Type;)V_evaluateChild8(Lptolemy/data/expr/ASTPtRootNode;I)Lptolemy/data/Token;child_powCall8(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;xy_specializeArgumentQ(Ljava/lang/String;ILptolemy/data/type/Type;Ljava/lang/String;)Ljava/lang/String; argumentIndex argumentType argumentCode_specializeReturnValueP(Ljava/lang/String;Lptolemy/data/type/Type;Ljava/lang/String;)Ljava/lang/String; returnType returnCode(Ljava/lang/String;)V _traceEnter$(Lptolemy/data/expr/ASTPtRootNode;)V _traceLeave _isPrimitive(Lptolemy/data/type/Type;)Z _targetType()V SourceFile%ProceduralParseTreeCodeGenerator.java yK abjava/lang/StringBuffer gh ih jh kh lm no ph qr ef (ptolemy/data/expr/ParseTreeTypeInference   DE FEjava/lang/Exception  pC  cd\\\ \\"\" \n~    ptolemy/data/Tokenjava/lang/StringBuilder $new(Array(  , yC   34 ptolemy/data/expr/ASTPtRootNode  GH$new( ,-())   I-Token , TYPE_Token, TYPE_ptolemy/data/ArrayToken y3The number of child nodes must be greater than zero )*"ptolemy/data/BitwiseOperationToken*ptolemy/kernel/util/IllegalActionException Operation  d not defined on + which does not support bitwise operations.   Invalid operation&|^)   Array object(   (@)  st java/lang/Stringptolemy/data/type/ArrayType 12)Wrong number of indices when referencing ptolemy/data/type/MatrixTypeptolemy/data/type/FunctionTypeptolemy/data/FunctionToken 1Wrong number of arguments when applying function 2Cannot index or apply arguments to token of type "" with value "". Index or apply 'arguments only works with ArrayTokens,  MatrixTokens and FunctionTokens. :; ?@&ptolemy/data/expr/ParseTreeSpecializer   $ptolemy/data/expr/ExpressionFunction  y y" /* FIXME: This code does work.*/ R new ptolemy.data.expr.ExpressionFunction( java.util.Arrays.asList(new String[] {  " ' } ), new ptolemy.data.type.Type[] { ptolemy.data.type.BaseType.   } ,  /**/ )*ptolemy/kernel/util/InternalErrorExceptionTPtParser error: a functional-if node does not have three children in the parse tree. ?  :  ptolemy/data/type/Type ptolemy/data/ComplexToken  $Complex_new(   ptolemy/data/StringToken ptolemy/data/LongToken  L  InfinityDouble.POSITIVE_INFINITYNaN Double.NaNThe ID  is undefined.   &&  ||     , -1 ($new(Matrix())) ptolemy/data/ScalarToken ;Matrix should have the same number of columns for all rows.  !Matrix Token construction failed. yptolemy/data/RecordToken   java/lang/Object->() 67 FThe number of child nodes is not equal to number of operators plus oneptolemy/data/expr/Token  r#ptolemy/data/expr/PtParserConstants $multiply__   *$divide_   /$modulo_%  NThe number of labels and values does not match in parsing a record expression. 1ptolemy/data/expr/ASTPtOrderedRecordConstructNodeptolemy/data/OrderedRecordToken y%The number of child nodes must be two ==  !=  >=  >  <=  < Invalid operation  between  and  <<  >>  >>>  $convert_$add_ $subtract_'Unary node must have exactly one child! - ! ~: Int Long "String #&Double '*Boolean +. UnsignedByte /2Complex 34ObjectMatrixInteger 56 Array_get( 7.payload/*jptcg*/.Math.pow((double) , (double) $arrayRepeat $arraySum .payload. Entering node Node  evaluated to wxintdoublebooleanlongbytejava/util/HashMapPointer8 9:Mptolemy/cg/kernel/generic/program/procedural/ProceduralParseTreeCodeGenerator*ptolemy/data/expr/AbstractParseTreeVisitor0ptolemy/cg/kernel/generic/ParseTreeCodeGenerator)ptolemy/data/expr/ASTPtArrayConstructNode"ptolemy/data/expr/ASTPtBitwiseNode.ptolemy/data/expr/ASTPtFunctionApplicationNode-ptolemy/data/expr/ASTPtFunctionDefinitionNodejava/util/List"ptolemy/data/expr/ASTPtLogicalNode*ptolemy/data/expr/ASTPtMatrixConstructNode ptolemy/data/expr/ASTPtPowerNode"ptolemy/data/expr/ASTPtProductNode*ptolemy/data/expr/ASTPtRecordConstructNode%ptolemy/data/expr/ASTPtRelationalNode ptolemy/data/expr/ASTPtShiftNodeptolemy/data/expr/ASTPtSumNode ptolemy/data/expr/ASTPtUnaryNode inferTypesZ(Lptolemy/data/expr/ASTPtRootNode;Lptolemy/data/expr/ParserScope;)Lptolemy/data/type/Type;visit'(Lptolemy/data/expr/ParseTreeVisitor;)V#ptolemy/kernel/util/KernelExceptionstackTraceToString)(Ljava/lang/Throwable;)Ljava/lang/String;toStringptolemy/util/StringUtilities substituteJ(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; isConstant()Z isEvaluatedgetToken()Lptolemy/data/Token;jjtGetNumChildren()Iappend-(Ljava/lang/String;)Ljava/lang/StringBuilder;(I)Ljava/lang/StringBuilder;ptolemy/data/type/BaseTypeUNKNOWN; UnknownType InnerClasses(Lptolemy/data/type/BaseType$UnknownType;,(Ljava/lang/String;)Ljava/lang/StringBuffer; jjtGetChild(I)Lptolemy/data/expr/Node;getType()Lptolemy/data/type/Type;equals(Ljava/lang/Object;)Zptolemy/data/type/TypeLatticeleastUpperBoundJ(Lptolemy/data/type/Type;Lptolemy/data/type/Type;)Lptolemy/data/type/Type;0(Lptolemy/data/type/Type;[Lptolemy/data/Token;)V getOperator()Lptolemy/data/expr/Token;image-(Ljava/lang/Object;)Ljava/lang/StringBuilder; isBitwiseAnd isBitwiseOr isBitwiseXorgetFunctionNameptolemy/data/expr/ParserScopeget((Ljava/lang/String;)Lptolemy/data/Token;,(Ljava/lang/String;)Lptolemy/data/type/Type;indexOf(Ljava/lang/String;)I startsWith(Ljava/lang/String;)Zlength substring(II)Ljava/lang/String;(I)Ljava/lang/String; java/util/Map&(Ljava/lang/Object;)Ljava/lang/Object;getNumberOfArgumentsgetExpressionTree#()Lptolemy/data/expr/ASTPtRootNode;getArgumentNameList()Ljava/util/List; specializes(Lptolemy/data/expr/ASTPtRootNode;Ljava/util/List;Lptolemy/data/expr/ParserScope;)Lptolemy/data/expr/ASTPtRootNode;getArgumentTypes()[Lptolemy/data/type/Type;M(Ljava/util/List;[Lptolemy/data/type/Type;Lptolemy/data/expr/ASTPtRootNode;)V:(Lptolemy/data/Function;Lptolemy/data/type/FunctionType;)Vsize(I)Ljava/lang/Object;java/util/Locale getDefault()Ljava/util/Locale; toUpperCase&(Ljava/util/Locale;)Ljava/lang/String;'ptolemy/data/expr/ASTPtFunctionalIfNodelattice()Lptolemy/graph/CPO;ptolemy/graph/CPO8(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;convert*(Lptolemy/data/Token;)Lptolemy/data/Token;ptolemy/data/expr/ASTPtLeafNode complexValue()Lptolemy/math/Complex;ptolemy/math/ComplexrealD(D)Ljava/lang/StringBuilder;imag longValue()J(J)Ljava/lang/StringBuilder;getNameptolemy/data/expr/Constantstrim isLogicalAnd isLogicalOrptolemy/data/BooleanToken getInstance(Z)Lptolemy/data/BooleanToken; getRowCountgetColumnCountgetFormptolemy/data/MatrixToken arrayToMatrix3([Lptolemy/data/Token;II)Lptolemy/data/MatrixToken;determineSequenceLengthQ(Lptolemy/data/ScalarToken;Lptolemy/data/ScalarToken;Lptolemy/data/ScalarToken;)IcreateSequence@(Lptolemy/data/Token;Lptolemy/data/Token;I)[Lptolemy/data/Token;java/lang/System arraycopy*(Ljava/lang/Object;ILjava/lang/Object;II)Vf(Lptolemy/kernel/util/Nameable;Lptolemy/kernel/util/Nameable;Ljava/lang/Throwable;Ljava/lang/String;)V%ptolemy/data/expr/ASTPtMethodCallNodelabelSet()Ljava/util/Set; getMethodName java/util/SetcontainsgetLexicalTokenListkindmultiply2(Lptolemy/data/type/Type;)Lptolemy/data/type/Type;divide getFieldNamestoArray(([Ljava/lang/Object;)[Ljava/lang/Object;+([Ljava/lang/String;[Lptolemy/data/Token;)VgetClass()Ljava/lang/Class;java/lang/ClassisMinusisNot isBitwiseNotINT<IntType$Lptolemy/data/type/BaseType$IntType;LONG=LongType%Lptolemy/data/type/BaseType$LongType;STRING> StringType'Lptolemy/data/type/BaseType$StringType;DOUBLE? DoubleType'Lptolemy/data/type/BaseType$DoubleType;BOOLEAN@ BooleanType(Lptolemy/data/type/BaseType$BooleanType; UNSIGNED_BYTEAUnsignedByteType-Lptolemy/data/type/BaseType$UnsignedByteType;COMPLEXB ComplexType(Lptolemy/data/type/BaseType$ComplexType;OBJECTLptolemy/data/type/ObjectType;replaceD(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;getElementTypejava/util/ArraysasList%([Ljava/lang/Object;)Ljava/util/List;&ptolemy/data/type/BaseType$UnknownType"ptolemy/data/type/BaseType$IntType#ptolemy/data/type/BaseType$LongType%ptolemy/data/type/BaseType$StringType%ptolemy/data/type/BaseType$DoubleType&ptolemy/data/type/BaseType$BooleanType+ptolemy/data/type/BaseType$UnsignedByteType&ptolemy/data/type/BaseType$ComplexType!^_` abcdefghihjhkhlmnophqr stuvwx(yz{O***Y*Y*Y*Y* * * * *+ |2 ~~ *5:?DIN}O~Of{;*+|}~J{#YN-+,W*, +** *|}*#~##moJ{D*, *Y * *++**+ N*-* * N* -$'|6 $'(05=B}4(D~DDm=dgJ{/*|} ~{2*|} ~{2*|} ~{2*|} ~{2*|} ~{]+L+L+ L+|    }~d{i`+!+"*+#**$+%=&NY'Y()*+,*+-.:/:6,0W* *Y * +* W-*+1S+234:*55'Y(6**7*8***9*-0W *0W: ;:]*<=>?0W!'Y(@**7*-0W*'Y(*9*-*AY-B|n!"' ,%Q*V,_.g2n3y579;>ADE,O QT6XQ__e}RZYr`~`'9r,4QhV + "6` J{qL+C+D*+E**$+F=*+GHYN*+1:-*0WI3JY'Y(K*+LM*N*OP*-QI:*+R+S+T+UH6|+R -V0W+S -W0W -X0W*+1:-*0WI3JY'Y(K*+LM*N*OP*-Q*'Y(8*-OY*-*&|vopr!s"w'y7}?GPXi &BK}RAbrL~L'%r? hGb? " VIJ{ JYMN:+Z:'* * +Z[N* +Z\:]^6q-m-$:_`]adb:c^6,`b0W*+1W,'Y(**`d*-0W*,efg::+hd6-- *+1Ni2*+-j»JY'Y(k*+Z*-Ql*JY'Y(k*+Z*-Qm4-n:o!JY'Y(p*-$*-Q<JY'Y(q*-rOs*-$*t*u*v*-Q,'Y(*8*-0W6> ,,0W*+`1W,*+`w34*x0W**+y'Y(,OY*-z|8  -<AJSYcs|   ("0$9*J+W-_/e3o468;=>CFHIJLNON"H(RIT} |ArYddJr de(BrJ~JBh @b =7dmr7< 58.J{ `{Y|N-+}+~* M* *Y * +* W+m:Y+~+,:nY:*Y.:+~:+: 0W6  E'Y(* O*-0W d ,0W 0W6   C'Y(*  2*-0W  d ,0W 0W'Y(O*+}O*-0W*|#abcbf g+j8lAmFnSo`pfrq}w~} #)1V_}z Nr Hr `~`GXAS `qhwx} A+\ G AJ{ ++*+**$+= YYN*+1W-*0W-0W+3:+3:*-*0W-0W*-*0W*'Y(8*-OY*-*:*:rr:*|j!"',6>ENU_iox}\ ~'r>h_|ir+b%b"J{NQ++*+*<*M*'Y(*,,*,Y*-W****$;*&*'Y(**-**$+MN* * ,[N-,N-]*--$:_`*adb/> *> * *JY'Y(*+**-Q|  '+ V cilu#%&*,01349@ ABD'G-K.N}>++OdQ~Qdb Y, 0J{++*+**$YM+>*+GH*+1W,*0W*+++UH+662+W,0W*+1W,*0W*'Y(8*,OY*-*|RYZ\!]"a*g/h?kFmOy_enu}>h5r~*h/re^Q".WJ{ \+™+Ù*+ĵ**$+=+>h&:Y'Y(+,*+,*h+-.::/:+66  },0Wh `6  *+ 1S 2r: * 52'Y(6** 7*8***9*-0W :  ;: t*7:*<=>ȶ0W'Y(@**-0WY'Y(ɶ**-.:*'Y(*ʶ*-++Ƹ:+222̸66  +Ţ= h2 h`2 h`2̸͟ JYηQ +h&: 6  +Ţ/ h2 h`2:    hЄ  +::JYѷҿ*BEJ|6!"',4_bgox "<N\w~   /5 8= BEGU[}cr M {r rr }dCr   5r rE G\~\'5r,0r4(_hbbgo"O d L$<4J{+=*+1NY*.:/-ԙ(-:+ֹ*+ֶص::-S-rS62,0W*+1N*0W-S-rS'Y(ڶ*+ֶ*۶*-0W*|Z+, -0%1+3<4I5J:P;V<[=c@lBtE|FHI@OPQ}\ +f5r~r bhPvVpJ4J{+ܙ+ݙ*+޵**$YM+>*+GH*+1:,*0W+34:6E*+1WY'Y(8**<*Y**,**-.M**'Y(8*,OY*-|JZ[]!^"b*e/f?pGqPs]uf{n}~u}H`Hr~*h/rGb]n9"&GJ{M ++*+**$+M+>*+GH*,`+HY:*+1:*0W+34:6,d:*+1W+34:   ^Y'Y(**7*** 7*8**,***Y*-.: :.'Y(***-0W  [Y'Y(**7*** 7*8*O,***Y*-.: :'Y(***-0W ^Y'Y(**7*** 7*8**,***Y*-.: :'Y(***-0W %  *+UH*'Y(8*OY*-*|-!"',<T]eo|3=BUc#?LYfnt}f    r~ 'q x,lr];he3b|{"  V 0 fi J{++ *++=YN&:6*+1S-*0W*++H+g:+*Y*Y*-|F $*3?HNg |#$&-.}H-!r~r$h*|1> Q3J{++*+**$YM+>*+H+:*+1:,*0W!,0Wi ,0WT, 0W?, 0W*, 0W , 0W*+1:*'Y(8*,O**Y*-! yl_REJY'Y( *M*****-Q*|#346!7"<*>/?AAGBOCXEbGmHwJKMNPQSTVY]_ am%o2q?sLvmx~y}H~*jh/erGM  OEbbH"27 AJ{++*+**$+=*+H+N*+1WY*.:-)0W*-*0W-+ 0W*+1W*'Y(8*O**Y*-*|N!"'9>ER[gp|}4~'r>  Rmh1"4J {> ++*+**$+M+>*+GH*,`+HY:*+1:*+347:*+ 7:'Y(!****8***Y*-0W6*+347:,d:   @Y'Y("****8**,*-.:R  @Y'Y(#****8**,*-.: *+UH*+1W'Y(**Y*-0W*'Y(8*OY*-*|!!"',<T]enqv   '1Xnv~#}f   r~!' x,r]ghe_bvN"dD#dp "$$V$j $mF)J%&{2+$+%*+&**$*+'+(H)M+* +M+, -M+./M*+1N*'Y(,***-*-|B,-/!0"477;9B;I<P>W?^AbEiF`e}*~';Mdib "L( J)*{(&Y'Y(-*0*,1*-|vw'y}*(~(((+d',-{!+2 3d+4 5W+6 7J+8 9=+: ;0+< =#+> ?+@: AM,+i ]M+lBM,,3CD]=D,|* _osz} ~.o4d @ /0{-+E=&N6+FW-*+1S-| %+}4 r-~-(r #  J12{/YG.:,$:_`)'Y(adb*,*-0W*+1W'Y(**Y*-0W-iH:*'Y(*I**7*-|*  BIen}H~b hdn& BJ34{u+F3N*--**-*| }*~r 5J67{b$'Y(J*+*K*,*Y*-|} $~$8d$9d:;{A+L>72*-5*'Y(6**-7*8**9*-|+,->1}4A~AdA<rA=A>d>?@{1+M>(*,5 'Y(-*N**,7*-N-|@B/D}*1~1d1A1Bd/pC{6* 1=* * O0W* +0W* 0W|LMNM"Q+R5T}  r6~6d  DE{T* O=* * O0W* 'Y(P*+**-0W*Y ` |\]^]"aIbSd}  rT~T  0FE{a* \*Y d =* * O0W* 'Y(Q*+*R**O*-0W|lmop&o,s`v} ra~a 3GH{BS*+7T|}~.I-{Q+2 UF+6 79+8 V,+: W+4 X+< Y=|}Q~Q.  AJK{kOZY[e gYCSY9SY7SY5SY;SY=SY\SY?SYAS]S|  LMBz z z  z! $z% (z) ,z- 0z1