49
edits
(→Syntax) |
|||
| Line 17: | Line 17: | ||
=== Script statement syntax === | === Script statement syntax === | ||
<pre lang="none"> | |||
1. 'Statements' are text blocks that begin with a command name, and are followed by any other text, and end with line-end or semi-colon. A new statement can begin adjacent to the previous statements ending delimiter. | |||
2. Command names begin or end at white-space, semi-colon, or line-end, and end at comment start. | |||
3. Other text starts after any white-space after command name, until semi-colon, line-end, or comment start. | |||
4. Comment text starts with '//', placed anywhere on a line, and includes all text until line-end. | |||
5. Comment text, empty statements or lines, or statements or lines with only white-space, will be skipped. | |||
6. Command names must be at least 2 and less than 63 characters. Statements with invalid command names will be skipped. | |||
7. Other text may contain quoted text, where ''' or '"' are valid quote begin and end quote characters. | |||
8. If quoted text is found, any semi-colons, line-ends, or comment starts will be ignored, until next matching quote character. | |||
9. No other checking or processing is done on any 'other text' after the command name, and any actual meaning is context-dependent and determined when the actual statement is run. | |||
10. If embedded in text a NULL, or '\0', or any character less than ' ', will be considered as a white-space character. This means that a '\0' delimits a command name, stays included in other-text as is, and is otherwise ignored. This also means that these characters can not be used in command names. | |||
11. Command names in this context can contain any character except white-space and ';', and cannot contain '//'. Command names can also have quote characters in the name and are not checked for closing quotes and treated as is as a part of the name. Valid command names: bob/"bob"/bob, "bob", bob", "bob. | |||
12. 'Executable statements' are composed of both the parsed 'command name' and 'other text' components, excluding comments, and each are the product of this function which gets run. | |||
</pre> | |||
== Examples == | == Examples == | ||