<html>
  <head>

    <meta http-equiv="content-type" content="text/html; charset=utf-8">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <meta charset="utf-8">
    <span style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;">&gt;When I
      evaluate:<span class="Apple-converted-space"> </span></span><br
      style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);">
    <span style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;">&gt;   parser :=
      PEGParser parserPEG parse: 'Grammar' stream: PEGParser
      grammarEmailAddress actor: PEGParserParser new.<span
        class="Apple-converted-space"> </span></span><br style="color:
      rgb(51, 51, 51); font-family: Verdana, Geneva, Helvetica, Arial,
      sans-serif; font-size: 13.44px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);">
    <br style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);">
    <span style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;">&gt;I get:
      KeyNotFound: key 'quotedstring' not found in Dictionary<span
        class="Apple-converted-space"> </span></span><br style="color:
      rgb(51, 51, 51); font-family: Verdana, Geneva, Helvetica, Arial,
      sans-serif; font-size: 13.44px; font-style: normal;
      font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);">
    <br style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255);">
    <span style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;">&gt;How am I
      supposed to debug that to find the typo in my giant string above?!<br>
      <br>
      Hi Sean,  </span><span style="color: rgb(51, 51, 51);
      font-family: Verdana, Geneva, Helvetica, Arial, sans-serif;
      font-size: 13.44px; font-style: normal; font-variant-ligatures:
      normal; font-variant-caps: normal; font-weight: normal;
      letter-spacing: normal; orphans: 2; text-align: start;
      text-indent: 0px; text-transform: none; white-space: normal;
      widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;
      background-color: rgb(255, 255, 255); display: inline !important;
      float: none;"><span style="color: rgb(51, 51, 51); font-family:
        Verdana, Geneva, Helvetica, Arial, sans-serif; font-size:
        13.44px; font-style: normal; font-variant-ligatures: normal;
        font-variant-caps: normal; font-weight: normal; letter-spacing:
        normal; orphans: 2; text-align: start; text-indent: 0px;
        text-transform: none; white-space: normal; widows: 2;
        word-spacing: 0px; -webkit-text-stroke-width: 0px;
        background-color: rgb(255, 255, 255); display: inline
        !important; float: none;"><span class="Apple-converted-space"></span></span><br>
      <br>
      Your error is saying is that there is no key called 'quotedstring'
      in the dictionary in the grammar ivar of your parser. <br>
      <br>
      In each parser is a grammar ivar. It contains a dictionary. The
      values of the dictionary are graphs of compiled blocks. Each node
      of the graph is a block with arguments that are blocks that have
      arguments that are blocks, etc. It's a graph of compiled blocks. <br>
      <br>
      Try this. Add in PEGParser class.<br>
      <br>
      grammar3Names<br>
      " a grammar to create a parser to sort three names as per page 24
      of Grune's book Parsing Techniques (1990)"<br>
      <br>
      ^'Sentence    &lt;-    NAME<br>
      <br>
      NAME    &lt;-  "tom" / "dick" / "harry" <br>
      '<br>
      <br>
      Now execute this.<br>
      <br>
      (PEGParser parserBootstrap) parse: 'Grammar' stream:  PEGParser
      grammar3Names reading actor: PEGParserGenerator new. <br>
      <br>
      That will show you the code that will create the dictionary in the
      grammar ivar. Now make a change. <br>
    </span><br>
    <span style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
      Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
      normal; font-variant-ligatures: normal; font-variant-caps: normal;
      font-weight: normal; letter-spacing: normal; orphans: 2;
      text-align: start; text-indent: 0px; text-transform: none;
      white-space: normal; widows: 2; word-spacing: 0px;
      -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
      255); display: inline !important; float: none;"><span
        style="color: rgb(51, 51, 51); font-family: Verdana, Geneva,
        Helvetica, Arial, sans-serif; font-size: 13.44px; font-style:
        normal; font-variant-ligatures: normal; font-variant-caps:
        normal; font-weight: normal; letter-spacing: normal; orphans: 2;
        text-align: start; text-indent: 0px; text-transform: none;
        white-space: normal; widows: 2; word-spacing: 0px;
        -webkit-text-stroke-width: 0px; background-color: rgb(255, 255,
        255); display: inline !important; float: none;">myparser :=
        (PEGParser parserBootstrap) parse: 'Grammar' stream:  PEGParser
        grammar3Names reading actor: PEGParserParser new. <br>
        <br>
      </span>You generated the parser, not the code for the parser. <br>
      <br>
      To use the parser. <br>
      <br>
      myparser parse: 'Sentence' stream: 'harry' reading actor: nil <br>
      <br>
      Now let's look at the same thing in three ways. <br>
      <br>
      PEGParser&gt;&gt;#grammarPEG   this is the grammar<br>
      PEGParser&gt;&gt;#parserBootstrap   this is the code generated by
      the PEGParserGenerator from grammarPEG<br>
      PEGParser&gt;&gt;#parserPEG  this is the parser returned by
      PEGParserParser from grammarPEG<br>
      <br>
      You will see that PEGParser parserBootstrap and PEGParser
      parserPEG are interchangeable anywhere. In fact, if the goal is to
      populate the grammar ivar with a dictionary to make a parser, then
      #parserPEG starts to grate on one's nerves, because you already
      have what you need in the grammar ivar by evaluating PEGParser
      parserBootstrap. #parserPEG compiles the grammarPEG using
      PEGParserParser into the grammar ivar to make a parser, but it's
      the exact same as what was already there. It's irritating. <br>
      <br>
      I'll release some examples in a package called Xtreamly some time
      before Christmas to help start understanding Xtreams-Parsing.<br>
      <br>
      HTH, <br>
      Chris <br>
      <br>
    </span>
  </body>
</html>