scan method
Implementation
@override
bool scan(GrammarContext<S> context) {
final previousContext = builder(context);
if (grammar.scan(previousContext)) {
caster(previousContext, context);
return check(context);
}
return !isRequired;
}