Skip to content

Cirras/eoplus-antlr4

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EO+ ANTLR4 Grammar

test

An ANTLR4 grammar for the EO+ quest scripting language from Endless Online.

Branches

  • master: The official EO+ syntax
  • eoserv: The EOSERV flavor of the EO+ syntax

Syntax support

The following syntax structures are supported:

  • main block
    • questname attribute
    • version attribute
  • state block
    • desc statement
    • action statement
    • rule statement
  • Expressions
    • String literals
    • Integer literals
  • Identifiers
    • of the form [$_a-zA-Z][_a-zA-Z0-9]*

Differences

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 or rule
  • Mislabeled action and rule statements
  • Use of dashes within identifier names

Examples

  • See the examples directory for test data files.
  • See the eo-quests repo for the official quest files.

License

Licensed under the MIT license.