MSE

You are here:

MSE is the generic file format used for import-export in Moose. Similar to XML, MSE is generic and can describe any model. A specification is available at http://scg.unibe.ch/wiki/projects/fame/mse.

MSE is built as part of the Fame project.

Grammar

The below grammar uses the following notation:

  • ? : denotes that the symbol (or group of symbols in parenthesis) to the left of the operator is optional (it can appear zero or one times)
  • * : denotes that something can be repeated any number of times (and possibly be skipped altogether)
  • + : denotes that something can appear one or more times
Root := Document ?
Document := OPEN ElementNode * CLOSE
ElementNode := OPEN ELEMENTNAME Serial ? AttributeNode * CLOSE
Serial := OPEN ID INTEGER CLOSE
AttributeNode := OPEN SIMPLENAME ValueNode * CLOSE
ValueNode := Primitive | Reference | ElementNode
Primitive := STRING | NUMBER | Boolean
Boolean := TRUE | FALSE
Reference := IntegerReference | NameReference
IntegerReference := OPEN REF INTEGER CLOSE
NameReference := OPEN REF ELEMENTNAME CLOSE
OPEN := "("
CLOSE := ")"
ID := "id:"
REF := "ref:"
TRUE := "true"
FALSE := "false"
ELEMENTNAME := letter ( letter | digit ) * ( "." letter ( letter | digit ) * ) 
SIMPLENAME := letter ( letter | digit ) *
INTEGER := digit +
NUMBER := "-" ? digit + ( "." digit + ) ? ( ( "e" | "E" ) ( "-" | "+" ) ? digit + ) ?
STRING := ( "'" [^'] * "'" ) +
digit := [0-9] 
letter := [a-zA-Z_]
comment := """ [^"] * """

Please note that all MSE files must use UTF-8 encoding.