Package org . omwg . mediation . compiler ;

Helpers

all = [ 0x0 .. 0xffff ]
escape_char = '\'
basechar = [ 0x0041 .. 0x005A ] | [ 0x0061 .. 0x007A ]
ideographic = [ 0x4E00 .. 0x9FA5 ] | 0x3007 | [ 0x3021 .. 0x3029 ]
letter = basechar | ideographic
digit = [ 0x0030 .. 0x0039 ]
combiningchar = [ 0x0300 .. 0x0345 ] | [ 0x0360 .. 0x0361 ] | [ 0x0483 .. 0x0486 ]
extender = 0x00B7 | 0x02D0 | 0x02D1 | 0x0387 | 0x0640 | 0x0E46 | 0x0EC6 | 0x3005 | [ 0x3031 .. 0x3035 ] | [ 0x309D .. 0x309E ] | [ 0x30FC .. 0x30FE ]
alphanum = digit | letter
hexdigit = [ '0' .. '9' ] | [ 'A' .. 'F' ]
not_escaped_ncnamechar = letter | digit | '_' | combiningchar | extender
escaped_ncnamechar = '.' | '-' | not_escaped_ncnamechar
ncnamechar = ( escape_char escaped_ncnamechar ) | not_escaped_ncnamechar
reserved = '/' | '?' | '#' | '[' | ']' | ';' | ':' | '@' | '&' | '=' | '+' | '$' | ','
mark = '-' | '_' | '.' | '!' | '~' | '*' | ''' | '(' | ')'
escaped = '%' hexdigit hexdigit
unreserved = letter | digit | mark
scheme = letter ( letter | digit | '+' | '-' | '.' )*
port = digit*
idomainlabel = alphanum ( ( alphanum | '-' )* alphanum )?
dec_octet = digit | ( [ 0x31 .. 0x39 ] digit ) | ( '1' digit digit ) | ( '2' [ 0x30 .. 0x34 ] digit ) | ( '25' [ 0x30 .. 0x35 ] )
ipv4address = dec_octet '.' dec_octet '.' dec_octet '.' dec_octet
h4 = hexdigit hexdigit? hexdigit? hexdigit?
ls32 = ( h4 ':' h4 ) | ipv4address
ipv6address = ( ( h4 ':' )* h4 )? '::' ( h4 ':' )* ls32 | ( ( h4 ':' )* h4 )? '::' h4 | ( ( h4 ':' )* h4 )? '::'
ipv6reference = '[' ipv6address ']'
ucschar = [ 0xA0 .. 0xD7FF ] | [ 0xF900 .. 0xFDCF ] | [ 0xFDF0 .. 0xFFEF ]
iunreserved = unreserved | ucschar
ipchar = iunreserved | escaped | ';' | ':' | '@' | '&' | '=' | '+' | '$' | ','
isegment = ipchar*
ipath_segments = isegment ( '/' isegment )*
iuserinfo = ( iunreserved | escaped | ';' | ':' | '&' | '=' | '+' | '$' | ',' )*
iqualified = ( '.' idomainlabel )* '.' ?
ihostname = idomainlabel iqualified
ihost = ( ipv6reference | ipv4address | ihostname )?
iauthority = ( iuserinfo '@' )? ihost ( ':' port )?
iabs_path = '/' ipath_segments
inet_path = '//' iauthority ( iabs_path )?
irel_path = ipath_segments
ihier_part = inet_path | iabs_path | irel_path
iprivate = [ 0xE000 .. 0xF8FF ]
iquery = ( ipchar | iprivate | '/' | '?' )*
ifragment = ( ipchar | '/' | '?' )*
iri_f = scheme ':' ihier_part ( '?' iquery )? ( '#' ifragment )?
absolute_iri = scheme ':' ihier_part ( '?' iquery )?
relative_iri = ihier_part ( '?' iquery )? ( '#' ifragment )?
iric = reserved | iunreserved | escaped
iri_reference = iri_f | relative_iri
tab = 9
cr = 13
lf = 10
eol = cr lf | cr | lf
squote = '''
dquote = '"'
not_cr_lf = [ all - [ cr+ lf ] ]
escaped_char = escape_char all
not_escape_char_not_dquote = [ all - [ '"' + escape_char ] ]
not_escape_char_not_squote = [ all - [ ''' + escape_char ] ]
literal_content = escaped_char | not_escape_char_not_dquote
string_content = escaped_char | not_escape_char_not_squote
not_star = [ all - '*' ]
not_star_slash = [ not_star - '/' ]
long_comment = '/*' not_star* '*' + ( not_star_slash not_star* '*' + )* '/'
begin_comment = '//' | 'comment'
short_comment = begin_comment not_cr_lf* eol
comment = short_comment | long_comment
blank = ( ' ' | tab | eol )+
qmark = '?'
luridel = '<"'
ruridel = '">'
primary_subtag = letter+
language_subtag = ( letter | digit )+
language_tag = '@' primary_subtag ( '-' language_subtag )*

Tokens

t_blank = blank
t_comment = comment
comma = ','
endpoint = '.' blank
pathcon = '.'
dblcaret = '^^'
lpar = '('
rpar = ')'
lbracket = '['
rbracket = ']'
lbrace = '{'
rbrace = '}'
colon = ':'
gt = '>'
lt = '<'
gte = '>='
lte = '=<'
equals = '='
unequal = '!='
add_op = '+'
sub_op = '-'
star = '*'
div_op = '/'
t_mappingdocument = 'MappingDocument'
source = 'source'
target = 'target'
t_annotation = 'annotation'
unidirectional = 'unidirectional'
bidirectional = 'bidirectional'
classmapping = 'classMapping'
attributemapping = 'attributeMapping'
relationmapping = 'relationMapping'
instancemapping = 'instanceMapping'
classattributemapping = 'classAttributeMapping'
classrelationmapping = 'classRelationMapping'
classinstancemapping = 'classInstanceMapping'
attributeclassmapping = 'attributeClassMapping'
relationclassmapping = 'relationClassMapping'
instanceclassmapping = 'instanceClassMapping'
and = 'and'
or = 'or'
not = 'not'
join = 'join'
inverse = 'inverse'
symetric = 'symetric'
transitive = 'trans'
reflexive = 'reflexive'
univ_false = 'false'
univ_true = 'true'
attributevaluecondition = 'attributeValueCondition'
attributeoccurencecondition = 'attributeOccurenceCondition'
valuecondition = 'valueCondition'
expressioncondition = 'expressionCondition'
string = squote string_content* squote
plainliteral = dquote literal_content* dquote language_tag?
full_iri = luridel iri_reference ruridel
ncname = ( letter | '_' ) ncnamechar*
anonymous = '_#' digit*
pos_int = digit+
pos_float = digit+ '.' digit+

Ignored Tokens

Productions

mappingdocument =
t_mappingdocument lpar documentid source_exp target_exp annotation* expression* rpar
source_exp =
source lpar ontologyid rpar
target_exp =
target lpar ontologyid rpar
annotation =
t_annotation lpar propertyid propertyvalue rpar
expression =
{logical_expression} lbrace annotation* logicalexpression rbrace
| {class_mapping} classmapping lpar annotation* directionality? [first]: classexpr [second]: classexpr classcondition* logicalexprbrace? rpar
| {attribute_mapping} attributemapping lpar annotation* directionality? [first]: attributeexpr [second]: attributeexpr attributecondition* logicalexprbrace? rpar
| {relation_mapping} relationmapping lpar annotation* directionality? [first]: relationexpr [second]: relationexpr relationcondition* logicalexprbrace? rpar
| {instance_mapping} lpar annotation* [first]: instanceid [second]: instanceid rpar
| {classattribute_mapping} classattributemapping lpar annotation* directionality? [first]: classexpr [second]: attributeexpr logicalexprbrace? rpar
| {classrelation_mapping} classrelationmapping lpar annotation* directionality? [first]: classexpr [second]: relationexpr logicalexprbrace? rpar
| {classinstance_mapping} classinstancemapping lpar annotation* directionality? [first]: classexpr [second]: instanceid logicalexprbrace? rpar
| {attributeclass_mapping} attributeclassmapping lpar annotation* directionality? [first]: attributeexpr [second]: classexpr logicalexprbrace? rpar
| {relationclass_mapping} relationclassmapping lpar annotation* directionality? [first]: relationexpr [second]: classexpr logicalexprbrace? rpar
| {instanceclass_mapping} instanceclassmapping lpar annotation* directionality? [first]: instanceid [second]: classexpr logicalexprbrace? rpar
classexpr =
{classid} classid
| {and} and lpar [first]: classexpr [second]: classexpr classexpr* rpar
| {or} or lpar [first]: classexpr [second]: classexpr classexpr* rpar
| {not} not lpar classexpr rpar
attributeexpr =
{attributeid} attributeid
| {and} and lpar [first]: attributeexpr [second]: attributeexpr attributeexpr* rpar
| {or} or lpar [first]: attributeexpr [second]: attributeexpr attributeexpr* rpar
| {not} not lpar attributeexpr rpar
| {inverse} inverse lpar attributeexpr rpar
| {symetric} symetric lpar attributeexpr rpar
| {reflexive} reflexive lpar attributeexpr rpar
| {transitive} transitive lpar attributeexpr rpar
| {join} join lpar [first]: attributeexpr [second]: attributeexpr attributeexpr* logicalexprbrace? rpar
relationexpr =
{relationid} relationid
| {and} and lpar [first]: relationexpr [second]: relationexpr relationexpr* rpar
| {or} or lpar [first]: relationexpr [second]: relationexpr relationexpr* rpar
| {not} not lpar relationexpr rpar
| {join} join lpar [first]: relationexpr [second]: relationexpr relationexpr* logicalexprbrace? rpar
classcondition =
attributevaluecondition lpar attributeid indidordatalittorclassexpr rpar
relationcondition =
string
attributecondition =
expressioncondition lpar attributeexpr rpar
iri =
full_iri
id =
{iri} iri
| {anonymous} anonymous
| {literal} literal
| {universal_truth} univ_true
| {universal_falsehood} univ_false
prefix =
ncname colon
lexicalform =
plainliteral
literal =
{typedliteral} typedliteral
| {plainliteral} plainliteral
| {numeric} number
| {string} string
typedliteral =
plainliteral dblcaret iri
neg_int =
sub_op pos_int
float =
sub_op? pos_float
number =
{positive_int} pos_int
| {negative_int} neg_int
| {float} float
logicalexpression =
string
logicalexprbrace =
lbrace logicalexpression rbrace
directionality =
{unidirectional} unidirectional
| {bidirectional} bidirectional
indidordatalittorclassexpr =
iri
confidence =
pos_float
relationaloperator =
{greaterthan} gt
| {lowerthan} lt
| {equals} equals
propertyvalue =
string
documentid =
iri
ontologyid =
iri
classid =
iri
propertyid =
iri
attributeid =
iri
relationid =
iri
instanceid =
iri