parse method
- String source
override
Attempts to parse the source string matching this element.
Returns a ParseResult containing the parsed lexeme and remaining string on success. On failure, returns a failed ParseResult.
Implementation
@override
ParseResult parse(String source) {
final result = element.parse(source);
if (!result.success) {
return ParseResult(
false,
source,
ruleName: name,
element: toString(),
stack: Stack<ParseResult>()..push(result),
);
}
final lexeme = source.substring(0, source.length - result.remaining.length);
return ParseResult(
result.success,
result.remaining,
lexeme: lexeme,
ruleName: name,
element: toString(),
stack: Stack<ParseResult>()..push(result),
);
}