text:
<!DOCTYPE html>
<html xmlns:m="http://schemas.microsoft.com/office/2004/12/omml"
      xmlns:o="urn:schemas-microsoft-com:office:office"
      xmlns:v="urn:schemas-microsoft-com:vml"
      xmlns:w="urn:schemas-microsoft-com:office:word">
<head>
  <meta content="text/html; charset=utf-8"
        http-equiv="Content-Type">
  <meta content="Word.Document"
        name="ProgId">
  <meta content="Microsoft Word 12"
        name="Generator">
  <meta content="Microsoft Word 12"
        name="Originator">
  <link href="JarelSyntax_archivos/filelist.xml"
        rel="File-List">
  <link href="JarelSyntax_archivos/editdata.mso"
        rel="Edit-Time-Data"><!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
  <title>BNF for Karel: Java Syntax</title><!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Cesar Cepeda</o:Author>
  <o:LastAuthor>Cesar Cepeda</o:LastAuthor>
  <o:Revision>2</o:Revision>
  <o:TotalTime>1</o:TotalTime>
  <o:Created>2007-06-07T16:33:00Z</o:Created>
  <o:LastSaved>2007-06-07T16:34:00Z</o:LastSaved>
  <o:Pages>2</o:Pages>
  <o:Words>708</o:Words>
  <o:Characters>3896</o:Characters>
  <o:Company>Auronix SA de CV</o:Company>
  <o:Lines>32</o:Lines>
  <o:Paragraphs>9</o:Paragraphs>
  <o:CharactersWithSpaces>4595</o:CharactersWithSpaces>
  <o:Version>12.00</o:Version>
 </o:DocumentProperties>
</xml><![endif]-->
  <link href="JarelSyntax_archivos/themedata.thmx"
        rel="themeData">
  <link href="JarelSyntax_archivos/colorschememapping.xml"
        rel="colorSchemeMapping"><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:SpellingState>Clean</w:SpellingState>
  <w:GrammarState>Clean</w:GrammarState>
  <w:TrackMoves>false</w:TrackMoves>
  <w:TrackFormatting/>
  <w:HyphenationZone>21</w:HyphenationZone>
  <w:ValidateAgainstSchemas/>
  <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid>
  <w:IgnoreMixedContent>false</w:IgnoreMixedContent>
  <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText>
  <w:DoNotPromoteQF/>
  <w:LidThemeOther>ES-MX</w:LidThemeOther>
  <w:LidThemeAsian>X-NONE</w:LidThemeAsian>
  <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript>
  <w:Compatibility>
   <w:BreakWrappedTables/>
   <w:SnapToGridInCell/>
   <w:WrapTextWithPunct/>
   <w:UseAsianBreakRules/>
   <w:DontGrowAutofit/>
   <w:SplitPgBreakAndParaMark/>
   <w:DontVertAlignCellWithSp/>
   <w:DontBreakConstrainedForcedTables/>
   <w:DontVertAlignInTxbx/>
   <w:Word11KerningPairs/>
   <w:CachedColBalance/>
  </w:Compatibility>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  <m:mathPr>
   <m:mathFont m:val="Cambria Math"/>
   <m:brkBin m:val="before"/>
   <m:brkBinSub m:val="=="/>
   <m:smallFrac m:val="off"/>
   <m:dispDef/>
   <m:lMargin m:val="0"/>
   <m:rMargin m:val="0"/>
   <m:defJc m:val="centerGroup"/>
   <m:wrapIndent m:val="1440"/>
   <m:intLim m:val="subSup"/>
   <m:naryLim m:val="undOvr"/>
  </m:mathPr></w:WordDocument>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="true"
  DefSemiHidden="true" DefQFormat="false" DefPriority="99"
  LatentStyleCount="267">
  <w:LsdException Locked="false" Priority="0" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Normal"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 1"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 2"/>
  <w:LsdException Locked="false" Priority="9" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="heading 3"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 4"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 5"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 6"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 7"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 8"/>
  <w:LsdException Locked="false" Priority="9" QFormat="true" Name="heading 9"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 1"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 2"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 3"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 4"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 5"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 6"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 7"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 8"/>
  <w:LsdException Locked="false" Priority="39" Name="toc 9"/>
  <w:LsdException Locked="false" Priority="35" QFormat="true" Name="caption"/>
  <w:LsdException Locked="false" Priority="10" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Title"/>
  <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/>
  <w:LsdException Locked="false" Priority="11" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtitle"/>
  <w:LsdException Locked="false" Priority="22" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Strong"/>
  <w:LsdException Locked="false" Priority="20" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Emphasis"/>
  <w:LsdException Locked="false" Priority="59" SemiHidden="false"
   UnhideWhenUsed="false" Name="Table Grid"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Placeholder Text"/>
  <w:LsdException Locked="false" Priority="1" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="No Spacing"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 1"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 1"/>
  <w:LsdException Locked="false" UnhideWhenUsed="false" Name="Revision"/>
  <w:LsdException Locked="false" Priority="34" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="List Paragraph"/>
  <w:LsdException Locked="false" Priority="29" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Quote"/>
  <w:LsdException Locked="false" Priority="30" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Quote"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 1"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 1"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 1"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 1"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 1"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 1"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 1"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 2"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 2"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 2"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 2"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 2"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 2"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 2"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 2"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 3"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 3"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 3"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 3"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 3"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 3"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 3"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 3"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 4"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 4"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 4"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 4"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 4"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 4"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 4"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 4"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 5"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 5"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 5"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 5"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 5"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 5"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 5"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 5"/>
  <w:LsdException Locked="false" Priority="60" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="61" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light List Accent 6"/>
  <w:LsdException Locked="false" Priority="62" SemiHidden="false"
   UnhideWhenUsed="false" Name="Light Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="63" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="64" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Shading 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="65" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="66" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium List 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="67" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 1 Accent 6"/>
  <w:LsdException Locked="false" Priority="68" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 2 Accent 6"/>
  <w:LsdException Locked="false" Priority="69" SemiHidden="false"
   UnhideWhenUsed="false" Name="Medium Grid 3 Accent 6"/>
  <w:LsdException Locked="false" Priority="70" SemiHidden="false"
   UnhideWhenUsed="false" Name="Dark List Accent 6"/>
  <w:LsdException Locked="false" Priority="71" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Shading Accent 6"/>
  <w:LsdException Locked="false" Priority="72" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful List Accent 6"/>
  <w:LsdException Locked="false" Priority="73" SemiHidden="false"
   UnhideWhenUsed="false" Name="Colorful Grid Accent 6"/>
  <w:LsdException Locked="false" Priority="19" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Emphasis"/>
  <w:LsdException Locked="false" Priority="21" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Emphasis"/>
  <w:LsdException Locked="false" Priority="31" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Subtle Reference"/>
  <w:LsdException Locked="false" Priority="32" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Intense Reference"/>
  <w:LsdException Locked="false" Priority="33" SemiHidden="false"
   UnhideWhenUsed="false" QFormat="true" Name="Book Title"/>
  <w:LsdException Locked="false" Priority="37" Name="Bibliography"/>
  <w:LsdException Locked="false" Priority="39" QFormat="true" Name="TOC Heading"/>
 </w:LatentStyles>
</xml><![endif]-->

  <style>
  <!--
  /* Font Definitions */
  @font-face
        {font-family:Wingdings;
        panose-1:5 0 0 0 0 0 0 0 0 0;
        mso-font-charset:2;
        mso-generic-font-family:auto;
        mso-font-pitch:variable;
        mso-font-signature:0 268435456 0 0 -2147483648 0;}
  @font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;
        mso-font-charset:1;
        mso-generic-font-family:roman;
        mso-font-format:other;
        mso-font-pitch:variable;
        mso-font-signature:0 0 0 0 0 0;}
  /* Style Definitions */
  p.MsoNormal, li.MsoNormal, div.MsoNormal
        {mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-parent:"";
        margin:0cm;
        margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:minor-fareast;}
  h1
        {mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-link:"T\00EDtulo 1 Car";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        mso-pagination:widow-orphan;
        mso-outline-level:1;
        font-size:24.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:minor-fareast;
        font-weight:bold;}
  h2
        {mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-link:"T\00EDtulo 2 Car";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        mso-pagination:widow-orphan;
        mso-outline-level:2;
        font-size:18.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:minor-fareast;
        font-weight:bold;}
  h3
        {mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-qformat:yes;
        mso-style-link:"T\00EDtulo 3 Car";
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        mso-pagination:widow-orphan;
        mso-outline-level:3;
        font-size:13.5pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:minor-fareast;
        font-weight:bold;}
  p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        mso-pagination:widow-orphan;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:minor-fareast;}
  span.Ttulo2Car
        {mso-style-name:"T\00EDtulo 2 Car";
        mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-locked:yes;
        mso-style-link:"T\00EDtulo 2";
        mso-ansi-font-size:13.0pt;
        mso-bidi-font-size:13.0pt;
        font-family:"Cambria","serif";
        mso-ascii-font-family:Cambria;
        mso-ascii-theme-font:major-latin;
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:major-fareast;
        mso-hansi-font-family:Cambria;
        mso-hansi-theme-font:major-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:major-bidi;
        color:#4F81BD;
        mso-themecolor:accent1;
        font-weight:bold;}
  span.Ttulo3Car
        {mso-style-name:"T\00EDtulo 3 Car";
        mso-style-noshow:yes;
        mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-locked:yes;
        mso-style-link:"T\00EDtulo 3";
        mso-ansi-font-size:12.0pt;
        mso-bidi-font-size:12.0pt;
        font-family:"Cambria","serif";
        mso-ascii-font-family:Cambria;
        mso-ascii-theme-font:major-latin;
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:major-fareast;
        mso-hansi-font-family:Cambria;
        mso-hansi-theme-font:major-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:major-bidi;
        color:#4F81BD;
        mso-themecolor:accent1;
        font-weight:bold;}
  span.Ttulo1Car
        {mso-style-name:"T\00EDtulo 1 Car";
        mso-style-priority:9;
        mso-style-unhide:no;
        mso-style-locked:yes;
        mso-style-link:"T\00EDtulo 1";
        mso-ansi-font-size:14.0pt;
        mso-bidi-font-size:14.0pt;
        font-family:"Cambria","serif";
        mso-ascii-font-family:Cambria;
        mso-ascii-theme-font:major-latin;
        mso-fareast-font-family:"Times New Roman";
        mso-fareast-theme-font:major-fareast;
        mso-hansi-font-family:Cambria;
        mso-hansi-theme-font:major-latin;
        mso-bidi-font-family:"Times New Roman";
        mso-bidi-theme-font:major-bidi;
        color:#365F91;
        mso-themecolor:accent1;
        mso-themeshade:191;
        font-weight:bold;}
  span.SpellE
        {mso-style-name:"";
        mso-spl-e:yes;}
  .MsoChpDefault
        {mso-style-type:export-only;
        mso-default-props:yes;
        font-size:10.0pt;
        mso-ansi-font-size:10.0pt;
        mso-bidi-font-size:10.0pt;}
  @page Section1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;
        mso-header-margin:35.4pt;
        mso-footer-margin:35.4pt;
        mso-paper-source:0;}
  div.Section1
        {page:Section1;}
  /* List Definitions */
  @list l0
        {mso-list-id:1243832032;
        mso-list-template-ids:-1958322938;}
  @list l0:level1
        {mso-level-number-format:bullet;
        mso-level-text:\F0B7;
        mso-level-tab-stop:36.0pt;
        mso-level-number-position:left;
        text-indent:-18.0pt;
        mso-ansi-font-size:10.0pt;
        font-family:Symbol;}
  ol
        {margin-bottom:0cm;}
  ul
        {margin-bottom:0cm;}
  -->
  </style><!--[if gte mso 10]>
<style>
 /* Style Definitions */
 table.MsoNormalTable
        {mso-style-name:"Tabla normal";
        mso-tstyle-rowband-size:0;
        mso-tstyle-colband-size:0;
        mso-style-noshow:yes;
        mso-style-priority:99;
        mso-style-qformat:yes;
        mso-style-parent:"";
        mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
        mso-para-margin:0cm;
        mso-para-margin-bottom:.0001pt;
        mso-pagination:widow-orphan;
        font-size:10.0pt;
        font-family:"Times New Roman","serif";}
</style>
<![endif]--><!--[if gte mso 9]><xml>
 <o:shapedefaults v:ext="edit" spidmax="2050"/>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <o:shapelayout v:ext="edit">
  <o:idmap v:ext="edit" data="1"/>
 </o:shapelayout></xml><![endif]-->
</head>
<body background="../Common/workbook2.gif"
      bgcolor="white"
      lang="ES-MX"
      link="blue"
      style='tab-interval:35.4pt'
      vlink="purple">
  <div class="Section1">
    <h2 align="center"
        style='text-align:center'><span style='mso-fareast-font-family: "Times New Roman"'>KAREL
        OMI Versión 2.0 por Cesar Cepeda<br>
    Para comentarios escriba a cesar@auronix.com</span></h2>
    <h3 align="center"
        style='text-align:center'><span style='mso-fareast-font-family: "Times New Roman"'>Revisado
        por Eduardo <span class="SpellE">Urias</span> Barrientos AKA <span class=
        "SpellE">Wero</span> <span class="SpellE">Shinoda</span></span></h3>
    <h1 align="center"
        style='text-align:center'><span style=
        'mso-fareast-font-family: "Times New Roman"'> <a href="KarelJAVA.html">TUTORIAL DE
        KAREL</a></span></h1>
    <h1 align="center"
        style='text-align:center'><span style='mso-fareast-font-family: "Times New Roman"'>BNF para
        <span class="SpellE">Karel</span>: <span class="SpellE">Síntaxis</span> de Java</span></h1>
    <div align="center">
      <table border="0"
             cellpadding="0"
             class="MsoNormalTable"
             style=
             'mso-cellspacing:1.5pt; mso-yfti-tbllook:1184;mso-padding-alt:7.5pt 7.5pt 7.5pt 7.5pt'>

        <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod2"
               name="prod2"><span style='mso-fareast-font-family:"Times New Roman"'>Declaración de
               programa</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='width:16.5pt;padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top"
              width="22">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p>"<span class="SpellE">class</span> <span class="SpellE">program</span> { "<br>
                 [ <a href="#prod4">Declaración de Método</a>] ...<br>
                 "<span class="SpellE">program</span> () "<br>
                  <a href="#prod11">Bloque</a><br>
            "}"<br>
             <a href="#EOF">EOF</a></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:1'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod4"
               name="prod4"><span style='mso-fareast-font-family:"Times New Roman"'>Declaración de
               método</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#prod9">Tipo</a>   <a href="#prod10">Firma de método</a><br>
                   <a href="#prod11">Bloque</a></span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:2'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top"></td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top"></td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top"></td>
        </tr>
        <tr style='mso-yfti-irow:3'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod10"
               name="prod10"><span style='mso-fareast-font-family:"Times New Roman"'>Firma de
               método</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#Identifier">Identificador</a>  <a href="#prod12">Parámetro
            opcional</a></span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:4'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod12"
               name="prod12"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Parámetro</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'>opcional</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>"(" [
            <a href="#Identifier">Identificador</a> ] ")"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:5'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod9"
               name="prod9"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Tipo</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>{
            "<span class="SpellE">void</span>" | "define" }f</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:6'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod14"
               name="prod14"><span style='mso-fareast-font-family:"Times New Roman"'>Argumento
               vacío</span></a> <span style='mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>"("
            ")"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:7'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod15"
               name="prod15"><span style='mso-fareast-font-family:"Times New Roman"'>Argumento
               opcional</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>"(" [
            <a href="#prod16"><span class="SpellE">Expresion</span> entera</a> ] ")"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:8'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod8"
               name="prod8"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>( <a href=
            "#prod11">Bloque</a><br>
            | <a href="#prod17">Expresión vacía</a><br>
            | <a href="#prod18">Expresión <span class="SpellE">if</span></a><br>
            | <a href="#prod19">Expresión <span class="SpellE">while</span></a><br>
            | <a href="#prod20">Expresión <span class="SpellE">iterate</span></a><br>
            | <a href="#prod21">Expresión <span class="SpellE">turnoff</span></a><br>
            | <a href="#prod22">Expresión <span class="SpellE">turnleft</span></a><br>
            | <a href="#prod23">Expresión <span class="SpellE">move</span></a><br>
            | <a href="#prod24">Expresión <span class="SpellE">pickbeeper</span></a><br>
            | <a href="#prod25">Expresión <span class="SpellE">putbeeper</span></a><br>
            | <a href="#prod125">Expresión <span class="SpellE">return</span></a><br>
            | <a href="#prod26">Expresión de llamada</a> )</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:9'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod11"
               name="prod11"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Bloque</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>"{" [
            <a href="#prod8">Expresión</a> ] ... "}"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:10'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod17"
               name="prod17"><span style='mso-fareast-font-family:"Times New Roman"'>Expresión
               vacía</span></a> <span style='mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:11'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod26"
               name="prod26"><span style='mso-fareast-font-family:"Times New Roman"'>Expresión de
               llamada</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#Identifier">Identificador</a>   <a href="#prod15">Argumento opcional</a>
            ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:12'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod16"
               name="prod16"><span style='mso-fareast-font-family:"Times New Roman"'>Expresión
               entera</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>{ <a href=
            "#Decimal_">Decimal</a> <br>
            | <a href="#Identifier">Identificador</a><br>
            | "<span class="SpellE">pred</span>" "(" <a href="#prod16">Expresión entera</a> ")"<br>
            | "<span class="SpellE">succ</span>" "(" <a href="#prod16">Expresión entera</a> ")"
            }</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:13'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod27"
               name="prod27"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Término</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#prod28">Cláusula Y</a> [ "||" <a href="#prod28">Cláusula Y</a> ] ...</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:14'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod28"
               name="prod28"><span style='mso-fareast-font-family:"Times New Roman"'>Cláusula
               Y</span></a> <span style='mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#prod29">Cláusula No</a> [ "&&" <a href="#prod29">Cláusula No</a> ]
            ...</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:15'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod29"
               name="prod29"><span style='mso-fareast-font-family:"Times New Roman"'>Cláusula
               No</span></a> <span style='mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>[ "!" ]
            <a href="#prod30">Cláusula Atómica</a></span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:16'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod30"
               name="prod30"><span style='mso-fareast-font-family:"Times New Roman"'>Cláusula
               atómica</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>{
            "<span class="SpellE">iszero</span>" "(" <a href="#prod16">Expresión entera</a> ")"<br>
            | <a href="#BooleanFunction">Función Booleana<br></a> | <a href="#prod14">Argumento
            vacío</a><br>
            | "(" <a href="#prod27">Término</a> ")" }</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:17'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod18"
               name="prod18"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod18'><span style=
               'mso-fareast-font-family:"Times New Roman"'>if</span></span></span> <span style=
               'mso-bookmark:prod18'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">if</span>" "("
            <a href="#prod27">Término</a> ")" <a href="#prod8">Expresión</a> ["<span class=
            "SpellE">else</span>" <a href="#prod8">Expresión</a> ]</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:18'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod19"
               name="prod19"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod19'><span style=
               'mso-fareast-font-family:"Times New Roman"'>while</span></span></span> <span style=
               'mso-bookmark:prod19'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">while</span>" "("
            <a href="#prod27">Término</a> ")" <a href="#prod8">Expresión</a></span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:19'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod20"
               name="prod20"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod20'><span style=
               'mso-fareast-font-family:"Times New Roman"'>iterate</span></span></span> <span style=
               'mso-bookmark:prod20'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">iterate</span>" "("
            <a href="#prod16">Expresión entera</a> ")" <a href="#prod8">Expresión</a></span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:20'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod21"
               name="prod21"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod21'><span style=
               'mso-fareast-font-family:"Times New Roman"'>turnoff</span></span></span> <span style=
               'mso-bookmark:prod21'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">turnoff</span>"
            <a href="#prod14">Argumento <span class="SpellE">vaciío</span></a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:21'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod22"
               name="prod22"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod22'><span style=
               'mso-fareast-font-family:"Times New Roman"'>turnleft</span></span></span>
               <span style='mso-bookmark:prod22'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">turnleft</span>"
            <a href="#prod14">Argumento vacío</a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:22'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod23"
               name="prod23"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod23'><span style=
               'mso-fareast-font-family:"Times New Roman"'>move</span></span></span> <span style=
               'mso-bookmark:prod23'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">move</span>" <a href=
            "#prod14">Argumento vacío</a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:23'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod24"
               name="prod24"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod24'><span style=
               'mso-fareast-font-family:"Times New Roman"'>pickbeeper</span></span></span>
               <span style='mso-bookmark:prod24'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">pickbeeper</span>"
            <a href="#prod14">Argumento vacío</a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:24'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod25"
               name="prod25"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod25'><span style=
               'mso-fareast-font-family:"Times New Roman"'>putbeeper</span></span></span>
               <span style='mso-bookmark:prod25'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">putbeeper</span>"
            <a href="#prod14">Argumento vacío</a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:25'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod125"
               name="prod125"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Expresión</span></a> <span class=
               "SpellE"><span style='mso-bookmark:prod125'><span style=
               'mso-fareast-font-family:"Times New Roman"'>return</span></span></span> <span style=
               'mso-bookmark:prod125'><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></span><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>"<span class="SpellE">return</span>"
            <a href="#prod14">Argumento vacío</a> ";"</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:26'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="Identifier"
               name="Identifier"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Identificador</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'><a href=
            "#Letter">Letra</a> [ <a href="#Letter">Letra</a> | <a href="#Digit">Dígito</a> | "-" ]
            ...</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:27'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="Decimal"
               name="Decimal"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Decimal</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>{
            {"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"} [ <a href="#Digit">Dígito</a> ] ...<br>
            | "0" }</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:28'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="String"
               name="String"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Cadena</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>Cualquier
            cosa entre comillas en una única línea</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:29'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="BooleanFunction"
               name="BooleanFunction"><span style=
               'mso-fareast-font-family: "Times New Roman"'>Función Booleana</span></a> <span style=
               'mso-fareast-font-family: "Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>{"<span class=
            "SpellE">frontIsClear</span>"<br>
            | "<span class="SpellE">frontIsBlocked</span>"<br>
            | "<span class="SpellE">leftIsClear</span>"<br>
            | "<span class="SpellE">leftIsBlocked</span>"<br>
            | "<span class="SpellE">rightIsClear</span>"<br>
            | "<span class="SpellE">rightIsBlocked</span>"<br>
            | "<span class="SpellE">nextToABeeper</span>"<br>
            | "<span class="SpellE">notNextToABeeper</span>"<br>
            | "<span class="SpellE">anyBeepersInBeeperBag</span>"<br>
            | "<span class="SpellE">noBeepersInBeeperBag</span>"<br>
            | "<span class="SpellE">facingNorth</span>"<br>
            | "<span class="SpellE">facingSouth</span>"<br>
            | "<span class="SpellE">facingEast</span>"<br>
            | "<span class="SpellE">facingWest</span>"<br>
            | "<span class="SpellE">notFacingNorth</span>"<br>
            | "<span class="SpellE">notFacingSouth</span>"<br>
            | "<span class="SpellE">notFacingEast</span>"<br>
            | "<span class="SpellE">notFacingWest</span>"}</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:30'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="Digit"
               name="Digit"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Dígito</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style=
            'mso-fareast-font-family:"Times New Roman"'>{"0"|"1"|"2"|"3"|"4"|"5"|"6"|"7"|"8"|"9"}</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:31'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="Letter"
               name="Letter"><span style=
               'mso-fareast-font-family:"Times New Roman"'>Letra</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>Una letra
            del alfabeto</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:32'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="EOF"
               name="EOF"><span style=
               'mso-fareast-font-family:"Times New Roman"'>EOF</span></a><span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>Marca el
            final del fichero</span></p>
          </td>
        </tr>
        <tr style='mso-yfti-irow:33'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'></td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'></td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'></td>
        </tr>
        <tr style='mso-yfti-irow:34'>
          <td colspan="3"
              style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <h2 align="center"
                style='text-align:center'><span style=
                'mso-fareast-font-family: "Times New Roman"'>Definición del panel
                instantáneo</span></h2>
          </td>
        </tr>
        <tr style='mso-yfti-irow:35;mso-yfti-lastrow:yes'>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="right"
               class="MsoNormal"
               style='text-align:right'><a id="prod7"
               name="prod7"><span style='mso-fareast-font-family:"Times New Roman"'>Programa
               instantáneo</span></a> <span style=
               'mso-fareast-font-family:"Times New Roman"'></span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p align="center"
               class="MsoNormal"
               style='text-align:center'><span style=
               'mso-fareast-font-family:"Times New Roman"'>::=</span></p>
          </td>
          <td style='padding:7.5pt 7.5pt 7.5pt 7.5pt'
              valign="top">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>[ <a href=
            "#prod4">Declaración de método<br></a> | Declaración de enlace<br>
            | <a href="#prod8">Expresión</a> ] ...<br>
             <a href="#EOF">EOF</a></span></p>
          </td>
        </tr>
      </table>
    </div>
    <h2 align="center"
        style='text-align:center'><span style='mso-fareast-font-family: "Times New Roman"'><br>
    Comentarios</span></h2>
    <div align="center">
      <table border="0"
             cellpadding="0"
             class="MsoNormalTable"
             style=
             'mso-cellspacing:1.5pt; mso-yfti-tbllook:1184;mso-padding-alt:7.5pt 7.5pt 7.5pt 7.5pt'>

        <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes'>
          <td style='width:297.0pt;padding:7.5pt 7.5pt 7.5pt 7.5pt'
              width="396">
            <p class="MsoNormal"><span style='mso-fareast-font-family:"Times New Roman"'>Están
            soportados los dos tipos de comentario de JAVA/C++:</span></p>
            <ul type="disc">
              <li class="MsoNormal"
                  style=
                  'mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'>
              <span style='mso-fareast-font-family:"Times New Roman"'>/* Comentario en la misma
              línea*/</span></li>
              <li class="MsoNormal"
                  style=
                  'mso-margin-top-alt:auto;mso-margin-bottom-alt: auto;mso-list:l0 level1 lfo1;tab-stops:list 36.0pt'>
              <span style='mso-fareast-font-family:"Times New Roman"'>// Comentario para el resto
              de la línea</span></li>
            </ul>
          </td>
        </tr>
      </table>
    </div>
    <div align="center"
         class="MsoNormal"
         style='text-align:center'>
      <span style='mso-fareast-font-family:"Times New Roman"'>
      <hr align="center"
          size="2"
          width="100%"></span>
    </div>
    <p align="center"
       style='text-align:center'>Fin-de-página</p>
    <div align="center"
         class="MsoNormal"
         style='text-align:center'>
      <span style='mso-fareast-font-family:"Times New Roman"'>
      <hr align="center"
          size="2"
          width="100%"></span>
    </div>
  </div>
</body>
</html>


text:
exec 3> test17file

echo "this is a test line of data" >&3

exec 3>&-

cat test17file

exec 3> test17file

echo "this will be bad" >&3

redpajama_set_name: RedPajamaGithub


text:
using DragonSpark.Compose;
using DragonSpark.Text;

namespace DragonSpark.Application.Model.Text;

public class Smart<T> : Formatter<T> where T : notnull
{
	public Smart(string template) : base(template.Start().Get().Smart) {}
}


text:
package org.apache.cloudstack.storage.datastore.provider;

import javax.inject.Inject;

import org.apache.cloudstack.engine.subsystem.api.storage.DataStoreManager;
import org.apache.cloudstack.engine.subsystem.api.storage.HypervisorHostListener;
import org.apache.cloudstack.storage.datastore.db.PrimaryDataStoreDao;
import org.apache.cloudstack.storage.datastore.db.StoragePoolVO;
import org.apache.log4j.Logger;

import com.cloud.agent.AgentManager;
import com.cloud.agent.api.Answer;
import com.cloud.agent.api.ModifyStoragePoolAnswer;
import com.cloud.agent.api.ModifyStoragePoolCommand;
import com.cloud.alert.AlertManager;
import com.cloud.storage.DataStoreRole;
import com.cloud.storage.StoragePool;
import com.cloud.storage.StoragePoolHostVO;
import com.cloud.storage.dao.StoragePoolHostDao;
import com.cloud.utils.exception.CloudRuntimeException;

public class DefaultHostListener implements HypervisorHostListener {
    private static final Logger s_logger = Logger.getLogger(DefaultHostListener.class);
    @Inject
    AgentManager agentMgr;
    @Inject
    DataStoreManager dataStoreMgr;
    @Inject
    AlertManager alertMgr;
    @Inject
    StoragePoolHostDao storagePoolHostDao;
    @Inject
    PrimaryDataStoreDao primaryStoreDao;

    @Override
    public boolean hostConnect(long hostId, long poolId) {
        StoragePool pool = (StoragePool) this.dataStoreMgr.getDataStore(poolId, DataStoreRole.Primary);
        ModifyStoragePoolCommand cmd = new ModifyStoragePoolCommand(true, pool);
        final Answer answer = agentMgr.easySend(hostId, cmd);

        if (answer == null) {
            throw new CloudRuntimeException("Unable to get an answer to the modify storage pool command" + pool.getId());
        }

        if (!answer.getResult()) {
            String msg = "Unable to attach storage pool" + poolId + " to the host" + hostId;
            alertMgr.sendAlert(AlertManager.ALERT_TYPE_HOST, pool.getDataCenterId(), pool.getPodId(), msg, msg);
            throw new CloudRuntimeException("Unable establish connection from storage head to storage pool "
                    + pool.getId() + " due to " + answer.getDetails() + pool.getId());
        }

        assert (answer instanceof ModifyStoragePoolAnswer) : "Well, now why won't you actually return the ModifyStoragePoolAnswer when it's ModifyStoragePoolCommand? Pool="
                + pool.getId() + "Host=" + hostId;
        ModifyStoragePoolAnswer mspAnswer = (ModifyStoragePoolAnswer) answer;

        StoragePoolHostVO poolHost = storagePoolHostDao.findByPoolHost(pool.getId(), hostId);
        if (poolHost == null) {
            poolHost = new StoragePoolHostVO(pool.getId(), hostId, mspAnswer.getPoolInfo().getLocalPath()
                    .replaceAll("//", "/"));
            storagePoolHostDao.persist(poolHost);
        } else {
            poolHost.setLocalPath(mspAnswer.getPoolInfo().getLocalPath().replaceAll("//", "/"));
        }

        StoragePoolVO poolVO = this.primaryStoreDao.findById(poolId);
        poolVO.setUsedBytes(mspAnswer.getPoolInfo().getAvailableBytes());
        poolVO.setCapacityBytes(mspAnswer.getPoolInfo().getCapacityBytes());
        primaryStoreDao.update(pool.getId(), poolVO);

        s_logger.info("Connection established between " + pool + " host + " + hostId);
        return true;
    }

    @Override
    public boolean hostDisconnected(long hostId, long poolId) {
        // TODO Auto-generated method stub
        return false;
    }

}


text:
if [[ `uname -a` = *"Darwin"* ]]; then
  echo "It seems you are running on Mac. This script does not work on Mac. See https://github.com/grpc/grpc-go/issues/2047"
  exit 1
fi

set -ex  # Exit on error; debugging enabled.
set -o pipefail  # Fail a pipe if any sub-command fails.

die() {
  echo "$@" >&2
  exit 1
}

# Check to make sure it's safe to modify the user's git repo.
if git status --porcelain | read; then
  die "Uncommitted or untracked files found; commit changes first"
fi

if [[ -d "${GOPATH}/src" ]]; then
  die "\${GOPATH}/src (${GOPATH}/src) exists; this script will delete it."
fi

# Undo any edits made by this script.
cleanup() {
  rm -rf "${GOPATH}/src"
  git reset --hard HEAD
}
trap cleanup EXIT

fail_on_output() {
  tee /dev/stderr | (! read)
}

PATH="${GOPATH}/bin:${GOROOT}/bin:${PATH}"

if [[ "$1" = "-install" ]]; then
  # Check for module support
  if go help mod >& /dev/null; then
    go install \
      golang.org/x/lint/golint \
      golang.org/x/tools/cmd/goimports \
      honnef.co/go/tools/cmd/staticcheck \
      github.com/client9/misspell/cmd/misspell \
      github.com/golang/protobuf/protoc-gen-go
  else
    # Ye olde `go get` incantation.
    # Note: this gets the latest version of all tools (vs. the pinned versions
    # with Go modules).
    go get -u \
      golang.org/x/lint/golint \
      golang.org/x/tools/cmd/goimports \
      honnef.co/go/tools/cmd/staticcheck \
      github.com/client9/misspell/cmd/misspell \
      github.com/golang/protobuf/protoc-gen-go
  fi
  if [[ -z "${VET_SKIP_PROTO}" ]]; then
    if [[ "${TRAVIS}" = "true" ]]; then
      PROTOBUF_VERSION=3.3.0
      PROTOC_FILENAME=protoc-${PROTOBUF_VERSION}-linux-x86_64.zip
      pushd /home/travis
      wget https://github.com/google/protobuf/releases/download/v${PROTOBUF_VERSION}/${PROTOC_FILENAME}
      unzip ${PROTOC_FILENAME}
      bin/protoc --version
      popd
    elif ! which protoc > /dev/null; then
      die "Please install protoc into your path"
    fi
  fi
  exit 0
elif [[ "$#" -ne 0 ]]; then
  die "Unknown argument(s): $*"
fi

# - Ensure all source files contain a copyright message.
git ls-files "*.go" | xargs grep -L "\(Copyright [0-9]\{4,\} gRPC authors\)\|DO NOT EDIT" 2>&1 | fail_on_output

# - Do not import math/rand for real library code.  Use internal/grpcrand for
#   thread safety.
git ls-files "*.go" | xargs grep -l '"math/rand"' 2>&1 | (! grep -v '^examples\|^stress\|grpcrand')

# - Ensure all ptypes proto packages are renamed when importing.
git ls-files "*.go" | (! xargs grep "\(import \|^\s*\)\"github.com/golang/protobuf/ptypes/")

# - Check imports that are illegal in appengine (until Go 1.11).
# TODO: Remove when we drop Go 1.10 support
go list -f {{.Dir}} ./... | xargs go run test/go_vet/vet.go

# - gofmt, goimports, golint (with exceptions for generated code), go vet.
gofmt -s -d -l . 2>&1 | fail_on_output
goimports -l . 2>&1 | fail_on_output
golint ./... 2>&1 | (! grep -vE "(_mock|\.pb)\.go:")
go tool vet -all .

# - Check that generated proto files are up to date.
if [[ -z "${VET_SKIP_PROTO}" ]]; then
  PATH="/home/travis/bin:${PATH}" make proto && \
    git status --porcelain 2>&1 | fail_on_output || \
    (git status; git --no-pager diff; exit 1)
fi

# - Check that our module is tidy.
if go help mod >& /dev/null; then
  go mod tidy && \
    git status --porcelain 2>&1 | fail_on_output || \
    (git status; git --no-pager diff; exit 1)
fi

# - Collection of static analysis checks
### HACK HACK HACK: Remove once staticcheck works with modules.
# Make a symlink in ${GOPATH}/src to its ${GOPATH}/pkg/mod equivalent for every package we use.
for x in $(find "${GOPATH}/pkg/mod" -name '*@*' | grep -v \/mod\/cache\/); do
  pkg="$(echo ${x#"${GOPATH}/pkg/mod/"} | cut -f1 -d@)";
  # If multiple versions exist, just use the existing one.
  if [[ -L "${GOPATH}/src/${pkg}" ]]; then continue; fi
  mkdir -p "$(dirname "${GOPATH}/src/${pkg}")";
  ln -s $x "${GOPATH}/src/${pkg}";
done
### END HACK HACK HACK

# TODO(menghanl): fix errors in transport_test.
staticcheck -ignore '
balancer.go:SA1019
balancer_test.go:SA1019
clientconn_test.go:SA1019
balancer/roundrobin/roundrobin_test.go:SA1019
benchmark/benchmain/main.go:SA1019
internal/transport/handler_server.go:SA1019
internal/transport/handler_server_test.go:SA1019
internal/transport/transport_test.go:SA2002
stats/stats_test.go:SA1019
test/channelz_test.go:SA1019
test/end2end_test.go:SA1019
' ./...
misspell -error .


text:
// Copyright 2016 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

package org.chromium.chrome.browser.ntp.cards;

import java.util.Collections;
import java.util.List;

/**
 * A single item that represents itself as a group.
 */
public abstract class SingleItemGroup implements ItemGroup, NewTabPageListItem {
    private final List<NewTabPageListItem> mItems =
            Collections.<NewTabPageListItem>singletonList(this);

    @Override
    public List<NewTabPageListItem> getItems() {
        return mItems;
    }
}


text:
@interface NSString (UIInterfaceOrientationMask)

- (UIInterfaceOrientationMask)toUIInterfaceOrientationMask;

@end


text:
require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')

describe UsersController do
  describe "route generation" do
    it "should map #edit" do
      route_for(:controller => "users", :action => "edit", :id => '1').should == "/users/1/edit"
    end

    it "should map #update" do
      route_for(:controller => "users", :action => "update", :id => '1').should == { :path => "/users/1", :method => :put }
    end

  end

  describe "route recognition" do
    it "should generate params for #edit" do
      params_from(:get, "/users/1/edit").should == {:controller => "users", :action => "edit", :id => "1"}
    end

    it "should generate params for #update" do
      params_from(:put, "/users/1").should == {:controller => "users", :action => "update", :id => "1"}
    end
  end

  # These routes should be unavailable for security reasons.
  describe "unavailable routes" do
    it "should not route GET index" do
      {:get => '/users'}.should_not be_routable
    end

    it "should not route GET show" do
      {:get => '/users/1'}.should_not be_routable
    end

    it "should not route GET new" do
      pending "this routes as a GET show with ID of 'new'.  Weird."
      {:get => '/users/new'}.should_not be_routable
    end

    it "should not route POST create" do
      {:post => '/users'}.should_not be_routable
    end

    it "should not route DELETE destroy" do
      {:delete => '/users/1'}.should_not be_routable
    end
  end
end


text:
define([
	'intern!object',
	'intern/chai!assert',
	'dojo/lang',
	'./support/MockConsole',
	'../../../../lib/Suite',
	'../../../../lib/Test',
	'../../../../lib/reporters/Console',
	'dojo/has!host-node?dojo/node!path'
], function (registerSuite, assert, lang, MockConsole, Suite, Test, Console, pathUtil) {
	registerSuite({
		name: 'intern/lib/reporters/Console',

		suiteStart: function () {
			var mockConsole = new MockConsole(true);
			var reporter = new Console({ console: mockConsole });

			var suite = new Suite({ name: 'suite', parent: {} });

			reporter.suiteStart(suite);
			assert.lengthOf(mockConsole.messages.group, 1,
				'console.group should be called when the reporter suiteStart method is called');
			assert.strictEqual(mockConsole.messages.group[0], suite.name,
				'console.group should be called with the name of the suite');
		},

		suiteEnd: {
			'successful suite': function () {
				var mockConsole = new MockConsole();
				var reporter = new Console({ console: mockConsole });
				var suite = new Suite({ name: 'suite', tests: [ new Test({ hasPassed: true }) ] });

				reporter.suiteEnd(suite);
				assert.lengthOf(mockConsole.messages.info, 1,
					'console.info should be called when the reporter suiteEnd method is ' +
					'called and there are no errors');
				assert.match(mockConsole.messages.info[0],
					new RegExp('^' + suite.numFailedTests + '/' + suite.numTests + ' '),
					'console.info message should say how many tests failed and how many total tests existed');
			},

			'failed suite': function () {
				var mockConsole = new MockConsole();
				var reporter = new Console({ console: mockConsole });
				var suite = new Suite({ name: 'suite', tests: [ new Test({ hasPassed: false }) ] });

				reporter.suiteEnd(suite);
				assert.lengthOf(mockConsole.messages.warn, 1,
					'console.warn should be called when the reporter SuiteEnd method is ' +
					'called and there are errors');
				assert.match(mockConsole.messages.warn[0],
					new RegExp('^' + suite.numFailedTests + '/' + suite.numTests + ' '),
					'console.warn message should say how many tests passed and how many total tests existed');
			},

			grouping: function () {
				var mockConsole = new MockConsole(true);
				var reporter = new Console({ console: mockConsole });
				var suite = new Suite({ name: 'suite' });

				reporter.suiteEnd(suite);
				assert.lengthOf(mockConsole.messages.groupEnd, 1,
					'console.groupEnd should be called when the reporter suiteEnd method is called');
				assert.strictEqual(mockConsole.messages.groupEnd[0], suite.name,
					'console.groupEnd should be called with the name of the suite');
			}
		},

		fatalError: function () {
			var mockConsole = new MockConsole();
			var reporter = new Console({ console: mockConsole });
			var error = new Error('Oops');

			reporter.fatalError(error);

			assert.lengthOf(mockConsole.messages.warn, 1,
				'console.warn should be called once for a fatal error');
			assert.lengthOf(mockConsole.messages.error, 1,
				'console.error should be called once for a fatal error');

			var result = mockConsole.messages.warn[0] + '\n' + mockConsole.messages.error[0];
			assert.match(result, /\bFATAL ERROR\b/, 'Reporter should indicate that a fatal error occurred');
			assert.include(result, 'Oops', 'Reporter should include the message from the error');
			if (result.indexOf('No stack or location') === -1) {
				// the line number in the message should be the same as the line where the new Error
				// was created above
				var expected = 'tests/unit/lib/reporters/Console.js:72';
				if (pathUtil && pathUtil.sep !== '/') {
					expected = expected.replace(/\//g, pathUtil.sep);
				}
				assert.include(result, expected,
					'Reporter should indicate the location of the error');
			}
		},

		testPass: function () {
			var mockConsole = new MockConsole();
			var reporter = new Console({ console: mockConsole });
			var test = new Test({
				name: 'test',
				timeElapsed: 123,
				parent: { name: 'parent', id: 'parent' },
				hasPassed: true
			});

			reporter.testPass(test);
			assert.lengthOf(mockConsole.messages.log, 1, 'console.log should ahve been called once for testPass');

			var message = mockConsole.messages.log[0];
			assert.match(message, /\bPASS\b/, 'Reporter should indicate that a test passed');
			assert.include(message, test.id, 'Reporter should indicate which test passed');
			assert.include(message, test.timeElapsed + 'ms',
				'Reporter should indicate the amount of time the test took');
		},

		testFail: function () {
			var mockConsole = new MockConsole();
			var reporter = new Console({ console: mockConsole });
			var test = new Test({
				name: 'test',
				timeElapsed: 123,
				parent: { name: 'parent', id: 'parent' },
				error: new Error('Oops')
			});

			reporter.testFail(test);
			assert.lengthOf(mockConsole.messages.error, 2, 'console.error should be called twice for a failed test');

			var result = mockConsole.messages.error.join('\n');
			assert.match(result, /\bFAIL\b/, 'Reporter should indicate that a test failed');
			assert.include(result, test.id, 'Reporter should indicate which test failed');
			assert.include(result, test.timeElapsed + 'ms',
				'Reporter should indicate the amount of time the test took');
		}
	});
});


text:
package bammerbom.ultimatecore.sponge.modules.fly.listeners;

import bammerbom.ultimatecore.sponge.UltimateCore;
import bammerbom.ultimatecore.sponge.api.user.UltimateUser;
import bammerbom.ultimatecore.sponge.modules.fly.api.FlyKeys;
import bammerbom.ultimatecore.sponge.modules.fly.api.FlyPermissions;
import org.spongepowered.api.block.BlockTypes;
import org.spongepowered.api.data.key.Keys;
import org.spongepowered.api.entity.living.player.Player;
import org.spongepowered.api.event.Listener;
import org.spongepowered.api.event.network.ClientConnectionEvent;

public class FlyListeners {
    @Listener
    public void onJoin(ClientConnectionEvent.Join event) {
        Player p = event.getTargetEntity();
        UltimateUser user = UltimateCore.get().getUserService().getUser(p);
        if (p.hasPermission(FlyPermissions.UC_FLY_FLY_BASE.get()) && user.get(FlyKeys.FLY).orElse(false)) {
            if (p.getLocation().add(0, -1, 0).getBlockType().equals(BlockTypes.AIR)) {
                p.offer(Keys.CAN_FLY, true);
                p.offer(Keys.IS_FLYING, true);
            }
        }
    }

    @Listener
    public void onLeave(ClientConnectionEvent.Disconnect event) {
        UltimateUser user = UltimateCore.get().getUserService().getUser(event.getTargetEntity());
        user.offer(FlyKeys.FLY, event.getTargetEntity().get(Keys.CAN_FLY).orElse(false));
    }
}


text:
using System;
using System.Collections.Generic;

namespace RecursionLecture
{
    public class VectorGenerator
    {
        private List<int[]> vectors;

        public List<int[]> GetAllBinaryVectors(int size)
        {
            this.vectors = new List<int[]>();
            Get01(new int[size], 0);

            return vectors;
        }

        public void GetCombinations(int[] numbers, int index, int startFrom, int end)
        {
            if (numbers.Length == index)
            {
                Console.WriteLine(string.Join(string.Empty, numbers));
                return;
            }

            for (int i = startFrom; i < end; i++)
            {
                numbers[index] = i;
                GetCombinations(numbers, index + 1, i + 1, end);
            }
        }

        public List<int[]> GetAllVectorsK(int size, int k)
        {
            this.vectors = new List<int[]>();
            this.GetVectorK(new int[size], 0, k);

            return vectors;
        }

        private void GetVectorK(int[] vector, int currentIndex, int k)
        {
            if (currentIndex == vector.Length)
            {
                int[] newVector = new int[vector.Length];
                vector.CopyTo(newVector, 0);
                this.vectors.Add(newVector);

                return;
            }

            for (int i = 0; i < k; i++)
            {
                vector[currentIndex] = i;
                this.GetVectorK(vector, currentIndex + 1, k);
            }
        }

        private void Get01(int[] vector, int currentIndex)
        {
            if (currentIndex >= vector.Length)
            {
                int[] newVector = new int[vector.Length];
                vector.CopyTo(newVector, 0);
                this.vectors.Add(newVector);

                return;
            }

            vector[currentIndex] = 0;
            Get01(vector, currentIndex + 1);

            vector[currentIndex] = 1;
            Get01(vector, currentIndex + 1);
        }
    }
}


text:
<?xml version="1.0" encoding="utf-8"?>
<doctrine-mapping xmlns="http://doctrine-project.org/schemas/orm/doctrine-mapping" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://doctrine-project.org/schemas/orm/doctrine-mapping http://doctrine-project.org/schemas/orm/doctrine-mapping.xsd">
  <entity name="PartyTribe\DirectoryBundle\Entity\ContactNo" table="contact_no">
    <indexes>
      <index name="fk_ContactNo_Venue_1" columns="contact_info_id"/>
    </indexes>
    <id name="number" type="string" column="number" length="15">
      <generator strategy="IDENTITY"/>
    </id>
    <many-to-one field="contactInfo" target-entity="ContactInfo">
      <join-columns>
        <join-column name="contact_info_id" referenced-column-name="contact_info_id"/>
      </join-columns>
    </many-to-one>
  </entity>
</doctrine-mapping>


text:
package edu.coldserenity.tij.ch04.ex19;

import java.util.Arrays;

/**
 * Exercise 19: (2)
 * <p/>
 * Write a method that takes a vararg String array. Verify that you can
 * pass either a comma-separated list of Strings or a String[] into this method.
 */
public class StringVararg {

    public static void print(String ... args) {
        for (String s: args) {
            System.out.print("+");
        }
        System.out.println(Arrays.toString(args));
    }

    public static void main(String[] args) {
        print(new String[] {"one", "two", "three"});
        print("four", "five", "six");
    }
}


text:
<?php
/**
 * @package axy\sourcemap
 * @author Oleg Grigoriev <go.vasac@gmail.com>
 */

namespace axy\sourcemap\parents;

use axy\sourcemap\errors\UnsupportedVersion;
use axy\errors\FieldNotExist;
use axy\errors\ContainerReadOnly;
use axy\errors\PropertyReadOnly;

/**
 * Partition of the SourceMap class (magic methods)
 *
 * @property int $version
 *           the version of the file format
 * @property string $file
 *           the "file" section
 * @property string $sourceRoot
 *           the "sourceRoot" section
 * @property string $outFileName
 *           the default file name of the map
 * @property-read \axy\sourcemap\indexed\Sources $sources
 *                the "sources" section (wrapper)
 * @property-read \axy\sourcemap\indexed\Names $names
 *                the "names" section (wrapper)
 */
abstract class Magic extends Base implements \Countable
{
    /**
     * Magic isset()
     *
     * @param string $key
     * @return bool
     */
    public function __isset($key)
    {
        return in_array($key, ['version', 'file', 'sourceRoot', 'sources', 'names', 'mappings', 'outFileName']);
    }

    /**
     * Magic get
     *
     * @param string $key
     * @return mixed
     * @throws \axy\errors\FieldNotExist
     */
    public function __get($key)
    {
        switch ($key) {
            case 'version':
                return 3;
            case 'file':
            case 'sourceRoot':
                return $this->context->data[$key];
            case 'sources':
                return $this->sources;
            case 'names':
                return $this->names;
            case 'outFileName':
                return $this->outFileName;
        }
        throw new FieldNotExist($key, $this, null, $this);
    }

    /**
     * Magic set
     *
     * @param string $key
     * @param mixed $value
     * @throws \axy\errors\FieldNotExist
     * @throws \axy\errors\PropertyReadOnly
     */
    public function __set($key, $value)
    {
        switch ($key) {
            case 'version':
                if (($value === 3) || ($value === '3')) {
                    return;
                }
                throw new UnsupportedVersion($value);
            case 'file':
            case 'sourceRoot':
                $this->context->data[$key] = $value;
                break;
            case 'sources':
            case 'names':
                throw new PropertyReadOnly($this, $key, null, $this);
            case 'outFileName':
                $this->outFileName = $value;
                break;
            default:
                throw new FieldNotExist($key, $this, null, $this);
        }
    }

    /**
     * Magic unset
     *
     * @param string $key
     * @throws \axy\errors\ContainerReadOnly
     */
    public function __unset($key)
    {
        throw new ContainerReadOnly($this, null, $this);
    }

    /**
     * @return string
     */
    public function __toString()
    {
        return '[Source Map]';
    }

    /**
     * {@inheritdoc}
     */
    public function count(): int
    {
        return count($this->getData());
    }
}


text:
package org.zstack.test.mevoco.alert;

import org.zstack.alert.*;
import org.zstack.header.core.Completion;
import org.zstack.header.simulator.SimulatorConstant;
import org.zstack.utils.DebugUtils;

import java.util.HashMap;
import java.util.Map;

/**
 * Created by xing5 on 2016/9/3.
 */
public class SimulatorAlarmFactory implements AlarmFactory, AlarmFactoryIdentifiedByHypervisorType {
    public Map<String, AlarmStruct> alarms = new HashMap<>();

    @Override
    public AlarmCreator getAlarmCreator(AlarmStruct struct) {
        return new AlarmCreator() {
            @Override
            public void createAlarm(Completion completion) {
                String vmUuid = struct.getInventory().getLabel(VmAlarmFactory.LABEL_VM_UUID);
                DebugUtils.Assert(vmUuid != null, "why vmUuid is null");
                alarms.put(vmUuid, struct);
                completion.success();
            }
        };
    }

    @Override
    public AlarmDeleter getAlarmDeleter(AlarmStruct struct) {
        return new AlarmDeleter() {
            @Override
            public void deleteAlarm(Completion completion) {
                String vmUuid = struct.getInventory().getLabel(VmAlarmFactory.LABEL_VM_UUID);
                DebugUtils.Assert(vmUuid != null, "why vmUuid is null");
                alarms.remove(vmUuid);
                completion.success();
            }
        };
    }

    @Override
    public String getSupportedHypervisorType() {
        return SimulatorConstant.SIMULATOR_HYPERVISOR_TYPE;
    }
}


text:
using System;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;

namespace Glimpse.Agent.Inspectors
{
    public class InspectorFunctionBuilder : IInspectorFunctionBuilder
    {
        public InspectorFunctionBuilder(IApplicationBuilder app)
        {
            AppBuilder = app;
        }

        public IApplicationBuilder AppBuilder { get; }

        public IInspectorFunctionBuilder Use(Func<HttpContext, Func<Task>, Task> middleware)
        {
            var newAppBuilder = AppBuilder.Use(middleware);
            return (newAppBuilder != AppBuilder) ? new InspectorFunctionBuilder(newAppBuilder) : this;
        }
    }
}


text:
describe('data', function () {
  'use strict';

  var $el = null;

  beforeEach(function () {
    $el = $(document.createElement('div'));
    $el.removeData();
  });

  afterEach(function () {
    $el = null;
  });

  describe('data()', function () {
    it('should store data in elements', function () {
      expect($el.data('key')).to.equal(void 0);
      $el.data('key', 'value');
      expect($el.data('key')).to.equal('value');
    });

    it('should get data from element dataset', function () {
      $el[0].dataset.key = 'value';
      expect($el.data('key')).to.equal('value');
    });

    it('should return this if trying to operate on an empty set', function () {
      var $empty = $([]);
      expect($empty.data('key', 'value')).to.deep.equal($empty);
    });
  });

  describe('removeData()', function () {
    it('should remove data from an element', function () {
      expect($el.data('key')).to.equal(void 0);
      $el.data('key', 'value');
      expect($el.data('key')).to.equal('value');
      $el.removeData('key');
      expect($el.data('key')).to.equal(void 0);
    });

    it('should return this if trying to operate on an empty set', function () {
      var $empty = $([]);
      expect($empty.removeData('key')).to.deep.equal($empty);
    });

    it('should remove all data if called without key', function () {
      $el.data('k1', 'v1');
      $el.data('k2', 'v2');
      expect($el.data('k1')).to.equal('v1');
      expect($el.data('k2')).to.equal('v2');
      $el.removeData();
      expect($el.data('k1')).to.equal(void 0);
      expect($el.data('k2')).to.equal(void 0);
    });
  });
});