parse |
::= |
( <EOL> )* <MAS> <ATOM> ( <USES> fileName ( "," fileName )* )? ( <EOL> )* "{" ( <EOL> )* ( agent )* ( workspace )* ( organisation )* ( ( <CLASSPATH> ":" ( fileName ( <EOL> | "," )+ )* | <ASLPATH> ":" ( fileName ( <EOL> | "," )+ )* | <PLATFORM> ":" ( classDef ( <EOL> | "," )+ )* | <NODE> <ATOM> ( <RUNNING> )? ( "@" host )? ( <EOL> | "," )+ ) )* "}" ( <EOL> )* <EOF> |
agent |
::= |
<AGENT> <ATOM> ( ":" fileName )? ( "{" ( <EOL> )* ( ( <INSTANCES> ":" ( <INT> ( <EOL> | "," )+ | ( <ATOM> ( <EOL> | "," )+ )* ) | <NODE> ":" <ATOM> ( <EOL> )+ | <AGARCH> ":" ( classDef ( <EOL> | "," )+ )* | <AGCLASS> ":" classDef ( <EOL> )+ | <AGBBCLASS> ":" classDef ( <EOL> )+ | <BELIEF> ":" ( literal ( <EOL> | "," )+ )* | <GOAL> ":" ( literal ( <EOL> | "," )+ )* | <FOCUS> ":" ( <ATOM> ( "@" <ATOM> )? ( <EOL> | "," )+ )* | <JOIN> ":" ( <ATOM> ( "@" <ATOM> )? ( <EOL> | "," )+ )* | <ROLES> ":" ( <ATOM> <IN> <ATOM> ( <EOL> | "," )+ )* | <DEBUG> ":" literal ( <EOL> | "," )+ | <ATOM> ":" ( <STRING> | <REAL> | <INT> | literal ) ( <EOL> )+ ) )* "}" )? ( <EOL> )* |
workspace |
::= |
<WORKSPACE> <ATOM> "{" ( <EOL> )* ( artifact | <AGENTS> ":" ( ( <ATOM> | <AST> ) ( <EOL> | "," )+ )* | <NODE> ":" <ATOM> ( <EOL> )+ )* "}" ( <EOL> )* |
artifact |
::= |
<ARTIFACT> <ATOM> ":" classDef ( "{" ( <EOL> )* ( <FOCUSED> ":" ( ( <ATOM> | <AST> ) ( <EOL> | "," )+ )* )? "}" )? ( <EOL> )* |
organisation |
::= |
<ORG> <ATOM> ( ":" fileName )? "{" ( <EOL> )* ( ( group | scheme | <AGENTS> ":" ( ( <ATOM> | <AST> ) ( <EOL> | "," )+ )* | <NODE> ":" <ATOM> ( <EOL> )+ | <ATOM> ":" ( <STRING> | <REAL> | <INT> | literal ) ( <EOL> )+ ) )* "}" ( <EOL> )* |
group |
::= |
<GROUP> <ATOM> ":" <ATOM> ( "{" ( <EOL> )* ( ( group | <RESPFOR> ":" <ATOM> ( <EOL> )+ | <DEBUG> ( <EOL> )+ | <ATOM> ":" ( <STRING> | <REAL> | <INT> | literal ) ( <EOL> )+ | <PLAYERS> ":" ( <ATOM> <ATOM> ( <EOL> | "," )+ )* ) )* "}" )? ( <EOL> )* |
scheme |
::= |
<SCHEME> <ATOM> ":" <ATOM> ( "{" ( <EOL> )* ( <DEBUG> ( <EOL> )+ | <ATOM> ":" ( <STRING> | <REAL> | <INT> | literal ) ( <EOL> )+ )* "}" )? ( <EOL> )* |
host |
::= |
( <ATOM> | <STRING> | <IP> ) ( ":" <INT> )? |
fileName |
::= |
( ( "/" | "-" | <DOT> | <DOTDOT> | <ATOM> )+ | <STRING> ) |
classDef |
::= |
( <VAR> | <ATOM> ) ( "." ( <VAR> | <ATOM> ) )* ( "(" ( ( parameter ) ( "," ( parameter ) )* )? ")" )? |
parameter |
::= |
( classDef | <INT> | <REAL> | <STRING> | listParameters ) |
listParameters |
::= |
"[" ( parameter ) ( "," parameter )* "]" |
literal |
::= |
( ( ( <TK_NEG> )? ( pred | var ) ) | <TK_TRUE> | <TK_FALSE> ) |
pred |
::= |
( <ATOM> | <TK_BEGIN> | <TK_END> ) ( "(" terms ")" )? ( list )? |
terms |
::= |
term ( "," term )* |
term |
::= |
( list | literal | string | <INT> | <REAL> ) |
list |
::= |
"[" ( term ( "," term )* ( "|" ( <VAR> | <UNNAMEDVAR> | list ) )? )? "]" |
var |
::= |
( <VAR> | <UNNAMEDVAR> ) ( list )? |
string |
::= |
<STRING> |