|
| bool | parse (const Common::String &line, ScriptParseContext &parseCtx, Command *&command) override |
| |
| void | transition (ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) override |
| |
Public Member Functions inherited from MutationOfJB::CommandParser |
| virtual bool | parse (const Common::String &line, ScriptParseContext &parseCtx, Command *&command)=0 |
| |
| virtual void | transition (ScriptParseContext &parseCtx, Command *oldCommand, Command *newCommand, CommandParser *newCommandParser) |
| |
| virtual void | finish (ScriptParseContext &parseCtx) |
| |
◆ parse()
Parses the specified line and possibly returns a Command instance.
- Parameters
-
| line | Line to parse. |
| parseCtx | Parse context. |
| command | Output parameter for newly created command. |
- Returns
- True if the line has been successfully parsed by this parser, false otherwise.
- Note
- You may return true and set command to nullptr. That means the line has been successfully parsed, but no command is needed.
Implements MutationOfJB::CommandParser.
◆ transition()
Called when transitioning parsing between two commands.
For example, cmdParserA->transition(parseCtx, cmdA, cmdB, cmdParserB) is called after command B is done parsing to notify command A parser about the transition from command A to command B. This is useful for sequential commands, because at the time command A is being parsed, we don't have any information about command B, so we cannot set the next pointer. Transition method can be used to set the next pointer after command B is available.
- Parameters
-
| parseCtx | Parse context. |
| oldCommand | Old command (created by this parser). |
| newCommand | New command (created by newCommandParser). |
| newCommandParser | Command parser which created the new command. |
Reimplemented from MutationOfJB::CommandParser.
The documentation for this class was generated from the following file: