/* Ċ Ġ* ĠCopyright Ġ 2 0 2 1 ĠGoogle ĠLLC Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ċ Ġ* Ġin Ġcompliance Ġwith Ġthe ĠLicense . ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ġdistributed Ġunder Ġthe ĠLicense Ċ Ġ* Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ċ Ġ* Ġeither Ġexpress Ġor Ġimplied . ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġkw asm . format . binary . instruction Ċ Ċ import Ġcom . google . common . truth . Truth . assertThat Ċ import Ġkw asm . ast . Identifier Ċ import Ġkw asm . ast . instruction . Control Instruction Ċ import Ġkw asm . ast . instruction . Numeric Instruction Ċ import Ġkw asm . ast . module . Index Ċ import Ġkw asm . ast . module . Type Use Ċ import Ġkw asm . ast . type . Result Ċ import Ġkw asm . ast . type . Result Type Ċ import Ġkw asm . ast . type . ValueType Ċ import Ġkw asm . format . ParseException Ċ import Ġkw asm . format . binary . Binary Parser Ċ import Ġkw asm . format . binary . toByteArray Ċ import Ġorg . junit . Assert . assert Throws Ċ import Ġorg . junit . Test Ċ import Ġorg . junit . runner . RunWith Ċ import Ġorg . junit . runners . Parameterized Ċ import Ġjava . io . ByteArray InputStream Ċ Ċ @ Suppress (" UN CHECK ED _ CAST ") Ċ @ RunWith ( Parameterized :: class ) Ċ class ĠControl Instruction Test ( val Ġparams : ĠParams ) Ġ{ ĊĠĠĠ Ġ@ Test ĊĠĠĠ Ġfun Ġrun Test () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġparser Ġ= ĠBinary Parser ( ByteArray InputStream ( params . bytes . toByteArray ())) ĊĠĠĠĠĠĠĠ Ġif Ġ( params . expected Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThat ( parser . read Instruction ()). isEqualTo ( params . expected ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠassertThrows ( params . expected Error !!. java Class ) Ġ{ Ġparser . read Instruction () Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġdata Ġclass ĠParams ( ĊĠĠĠĠĠĠĠ Ġval Ġname : ĠString , ĊĠĠĠĠĠĠĠ Ġval Ġbytes : ĠList < Int >, ĊĠĠĠĠĠĠĠ Ġval Ġexpected : ĠControl Instruction ?, ĊĠĠĠĠĠĠĠ Ġval Ġexpected Error : ĠThrowable ? Ġ= Ġnull ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ= Ġname ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINDEX Ġ= Ġ 0 x 2 C ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINDEX _ LABEL Ġ= ĠIndex . By Int ( 0 x 2 C ) Ġas ĠIndex < Identifier . Label > ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINDEX _ FUNCTION Ġ= ĠIndex . By Int ( 0 x 2 C ) Ġas ĠIndex < Identifier . Function > ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINDEX _ TYPE _ USE Ġ= ĠIndex . By Int ( 0 x 2 C ) Ġas ĠIndex < Identifier . Type > ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEMPTY _ LABEL : ĠIdentifier . Label ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠEMPTY _ RESULT TYPE Ġ= ĠResult Type ( null , Ġnull ) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠVAL U ET YPE _ RESULT TYPE Ġ= ĠResult Type ( Result ( ValueType . I 3 2 )) ĊĠĠĠĠĠĠĠ Ġprivate Ġval ĠINDEX _ RESULT TYPE Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ ĠResult Type ( null , ĠIndex . By Int ( INDEX ) Ġas ĠIndex < Identifier . Type >) ĊĊĠĠĠĠĠĠĠ Ġ@ get : Parameterized . Parameters ( name Ġ= Ġ"{ 0 }") ĊĠĠĠĠĠĠĠ Ġ@ get : Jvm Static ĊĠĠĠĠĠĠĠ Ġval Ġparameters Ġ= ĠarrayOf ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Un reachable ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Un reachable ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" No - Op ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . No Op ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( empty Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 4 0 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( empty Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( empty Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 4 0 , Ġ 0 x 0 2 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumeric Instruction . I 3 2 Equals Zero ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( value type Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 7 F , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( value type Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( value type Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , Ġ 0 x 7 F , Ġ 0 x 0 2 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( index Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , ĠINDEX , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( index Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Block Ġ( index Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 2 , ĠINDEX , Ġ 0 x 0 2 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Block ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( empty Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 4 0 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( empty Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( empty Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 4 0 , Ġ 0 x 0 3 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumeric Instruction . I 3 2 Equals Zero ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( value type Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 7 F , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( value type Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( value type Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , Ġ 0 x 7 F , Ġ 0 x 0 3 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( index Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , ĠINDEX , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( index Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Loop Ġ( index Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 3 , ĠINDEX , Ġ 0 x 0 3 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . Loop ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( empty Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( empty Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( empty Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumeric Instruction . I 3 2 Equals Zero ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( value type Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( value type Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( value type Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( index Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( index Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġno Ġelse Ġ( index Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 0 4 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( empty Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 0 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( empty Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 5 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( empty Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 5 , Ġ 0 x 0 4 , Ġ 0 x 4 0 , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumeric Instruction . I 3 2 Equals Zero ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠNumeric Instruction . I 3 2 Equals Zero ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( value type Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 0 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( value type Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 5 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( value type Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 5 , Ġ 0 x 0 4 , Ġ 0 x 7 F , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠVAL U ET YPE _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( index Ġblock type , Ġempty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 0 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( index Ġblock type , Ġnon - empty )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 5 , Ġ 0 x 4 5 , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" If Ġ- Ġelse Ġ( index Ġblock type , Ġnested )", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 4 , ĠINDEX , Ġ 0 x 0 4 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 5 , Ġ 0 x 0 4 , ĠINDEX , Ġ 0 x 4 5 , Ġ 0 x 0 B , Ġ 0 x 0 B ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠControl Instruction . If ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠEMPTY _ LABEL , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ RESULT TYPE , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( Numeric Instruction . I 3 2 Equals Zero ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġempty List () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Break ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 C , ĠINDEX ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Break ( INDEX _ LABEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Break ĠIf ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 D , ĠINDEX ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Break If ( INDEX _ LABEL ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Break ĠTable ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 E , Ġ 0 x 0 3 , ĠINDEX , ĠINDEX , ĠINDEX , ĠINDEX ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Break Table ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠlistOf ( INDEX _ LABEL , ĠINDEX _ LABEL , ĠINDEX _ LABEL ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠINDEX _ LABEL ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Return ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 0 F ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Return ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Call ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 1 0 , ĠINDEX ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Call ( INDEX _ FUNCTION ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Call ĠIn direct ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 1 1 , ĠINDEX , Ġ 0 x 0 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= ĠControl Instruction . Call Indirect ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠType Use ( INDEX _ TYPE _ USE , Ġempty List (), Ġempty List ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Call ĠIn direct Ġ- ĠMissing ĠTable ĠIndex ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 1 1 , ĠINDEX ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Error Ġ= ĠParseException (" Invalid Ġtable Ġindex ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠĠĠĠĠ ĠParams ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġ" Call ĠIn direct Ġ- ĠBad ĠTable ĠIndex ", ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= ĠlistOf ( 0 x 1 1 , ĠINDEX , Ġ 0 x 0 1 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexpected Error Ġ= ĠParseException (" Invalid Ġtable Ġindex ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ), ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ