<xml>
<Object_Id> 89</Object_Id>
<Title> &lt;A HREF="file:/home2/foster/tools/ErrorRepair.tar.gz"&gt;Bison parser skeleton replacment with builtin error repair&lt;/A&gt;</Title>
<Node_Type> Production</Node_Type>
<Format> text</Format>
<Address>  &lt;A HREF ="file:/home2/foster/tools/ErrorRepair.tar.gz"&gt;file:/home2/foster/tools/ErrorRepair.tar.gz&lt;/A&gt;</Address>
<Keywords> Yacc                          Bison
                          Grammars
                          Compiler
</Keywords>
<Abstract> This is a replacement for the bison.simple grammar skeleton                          with builtin error-repairing mechanisms which use the 
                          tables built by bison to replace and delete symbols as
                          appropriate to recover from errors encountered.
                          
                          No change is required to any grammars in order to use this
                          code. The code is supplied with grammars for both C and
                          Modula-2.
                          
                          I tested the program with the following buggy C program:
                          
                          int main(int argc, char *argv[))
                          {
                              int i = 0;
                           
                              i += 1;
                           
                              return(0);
                          }}
                          
                          and received the following result:
                          
                          io &lt;916&gt; C test.c 
                          YYERROR: Parse error on ')': line 2 col 31
                          YYERROR: yytext=`)' symbol was (41)
                          Recovery: ( 0.01)[2][184] Inserted ']' and deleted ')' 
                          YYERROR: Parse error on '}', expecting `$': line 9 col 2
                          YYERROR: yytext=`}' symbol was (125)
                          Recovery: ( 0.00)[1][31] Inserted nothing and deleted '}' 
                          
                          which I believe is brilliant for no extra effort ;)
</Abstract>
<Date_Entry_Created> 18/10/96</Date_Entry_Created>
<Entry_Created_By> Paul Foster</Entry_Created_By>
<Date_Entry_Last_Modified> </Date_Entry_Last_Modified>
<Entry_Last_Modified_By> </Entry_Last_Modified_By>
<Asset_Qualification> excellent</Asset_Qualification>
<Other_Opinions> It's glorious!!!! </Other_Opinions>
<Contact_Person> Paul Foster (foster@citr)</Contact_Person>
<IP_or_Copyright_Owner> Corey Yeatman, Bruce McKenzie, Lorraine de Vere  - University                          of Canterbury, N.Z
</IP_or_Copyright_Owner>
<Support_re_Ownership>                           
</Support_re_Ownership>
<Date_Item_Created> </Date_Item_Created>
<Usage_Conditions> This software is released under the GPL.                          
                          Bison output since version 2.4 is able to be used
                          in commercial products.
</Usage_Conditions>
<Support_re_Usage_Condns> </Support_re_Usage_Condns>
<Authors_and_Contributors> Corey Yeatman,                           Bruce McKenzie, 
                          Lorraine de Vere
                          (University of Canterbury, N.Z)
</Authors_and_Contributors>
<Projects_Used_In> None</Projects_Used_In>
<Obtained_From>  &lt;A HREF ="http://kaka.cosc.canterbury.ac.nz/~bruce/ErrorRepair.html"&gt;http://kaka.cosc.canterbury.ac.nz/~bruce/ErrorRepair.html&lt;/A&gt;</Obtained_From>
<Derived_From> </Derived_From>
<Related_Items> </Related_Items>
<Code_Type> simple tool</Code_Type>
<Programming_Language> C</Programming_Language>
<Portations> SunOS                          Solaris
                          HP-UX 
                          
                          It should run on whatever
                          platform bison does.
</Portations>
<Source_Location>  &lt;A HREF ="file:/home2/foster/tools/ErrorRepair.tar.gz"&gt;file:/home2/foster/tools/ErrorRepair.tar.gz&lt;/A&gt;</Source_Location>
<Binaries_Location> </Binaries_Location>
<Issues_Bug_etc_List_Locn> </Issues_Bug_etc_List_Locn>
<Additional_Info> </Additional_Info>
</xml>
