Class PrerequisiteParser
java.lang.Object
dev.jcputney.elearning.parser.input.scorm12.adl.prerequisite.PrerequisiteParser
Parser for AICC prerequisite script expressions used in SCORM 1.2.
The parser implements a recursive descent parser for the following grammar:
expression → term (('|') term)*
term → factor (('&') factor)*
factor → '~'? atom
atom → IDENTIFIER | '(' expression ')'
IDENTIFIER → [A-Za-z0-9_-]+
Operator precedence (highest to lowest):
- NOT (~) - unary prefix
- AND (&) - left associative
- OR (|) - left associative
This parser never throws exceptions. Instead, it returns a ParseError
for malformed expressions, allowing consumers to gracefully handle errors.
-
Method Summary
Modifier and TypeMethodDescriptionstatic PrerequisiteExpressionParses an AICC prerequisite script expression.
-
Method Details
-
parse
Parses an AICC prerequisite script expression.This method never throws exceptions. For invalid expressions, it returns a
ParseErrorcontaining details about the parsing failure.- Parameters:
expression- the prerequisite expression to parse- Returns:
- the parsed expression tree, or a
ParseErrorif parsing fails
-