+ /* Parse options. */
+ bool group = false;
+ while (lex_match (lexer, T_SLASH))
+ {
+ if (lex_match_id (lexer, "DESCENDING"))
+ direction = DESCENDING;
+ else if (lex_match_id (lexer, "PRINT"))
+ {
+ /* Not yet implemented. */
+ }
+ else if (lex_match_id (lexer, "GROUP"))
+ group = true;
+ else if (lex_match_id (lexer, "BLANK"))
+ {
+ lex_match (lexer, T_EQUALS);
+ if (lex_match_id (lexer, "VALID"))
+ {
+ arc->blank_valid = true;
+ }
+ else if (lex_match_id (lexer, "MISSING"))
+ {
+ arc->blank_valid = false;
+ }
+ else
+ {
+ lex_error_expecting (lexer, "VALID", "MISSING");
+ goto error;
+ }
+ }
+ else
+ {
+ lex_error_expecting (lexer, "DESCENDING", "PRINT", "GROUP", "BLANK");
+ goto error;
+ }