If the input fails to match any patterns specified by the START rule and the rules called by the START rule, a rule named DEFAULT runs automatically. The purpose of the DEFAULT rule is to resynchronize the input stream. The DEFAULT rule has the same structure as any other rule. However, if the pattern matching of the DEFAULT rule fails, the ASL script stops.

If the DEFAULT rule is not explicitly defined and the START rule fails, there is an implicit DEFAULT rule that is executed. This implicit DEFAULT rule matches the current line of input.

If the implicit DEFAULT rule was added to an ASL script, it would look like this:

DEFAULT {
..eol
}

The string "..eol" is an ASL pattern that, from a starting point, matches all characters up to and including an end-of-line. Chapter 4, “Pattern Matching and Filters,” provides additional information about patterns.