diff --git a/grammar/pkn-rr.html b/grammar/pkn-rr.html index 81c4b47..b7872fe 100644 --- a/grammar/pkn-rr.html +++ b/grammar/pkn-rr.html @@ -26,10 +26,10 @@ polygon.regexp {fill: #FFF4C7; stroke: #332900; stroke-width: 1;} -

STATEMENTS:

+

STATEMENTS:

STATEMENTS
-
         ::= ( statement | prefix graph )*
+
         ::= ( statement | name ':' graph )*

no references


statement:

@@ -62,7 +62,7 @@


param:

-
param    ::= name value
+
param    ::= namevalue

referenced by: @@ -71,7 +71,7 @@


property:

-
property ::= descriptor 'of' argument operator referent
+
property ::= descriptor 'of' argumentoperatorreferent

referenced by: @@ -137,7 +137,7 @@


relation:

-
relation ::= subject relationship object
+
relation ::= subjectrelationshipobject

referenced by: @@ -229,7 +229,7 @@


QUERY:

-
QUERY    ::= quantifier variable ( 'where' conditions )? 'from' conditions
+
QUERY    ::= quantifiervariable ( 'where' conditions )? 'from' conditions

no references


quantifier:

@@ -285,32 +285,14 @@
  • relationship
  • subject
  • -


    prefix:

    +


    name:

    -
    prefix   ::= letter ( letter | digit | '-' )*
    +
    name     ::= id ( ':' id )*

    referenced by:

    -


    suffix:

    -

    -
    suffix   ::= ':' ( letter | digit | '-' )+
    -

    -

    referenced by: - -

    -


    name:

    -

    -
    name     ::= prefix suffix*
    -

    -

    referenced by: - -

    +


    id:

    +

    +
    id       ::= letter ( letter | digit | '-' )*
    +

    +

    referenced by: + +


    number:

    number   ::= ( '-' | '+' )? digit+ ( '.' digit* )? ( ( 'e' | 'E' ) ( '-' | '+' )? digit+ )?
    @@ -402,8 +393,7 @@

    referenced by:


    digit:

    @@ -421,8 +411,8 @@

    referenced by:

    -

    \ No newline at end of file +

    + \ No newline at end of file diff --git a/grammar/pkn.ebnf b/grammar/pkn.ebnf index f50b79a..6a10ce0 100644 --- a/grammar/pkn.ebnf +++ b/grammar/pkn.ebnf @@ -1,4 +1,4 @@ -STATEMENTS ::= (statement | prefix graph)* +STATEMENTS ::= (statement | (name ":" graph))* statement ::= (property | relation | implication| analogy) ("for" scope)? meta? scope ::= name (',' name)* @@ -30,9 +30,8 @@ QUERY ::= quantifier variable ("where" conditions)? "from" conditions condition ::= property | relation variable ::= "?" name? -prefix ::= letter (letter | digit | "-")* -suffix ::= (":" (letter | digit | "-")+) -name ::= prefix suffix* +name ::= id (":" id)* +id ::= letter (letter | digit | "-")* number ::= ("-" | "+")? digit+ ("." digit*)? (("e"|"E") ("-" | "+")? digit+)? graph ::= '{' statement* '}'