with input "C"\r
\r
Before MR21 the error message would be "expecting B - found C". After MR21\r
- the error message would be "expcect A, B - found C". This was good, but it\r
+ the error message would be "expect A, B - found C". This was good, but it\r
caused problems for those using parser exceptions because the reference to\r
B was generated inside the {...} where B really wasn't part of the block.\r
\r
followed by a loopBlock whereas the start of a (...)+ block is\r
represented as a single node: a plusBlock. So if first_item_is_guess_block\r
is called when the current node is a loopBegin it starts with the\r
- loop block rather than the the sub block which follows the loop block.\r
+ loop block rather than the sub block which follows the loop block.\r
However, we can't just skip past the loop block because some routines\r
depend on the old implementation. So, we provide a new implementation\r
which does skip the loopBlock. However, which should be called when ?\r
/* MR23\r
If there were only one return value operand and\r
it had an initializer then it would have been\r
- initiailized in the declaration.\r
+ initialized in the declaration.\r
*/\r
\r
returnValueInitializer = getInitializer(q->ret); /* MR23 */\r
/* NOTICE: this is done only here, for the method definition, but */\r
/* not for the method declaration inside the class */\r
/* definition. This is exactly the behaviour defined in */\r
- /* C++ standard for default paramters. */\r
+ /* C++ standard for default parameters. */\r
\r
DumpANSIFunctionArgDef(output,q, 0 /* emit initializers ? */);\r
_gen("\n");\r
blocks to look like (...|...| epsilon) since there were\r
intervening generics. This fixes the problem for this\r
particular case. Things like actions or empty blocks of\r
- various kinds will still cause problems, but I wasnt't\r
+ various kinds will still cause problems, but I wasn't\r
prepared to handle pathological cases like (A|()*). It\r
does handle (A | ()), which is a recommended idiom for\r
epsilon.\r