Wednesday, August 30, 2006

bug in holmes/hulskamp gold engine

find this in scanner_scan() function

if ((== EEOF) || (== nedge)) {
// accept, ignore or invalid token
if (last_accepted != -1
{

and replace with

if ((== EEOF) || (== nedge)) {
if(strlen(parser->lexeme) != last_accepted_size)
    
pinput->nofs -= (strlen(parser->lexeme) - last_accepted_size);
// accept, ignore or invalid token
if (last_accepted != -1)
{

below is some cutdown grammer/input to exercise the bug

bug-replication.zip

Posted by Stu on 08/30 at 02:20 PM Permalink to this post.
Filed Under : Development
Comments are closed There are no comments on this entry.
Linked To by (0) blogs. Get a Trackbacks link here

Page 1 of 1 pages