<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -19,6 +19,7 @@
 %{
   std::string string_buf, here_doc;
   bool doing_symbol = false;
+  bool hyphen_here = false;
 
   typedef struct {
     const char *identifier;
@@ -285,9 +286,15 @@ end			{
 \|\|		{ return LOGICAL_OR; }
 \*\*		{ return EXP; }
 
-\&lt;\&lt;[a-zA-Z_0-9]+$	{ yy_push_state(here_document); here_doc = yytext + 2; string_buf = &quot;&quot;; }
+\&lt;\&lt;[a-zA-Z_0-9]+$	{ yy_push_state(here_document); here_doc = yytext + 2; string_buf = &quot;&quot;; hyphen_here = false; }
+\&lt;\&lt;-[a-zA-Z_0-9]+$	{ yy_push_state(here_document); here_doc = yytext + 3; string_buf = &quot;&quot;; hyphen_here = true; }
 &lt;here_document&gt;^.+$		{
-			  if (yytext == here_doc) {
+			  const char *yytext_check = yytext;
+			  if (hyphen_here) 
+			    while (*yytext_check == ' ' || *yytext_check == '\t')
+			      ++yytext_check;
+
+			  if (yytext_check == here_doc) {
 			    yy_pop_state();
 			    yylval.string_literal = new StringLiteralExpr(string_buf);
 			    return STRING_LITERAL;</diff>
      <filename>parser/ruby.l</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>3b12e8c93157879c51607585fe8d18ffe2622e82</id>
    </parent>
  </parents>
  <author>
    <name>Arlen Cuss</name>
    <email>celtic@sairyx.org</email>
  </author>
  <url>http://github.com/celtic/rubyex/commit/c98a260b243fe45c118bad89014e5fb1e21731db</url>
  <id>c98a260b243fe45c118bad89014e5fb1e21731db</id>
  <committed-date>2008-12-26T17:17:48-08:00</committed-date>
  <authored-date>2008-12-26T17:17:48-08:00</authored-date>
  <message>adding &lt;&lt;-here style her edocuments</message>
  <tree>e248ca58e63a3c1743dc9a96ad4d234cb75166ca</tree>
  <committer>
    <name>Arlen Cuss</name>
    <email>celtic@sairyx.org</email>
  </committer>
</commit>
