DIRECTORY SiroccoAG2Def, SiroccoAG1Def, Rope, SiroccoCGDef, ThreeC4Support, SiroccoATDef; SiroccoCGImpl: CEDAR PROGRAM IMPORTS SiroccoAG2Def, SiroccoAG1Def, Rope EXPORTS SiroccoCGDef= BEGIN OPEN SiroccoAG2Def, SiroccoAG1Def, Rope, SiroccoCGDef, ThreeC4Support, SiroccoATDef; SiroccoCGLinkProc: PUBLIC PROC[prodLinkArray: SeeProdLinkArray, tknLinkArray: TokenLinkArray] = BEGIN tknLinkArray[tokenID] _ BuildidNode; tknLinkArray[tokenDECIMAL] _ BuilddecimalNode; tknLinkArray[tokenHEX] _ BuildhexNode; tknLinkArray[tokenOCTAL] _ BuildoctalNode; tknLinkArray[tokenROPE] _ BuildropeNode; prodLinkArray[0] _ Seeexport; prodLinkArray[1] _ Seeprogram; prodLinkArray[2] _ Seedependencyempty; prodLinkArray[3] _ Seedependencyimports; prodLinkArray[4] _ Seeimportlistone; prodLinkArray[5] _ Seeimportlistmore; prodLinkArray[6] _ Seeimport; prodLinkArray[7] _ Seedeclarationlista; prodLinkArray[8] _ Seedeclarationlistb; prodLinkArray[9] _ Seedeclarationtype; prodLinkArray[10] _ Seedeclarationconstant; prodLinkArray[11] _ Seedeclarationid; prodLinkArray[12] _ Seetypesimple; prodLinkArray[13] _ Seetypeconstruction; prodLinkArray[14] _ Seesimpletypereference; prodLinkArray[15] _ Seesimpletypeprimitive; prodLinkArray[16] _ Seereferencealias; prodLinkArray[17] _ Seereferenceimport; prodLinkArray[18] _ Seeprimitivebool; prodLinkArray[19] _ Seeprimitivecard16; prodLinkArray[20] _ Seeprimitivecard32; prodLinkArray[21] _ Seeprimitiveint16; prodLinkArray[22] _ Seeprimitiveint32; prodLinkArray[23] _ Seeprimitivesink; prodLinkArray[24] _ Seeprimitivesource; prodLinkArray[25] _ Seeprimitivestring; prodLinkArray[26] _ Seeprimitiveunspec; prodLinkArray[27] _ Seeconstructionarray; prodLinkArray[28] _ Seeconstructionchoice; prodLinkArray[29] _ Seeconstructionenum; prodLinkArray[30] _ Seeconstructionerror; prodLinkArray[31] _ Seeconstructionproc; prodLinkArray[32] _ Seeconstructionrecord; prodLinkArray[33] _ Seeconstructionnull; prodLinkArray[34] _ Seeconstructionseq; prodLinkArray[35] _ Seeconstantvalue; prodLinkArray[36] _ Seeconstantcomplex; prodLinkArray[37] _ Seeconstantchoiceconstant; prodLinkArray[38] _ Seeconstantchoiceid; prodLinkArray[39] _ Seeconstantimport; prodLinkArray[40] _ Seevaluetrue; prodLinkArray[41] _ Seevaluefalse; prodLinkArray[42] _ Seevaluenumber; prodLinkArray[43] _ Seevalueinverted; prodLinkArray[44] _ Seevaluestring; prodLinkArray[45] _ Seecomplexvaluegrouping; prodLinkArray[46] _ Seecomplexvalueconstructor; prodLinkArray[47] _ Seecomplexvaluenull; prodLinkArray[48] _ Seeoptionalnonempty; prodLinkArray[49] _ Seeoptionalalias; prodLinkArray[50] _ Seeoptionalempty; prodLinkArray[51] _ Seemandatoryvalue; prodLinkArray[52] _ Seemandatoryalias; prodLinkArray[53] _ Seeenumerationone; prodLinkArray[54] _ Seeenumerationmore; prodLinkArray[55] _ Seekeyindexpair; prodLinkArray[56] _ Seeunionone; prodLinkArray[57] _ Seeunionmore; prodLinkArray[58] _ Seeselectorone; prodLinkArray[59] _ Seeselectortwo; prodLinkArray[60] _ Seefieldlistfield; prodLinkArray[61] _ Seefieldlistmore; prodLinkArray[62] _ Seefield; prodLinkArray[63] _ Seegroupingconst; prodLinkArray[64] _ Seegroupingid; prodLinkArray[65] _ Seegroupingcmore; prodLinkArray[66] _ Seegroupingimore; prodLinkArray[67] _ Seeconstructorone; prodLinkArray[68] _ Seeconstructormore; prodLinkArray[69] _ Seebindingid; prodLinkArray[70] _ Seebindingconst; prodLinkArray[71] _ Seeargumentsempty; prodLinkArray[72] _ Seeargumentslist; prodLinkArray[73] _ Seeargumentsnull; prodLinkArray[74] _ Seeresultsempty; prodLinkArray[75] _ Seeresultslist; prodLinkArray[76] _ Seeresultsnull; prodLinkArray[77] _ Seeerrorsempty; prodLinkArray[78] _ Seeerrorslist; prodLinkArray[79] _ Seenamelistone; prodLinkArray[80] _ Seenamelistmore; prodLinkArray[81] _ Seenumberdecimal; prodLinkArray[82] _ Seenumberoctal; prodLinkArray[83] _ Seenumberhex; END; BuildidNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[idNode] = {RETURN[NEW[idNodeBody_[text, firstCharPosition, Length[text]]]]}; BuilddecimalNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[decimalNode] = {RETURN[NEW[decimalNodeBody_[text, firstCharPosition, Length[text]]]]}; BuildhexNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[hexNode] = {RETURN[NEW[hexNodeBody_[text, firstCharPosition, Length[text]]]]}; BuildoctalNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[octalNode] = {RETURN[NEW[octalNodeBody_[text, firstCharPosition, Length[text]]]]}; BuildropeNode: PUBLIC PROC[text: Rope.ROPE, firstCharPosition: INT] RETURNS[ropeNode] = {RETURN[NEW[ropeNodeBody_[text, firstCharPosition, Length[text]]]]}; Seeexport: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; program: ProgramNode; program _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[program, stack]; RETURN [stack] END; Seeprogram: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; decimalpgm: decimalNode; decimalversion: decimalNode; dependency: ImportListNode; declarationlist: DeclarationListNode; declarationlist _ NARROW[stack.first]; stack _ stack.rest; dependency _ NARROW[stack.first]; stack _ stack.rest; decimalversion _ NARROW[stack.first]; stack _ stack.rest; decimalpgm _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildProgramexportProdNode[position, length, id, decimalpgm, decimalversion, dependency, declarationlist], stack]; RETURN [stack] END; Seedependencyempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildImportListemptyProdNode[position, length], stack]; RETURN [stack] END; Seedependencyimports: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; importlist: ImportListNode; importlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[importlist, stack]; RETURN [stack] END; Seeimportlistone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; import: ImportNode; import _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildImportListmoreProdNode[position, length, BuildImportListemptyProdNode[import.position, import.position - import.length], import], stack]; RETURN [stack] END; Seeimportlistmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; importlist: ImportListNode; import: ImportNode; import _ NARROW[stack.first]; stack _ stack.rest; importlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildImportListmoreProdNode[position, length, importlist, import], stack]; RETURN [stack] END; Seeimport: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; decimalpgm: decimalNode; decimalversion: decimalNode; decimalversion _ NARROW[stack.first]; stack _ stack.rest; decimalpgm _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildImportinterfaceProdNode[position, length, id, decimalpgm, decimalversion], stack]; RETURN [stack] END; Seedeclarationlista: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildDeclarationListemptyProdNode[position, length], stack]; RETURN [stack] END; Seedeclarationlistb: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; declarationlist: DeclarationListNode; declaration: DeclarationNode; declaration _ NARROW[stack.first]; stack _ stack.rest; declarationlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildDeclarationListmoreProdNode[position, length, declarationlist, declaration], stack]; RETURN [stack] END; Seedeclarationtype: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; type: TypeNode; type _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildDeclarationtypeProdNode[position, length, id, type], stack]; RETURN [stack] END; Seedeclarationconstant: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; type: TypeNode; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; type _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildDeclarationconstantProdNode[position, length, id, type, constant], stack]; RETURN [stack] END; Seedeclarationid: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; idname: idNode; type: TypeNode; idconstant: idNode; idconstant _ NARROW[stack.first]; stack _ stack.rest; type _ NARROW[stack.first]; stack _ stack.rest; idname _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildDeclarationconstantProdNode[position, length, idname, type, BuildConstantderefProdNode[idconstant.position, idconstant.length, idconstant]], stack]; RETURN [stack] END; Seetypesimple: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[simpletype, stack]; RETURN [stack] END; Seetypeconstruction: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; construction: TypeNode; construction _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[construction, stack]; RETURN [stack] END; Seesimpletypereference: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; reference: TypeNode; reference _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[reference, stack]; RETURN [stack] END; Seesimpletypeprimitive: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; primitive: TypeNode; primitive _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[primitive, stack]; RETURN [stack] END; Seereferencealias: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypealiasProdNode[position, length, id], stack]; RETURN [stack] END; Seereferenceimport: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; idinterface: idNode; iditem: idNode; iditem _ NARROW[stack.first]; stack _ stack.rest; idinterface _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypeimportProdNode[position, length, idinterface, iditem], stack]; RETURN [stack] END; Seeprimitivebool: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypeboolProdNode[position, length], stack]; RETURN [stack] END; Seeprimitivecard16: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypecard16ProdNode[position, length], stack]; RETURN [stack] END; Seeprimitivecard32: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypecard32ProdNode[position, length], stack]; RETURN [stack] END; Seeprimitiveint16: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypeint16ProdNode[position, length], stack]; RETURN [stack] END; Seeprimitiveint32: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypeint32ProdNode[position, length], stack]; RETURN [stack] END; Seeprimitivesink: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypesinkProdNode[position, length], stack]; RETURN [stack] END; Seeprimitivesource: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypesourceProdNode[position, length], stack]; RETURN [stack] END; Seeprimitivestring: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypestringProdNode[position, length], stack]; RETURN [stack] END; Seeprimitiveunspec: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypeunspecProdNode[position, length], stack]; RETURN [stack] END; Seeconstructionarray: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; mandatory: ConstantNode; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; mandatory _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypearrayProdNode[position, length, mandatory, simpletype], stack]; RETURN [stack] END; Seeconstructionchoice: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; reference: TypeNode; union: UnionNode; union _ NARROW[stack.first]; stack _ stack.rest; reference _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypechoiceProdNode[position, length, reference, union], stack]; RETURN [stack] END; Seeconstructionenum: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; enumeration: EnumerationNode; enumeration _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypeenumProdNode[position, length, enumeration], stack]; RETURN [stack] END; Seeconstructionerror: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; arguments: FieldListNode; arguments _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypeerrorProdNode[position, length, arguments], stack]; RETURN [stack] END; Seeconstructionproc: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; arguments: FieldListNode; results: FieldListNode; errors: NameListNode; errors _ NARROW[stack.first]; stack _ stack.rest; results _ NARROW[stack.first]; stack _ stack.rest; arguments _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypeprocProdNode[position, length, arguments, results, errors], stack]; RETURN [stack] END; Seeconstructionrecord: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; fieldlist: FieldListNode; fieldlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTyperecordProdNode[position, length, fieldlist], stack]; RETURN [stack] END; Seeconstructionnull: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildTypenullProdNode[position, length], stack]; RETURN [stack] END; Seeconstructionseq: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; optional: ConstantNode; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; optional _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildTypeseqProdNode[position, length, optional, simpletype], stack]; RETURN [stack] END; Seeconstantvalue: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; value: ConstantNode; value _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[value, stack]; RETURN [stack] END; Seeconstantcomplex: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; complexvalue: ConstantNode; complexvalue _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[complexvalue, stack]; RETURN [stack] END; Seeconstantchoiceconstant: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantchoiceProdNode[position, length, id, constant], stack]; RETURN [stack] END; Seeconstantchoiceid: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; idchoice: idNode; idvalue: idNode; idvalue _ NARROW[stack.first]; stack _ stack.rest; idchoice _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantchoiceProdNode[position, length, idchoice, BuildConstantderefProdNode[idvalue.position, idvalue.length, idvalue]], stack]; RETURN [stack] END; Seeconstantimport: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; idinterface: idNode; iditem: idNode; iditem _ NARROW[stack.first]; stack _ stack.rest; idinterface _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantimportProdNode[position, length, idinterface, iditem], stack]; RETURN [stack] END; Seevaluetrue: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildConstanttrueProdNode[position, length], stack]; RETURN [stack] END; Seevaluefalse: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildConstantfalseProdNode[position, length], stack]; RETURN [stack] END; Seevaluenumber: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; number: NumberNode; number _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantnumberProdNode[position, length, number], stack]; RETURN [stack] END; Seevalueinverted: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; number: NumberNode; number _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantinvertedProdNode[position, length, number], stack]; RETURN [stack] END; Seevaluestring: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; rope: ropeNode; rope _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantstringProdNode[position, length, rope], stack]; RETURN [stack] END; Seecomplexvaluegrouping: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; grouping: GroupingNode; grouping _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantgroupingProdNode[position, length, grouping], stack]; RETURN [stack] END; Seecomplexvalueconstructor: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; constructor: ConstructorNode; constructor _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantconstructorProdNode[position, length, constructor], stack]; RETURN [stack] END; Seecomplexvaluenull: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildConstantemptyProdNode[position, length], stack]; RETURN [stack] END; Seeoptionalnonempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[constant, stack]; RETURN [stack] END; Seeoptionalalias: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantderefProdNode[position, length, id], stack]; RETURN [stack] END; Seeoptionalempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildConstantunboundedProdNode[position, length], stack]; RETURN [stack] END; Seemandatoryvalue: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[constant, stack]; RETURN [stack] END; Seemandatoryalias: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstantderefProdNode[position, length, id], stack]; RETURN [stack] END; Seeenumerationone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; keyindexpair: EnumerationNode; keyindexpair _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[keyindexpair, stack]; RETURN [stack] END; Seeenumerationmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; keyindexpair: EnumerationNode; enumeration: EnumerationNode; enumeration _ NARROW[stack.first]; stack _ stack.rest; keyindexpair _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildEnumerationmoreProdNode[position, length, keyindexpair, enumeration], stack]; RETURN [stack] END; Seekeyindexpair: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; mandatory: ConstantNode; mandatory _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildEnumerationoneProdNode[position, length, id, mandatory], stack]; RETURN [stack] END; Seeunionone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; selector: UnionNode; selector _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[selector, stack]; RETURN [stack] END; Seeunionmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; selector: UnionNode; union: UnionNode; union _ NARROW[stack.first]; stack _ stack.rest; selector _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildUnionmoreProdNode[position, length, selector, union], stack]; RETURN [stack] END; Seeselectorone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildUniononeProdNode[position, length, namelist, simpletype], stack]; RETURN [stack] END; Seeselectortwo: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; number: NumberNode; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; number _ NARROW[stack.first]; stack _ stack.rest; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildUniononeProdNode[position, length, namelist, simpletype], stack]; RETURN [stack] END; Seefieldlistfield: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; field: FieldListNode; field _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildFieldListmoreProdNode[position, length, field, BuildFieldListemptyProdNode[field.position, field.position - field.length]], stack]; RETURN [stack] END; Seefieldlistmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; field: FieldListNode; fieldlist: FieldListNode; fieldlist _ NARROW[stack.first]; stack _ stack.rest; field _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildFieldListmoreProdNode[position, length, field, fieldlist], stack]; RETURN [stack] END; Seefield: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; simpletype: TypeNode; simpletype _ NARROW[stack.first]; stack _ stack.rest; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildFieldListoneProdNode[position, length, namelist, simpletype], stack]; RETURN [stack] END; Seegroupingconst: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildGroupingoneProdNode[position, length, constant], stack]; RETURN [stack] END; Seegroupingid: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildGroupingoneProdNode[position, length, BuildConstantderefProdNode[id.position, id.length, id]], stack]; RETURN [stack] END; Seegroupingcmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; constant: ConstantNode; grouping: GroupingNode; grouping _ NARROW[stack.first]; stack _ stack.rest; constant _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildGroupingmoreProdNode[position, length, constant, grouping], stack]; RETURN [stack] END; Seegroupingimore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; grouping: GroupingNode; grouping _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildGroupingmoreProdNode[position, length, BuildConstantderefProdNode[id.position, id.length, id], grouping], stack]; RETURN [stack] END; Seeconstructorone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; binding: BindingNode; binding _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstructoroneProdNode[position, length, binding], stack]; RETURN [stack] END; Seeconstructormore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; binding: BindingNode; constructor: ConstructorNode; constructor _ NARROW[stack.first]; stack _ stack.rest; binding _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildConstructormoreProdNode[position, length, binding, constructor], stack]; RETURN [stack] END; Seebindingid: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildBindingProdNode[position, length, namelist, BuildConstantderefProdNode[id.position, id.length, id]], stack]; RETURN [stack] END; Seebindingconst: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; constant: ConstantNode; constant _ NARROW[stack.first]; stack _ stack.rest; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildBindingProdNode[position, length, namelist, constant], stack]; RETURN [stack] END; Seeargumentsempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildFieldListemptyProdNode[position, length], stack]; RETURN [stack] END; Seeargumentslist: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; fieldlist: FieldListNode; fieldlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[fieldlist, stack]; RETURN [stack] END; Seeargumentsnull: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildFieldListemptyProdNode[position, length], stack]; RETURN [stack] END; Seeresultsempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildFieldListemptyProdNode[position, length], stack]; RETURN [stack] END; Seeresultslist: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; fieldlist: FieldListNode; fieldlist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[fieldlist, stack]; RETURN [stack] END; Seeresultsnull: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildFieldListemptyProdNode[position, length], stack]; RETURN [stack] END; Seeerrorsempty: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; stack _ CONS[BuildNameListemptyProdNode[position, length], stack]; RETURN [stack] END; Seeerrorslist: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; namelist: NameListNode; namelist _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[namelist, stack]; RETURN [stack] END; Seenamelistone: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildNameListoneProdNode[position, length, id], stack]; RETURN [stack] END; Seenamelistmore: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; id: idNode; namelist: NameListNode; namelist _ NARROW[stack.first]; stack _ stack.rest; id _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildNameListmoreProdNode[position, length, id, namelist], stack]; RETURN [stack] END; Seenumberdecimal: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; decimal: decimalNode; decimal _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildNumberdecimalProdNode[position, length, decimal], stack]; RETURN [stack] END; Seenumberoctal: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; octal: octalNode; octal _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildNumberoctalProdNode[position, length, octal], stack]; RETURN [stack] END; Seenumberhex: PROC [nodes: LIST OF REF ANY, position: INT, length: INT] RETURNS [LIST OF REF ANY] = BEGIN stack: LIST OF REF ANY _ nodes; hex: hexNode; hex _ NARROW[stack.first]; stack _ stack.rest; stack _ CONS[BuildNumberhexProdNode[position, length, hex], stack]; RETURN [stack] END; END.. æSiroccoCGImpl.mesa Copyright Ó 1987 by Xerox Corporation. All rights reserved. Generated by BJackson.pa at August 26, 1987 3:38:04 pm PDT using ThreeCasabaFour [1.2] of June 1, 1987 6:00:00 pm PDT id decimal hex octal rope �Ê2�˜šœ™Jšœ<™Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ2˜>Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ1˜=Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ3˜?Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ3˜?Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ3˜?Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜OJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜!J˜Jšœ �œ˜ J˜Jšœ�œI˜UJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜PJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ�œ˜J˜Jšœ �œ˜ J˜Jšœ�œE˜QJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜"J˜Jšœ�œ>˜JJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜OJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜ J˜Jšœ�œ=˜IJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜J˜Jšœ �œ˜J˜Jšœ �œ˜J˜Jšœ �œ˜ J˜Jšœ�œM˜YJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜PJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜ J˜Jšœ�œ>˜JJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ1˜=Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜!J˜Jšœ �œ˜J˜Jšœ�œF˜RJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜#J˜Jšœ�œ˜"Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜TJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ J˜Jšœ �œ˜J˜Jšœ�œ˜J˜Jšœ�œE˜QJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜J˜Jšœ �œ˜J˜Jšœ�œˆ˜”Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜J˜Jšœ�œ˜"J˜Jšœ�œL˜XJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜GJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ5˜AJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜HJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ6˜BJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ?˜KJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œA˜MJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜J˜Jšœ�œ=˜IJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜RJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œC˜OJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜UJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜"J˜Jšœ�œI˜UJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ6˜BJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜NJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ Jšœ�œ˜J˜Jšœ�œ:˜FJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ:˜FJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ Jšœ�œ˜J˜Jšœ�œ:˜FJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜#J˜Jšœ�œ˜"Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ�œ˜"J˜Jšœ�œ˜#J˜Jšœ�œS˜_Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜JJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ J˜Jšœ �œ˜ J˜Jšœ�œ˜J˜Jšœ�œF˜RJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜FJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜GJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ�œ˜J˜Jšœ �œ˜J˜Jšœ�œC˜OJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜!J˜Jšœ �œ˜J˜Jšœ�œG˜SJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜J˜Jšœ �œ˜!J˜Jšœ �œ˜J˜Jšœ �œ˜J˜Jšœ�œG˜SJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜J˜Jšœ�œ‰˜•Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜ J˜Jšœ�œ˜J˜Jšœ�œH˜TJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜CJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜!J˜Jšœ �œ˜J˜Jšœ�œK˜WJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ>˜JJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜HJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ Jšœ�œ˜J˜Jšœ�œl˜xJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜J˜Jšœ �œ˜J˜Jšœ�œI˜UJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ J˜Jšœ �œ˜J˜Jšœ�œ˜J˜Jšœ�œw˜ƒJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ@˜LJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜MJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ�œ˜"J˜Jšœ �œ˜J˜Jšœ�œN˜ZJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜GJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜ Jšœ�œ˜J˜Jšœ �œ˜J˜Jšœ�œr˜~Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜JJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜J˜Jšœ �œ˜J˜Jšœ �œ˜J˜Jšœ�œD˜PJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜LJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ7˜CJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜ J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ7˜CJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜JJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ7˜CJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜ J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ7˜CJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜Jšœ�œ6˜BJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜HJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ˜Jš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ Jšœ�œ˜J˜Jšœ�œ8˜DJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜JJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ J˜Jšœ �œ˜J˜Jšœ�œ˜J˜Jšœ�œC˜OJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜KJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ �œ˜J˜Jšœ�œ?˜KJš�œ˜Jš�œ˜J˜šžœ�œ �œ�œ�œ�œ �œ �œ˜IJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜Jšœ�œ˜J˜Jšœ�œ;˜GJš�œ˜Jš�œ˜J˜šž œ�œ �œ�œ�œ�œ �œ �œ˜GJš �œ�œ�œ�œ�œ˜—Jš�˜Jš œ�œ�œ�œ�œ ˜J˜ Jšœ�œ˜J˜Jšœ�œ7˜CJš�œ˜Jš�œ˜J˜Jš�œ˜J˜—…—|†¯ù