An ANTLR4 grammar for the EO+ quest scripting language from Endless Online.
master
: The official EO+ syntaxeoserv
: The EOSERV flavor of the EO+ syntax
The following syntax structures are supported:
main
blockquestname
attributeversion
attribute
state
blockdesc
statementaction
statementrule
statement
- Expressions
- String literals
- Integer literals
- Identifiers
- of the form
[$_a-zA-Z][_a-zA-Z0-9]*
- of the form
While simple, the official "grammar" isn't especially well-defined. The quest parser in the official game server was very lenient, and would accept all sorts of malformed inputs.
This grammar disallows:
- Strings that are not properly terminated
- Argument lists that are not properly closed
- Omission of the keywords
action
orrule
- Mislabeled
action
andrule
statements - Use of dashes within identifier names
- See the examples directory for test data files.
- See the eo-quests repo for the official quest files.
Licensed under the MIT license.