Metadata ::= ID "=" MetadataValue. MetadataValue ::= MetadataValueSingle | MetadataValueList | MetadataValueMap. MetadataValueSingle ::= INTEGER | Double | CHAR | STRING | BOOLEAN | QName. MetadataValueList ::= "[" (MetadataValue ("," MetadataValue)*)? "]". MetadataValueMap ::= "[" (MetadataValueMapEntry ("," MetadataValueMapEntry)*)? "]". MetadataValueMapEntry ::= MetadataValue ":" MetadataValue. |
See operators in ODL or queries in QDL for examples.
Integer ::= (0..9)+. Double ::= (0..9)* "." (0..9)+. Boolean ::= ("true" | "false"). Char ::= "'" Unicode-Character "'". String ::= '"' (Unicode-Character)* '"'. Range ::= (0..9)+ ".." (0..9)+. List ::= "[" (Expression ("," Expression)*)? "]". Map ::= "[" (MapKeyValue ("," MapKeyValue)*)? "]". MapKeyValue ::= Expression ":" Expression. Null ::= "null". |
Range r = 1..10; List l = [1, 2, 3]; Map m = ["key1":1, "key2":2]; |
ID ::= ("a".."z"|"A".."Z"|"_")("a".."z"|"A".."Z"|"_"|"0".."9")*. QName ::= ID ("." ID)* Namespace ::= "use" QualifiedNameWithWildcard ";". QualifiedNameWildcard ::= QualifiedName (".*")? |
use java::util::*; use de::uniol::inf::is::odysseus::core::ISubscription; use com::google::common::collect::ImmutableMap; |
GPLCode ::= "$*" GPL Code "*$" |
$* public static void main(String[] args) { } *$ |
Comment ::= SingeLineComment | MultiLineComment. SingeLineComment ::= "//" Text (("\r")? "\n")?. MultiLineComment ::= "/*" Text "*/". |
// This is a single line comment /* * This is a multi line comment */ |