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˜—…—|†¯ù