yacker: yosiJune28a validator

Validating against the yosiJune28a grammar. See

Input some text to test:


    

Edit this grammar.

with seed . with limit . and ascii weight (0-100).

Hide grammar.

Productions:

[1]    Query    ::=    Prolog ( SelectQuery | ConstructQuery | DescribeQuery | AskQuery )
[2]    Prolog    ::=    (BaseDecl)? (PrefixDecl)*
[3]    BaseDecl    ::=    "BASE" QuotedIRIref
[4]    PrefixDecl    ::=    "PREFIX" QNAME_NS QuotedIRIref
[5]    SelectQuery    ::=    "SELECT" ("DISTINCT")? ( (Var)+ | "*" ) (DatasetClause)* WhereClause SolutionModifier
[6]    ConstructQuery    ::=    "CONSTRUCT" ConstructTemplate (DatasetClause)* WhereClause SolutionModifier
[7]    DescribeQuery    ::=    "DESCRIBE" ( (VarOrIRIref)+ | "*" ) (DatasetClause)* (WhereClause)? SolutionModifier
[8]    AskQuery    ::=    "ASK" (DatasetClause)* WhereClause
[9]    DatasetClause    ::=    "FROM" ( DefaultGraphClause | NamedGraphClause )
[10]    DefaultGraphClause    ::=    SourceSelector
[11]    NamedGraphClause    ::=    "NAMED" SourceSelector
[12]    SourceSelector    ::=    IRIref
[13]    WhereClause    ::=    ("WHERE")? GroupGraphPattern
[14]    SolutionModifier    ::=    (OrderClause)? (LimitClause)? (OffsetClause)?
[15]    OrderClause    ::=    "ORDER" "BY" (OrderCondition)+
[16]    OrderCondition    ::=    ( ( "ASC" | "DESC" ) BrackettedExpression )
| ( FunctionCall | Var | BrackettedExpression )
[17]    LimitClause    ::=    "LIMIT" INTEGER
[18]    OffsetClause    ::=    "OFFSET" INTEGER
[19]    GroupGraphPattern    ::=    OpenCurly GraphPatternList CloseCurly
[20]    GraphPatternList    ::=    (( Triples1 GraphPatternListTail | GraphPatternNotTriples GraphPatternNotTriplesTail ))?
[21]    GraphPatternListTail    ::=    (( Dot GraphPatternList ))?
| GraphPatternNotTriplesList
[22]    GraphPatternNotTriplesTail    ::=    ( (Dot)? GraphPatternList )
[23]    GraphPatternNotTriplesList    ::=    GraphPatternNotTriples GraphPatternNotTriplesTail
[24]    GraphPatternNotTriples    ::=    OptionalGraphPattern
| GroupOrUnionGraphPattern
| GraphGraphPattern
| Constraint
[25]    OptionalGraphPattern    ::=    "OPTIONAL" GroupGraphPattern
[26]    GraphGraphPattern    ::=    "GRAPH" VarOrBlankNodeOrIRIref GroupGraphPattern
[27]    GroupOrUnionGraphPattern    ::=    GroupGraphPattern (( "UNION" GroupGraphPattern ))*
[28]    Constraint    ::=    "FILTER" ( BrackettedExpression | CallExpression )
[29]    ConstructTemplate    ::=    OpenCurly (Triples)? CloseCurly
[30]    Triples    ::=    Triples1 (( Dot (Triples)? ))?
[31]    Triples1    ::=    VarOrTerm PropertyListNotEmpty
| "[" Triples2
| "(" Triples3
[32]    Triples2    ::=    "]" PropertyListNotEmpty
| PropertyListNotEmpty "]" PropertyList
[33]    Triples3    ::=    ")" PropertyListNotEmpty
| (GraphNode)+ ")" PropertyList
[34]    PropertyList    ::=    (PropertyListNotEmpty)?
[35]    PropertyListNotEmpty    ::=    Verb ObjectList (( ";" PropertyList ))?
[36]    ObjectList    ::=    Object (( "," ObjectList ))?
[37]    Verb    ::=    VarOrBlankNodeOrIRIref
| "a"
[38]    Object    ::=    VarOrTerm
| TriplesNode
[39]    TriplesNode    ::=    Collection
| BlankNodePropertyList
[40]    BlankNodePropertyList    ::=    "[" PropertyList "]"
[41]    Collection    ::=    "(" (GraphNode)* ")"
[42]    GraphNode    ::=    VarOrTerm
| TriplesNode
[43]    VarOrTerm    ::=    Var
| GraphTerm
[44]    VarOrIRIref    ::=    Var
| IRIref
[45]    VarOrBlankNodeOrIRIref    ::=    Var
| BlankNode
| IRIref
| NamelessBlank
[46]    Var    ::=    VAR1
| VAR2
[47]    GraphTerm    ::=    RDFTerm
[48]    Expression    ::=    ConditionalOrExpression
[49]    ConditionalOrExpression    ::=    ConditionalAndExpression (( "||" ConditionalAndExpression ))*
[50]    ConditionalAndExpression    ::=    ValueLogical (( "&&" ValueLogical ))*
[51]    ValueLogical    ::=    RelationalExpression
[52]    RelationalExpression    ::=    NumericExpression (( "=" NumericExpression | "!=" NumericExpression | "<" NumericExpression | ">" NumericExpression | "<=" NumericExpression | ">=" NumericExpression ))?
[53]    NumericExpression    ::=    AdditiveExpression
[54]    AdditiveExpression    ::=    MultiplicativeExpression (( "+" MultiplicativeExpression | "-" MultiplicativeExpression ))*
[55]    MultiplicativeExpression    ::=    UnaryExpression (( "*" UnaryExpression | "/" UnaryExpression ))*
[56]    UnaryExpression    ::=    "!" PrimaryExpression
| "+" PrimaryExpression
| "-" PrimaryExpression
| PrimaryExpression
[57]    CallExpression    ::=    BuiltinCallExpression
| FunctionCall
[58]    BuiltinCallExpression    ::=    "STR" "(" Expression ")"
| "LANG" "(" Expression ")"
| "DATATYPE" "(" Expression ")"
| "BOUND" "(" Var ")"
| "isURI" "(" Expression ")"
| "isBLANK" "(" Expression ")"
| "isLITERAL" "(" Expression ")"
| RegexExpression
[59]    RegexExpression    ::=    "REGEX" "(" Expression "," Expression (( "," Expression ))? ")"
[60]    FunctionCall    ::=    IRIref ArgList
[61]    ArgList    ::=    "(" (( Expression (( "," Expression ))* ))? ")"
[62]    BrackettedExpression    ::=    "(" Expression ")"
[63]    PrimaryExpression    ::=    BrackettedExpression
| BuiltinCallExpression
| Var
| RDFTermOrFunc
[64]    RDFTerm    ::=    IRIref
| RDFLiteral
| NumericLiteral
| BooleanLiteral
| BlankNode
[65]    RDFTermOrFunc    ::=    IRIrefOrFunc
| RDFLiteral
| NumericLiteral
| BooleanLiteral
| BlankNode
[66]    IRIrefOrFunc    ::=    IRIref (ArgList)?
[67]    NumericLiteral    ::=    INTEGER
| FLOATING_POINT
[68]    RDFLiteral    ::=    String (( LANGTAG | ( "^^" IRIref ) ))?
[69]    BooleanLiteral    ::=    "true"
| "false"
[70]    String    ::=    STRING_LITERAL1
| STRING_LITERAL2
| STRING_LITERAL_LONG1
| STRING_LITERAL_LONG2
[71]    IRIref    ::=    QuotedIRIref
| QName
[72]    QName    ::=    QNAME
| QNAME_NS
[73]    BlankNode    ::=    BNODE_LABEL
[74]    NamelessBlank    ::=    "[" "]"
[75]    <QuotedIRIref>    ::=    "<" (( [^> ] ))* ">"
[76]    <QNAME_NS>    ::=    (NCNAME_PREFIX)? ":"
[77]    <QNAME>    ::=    (NCNAME_PREFIX)? ":" (NCNAME)?
[78]    <BNODE_LABEL>    ::=    "_:" NCNAME
[79]    <VAR1>    ::=    "?" VARNAME
[80]    <VAR2>    ::=    "$" VARNAME
[81]    <LANGTAG>    ::=    "@" ([a-zA-Z])+ (( "-" ([a-zA-Z0-9])+ ))*
[82]    <INTEGER>    ::=    ([0-9])+
[83]    <DECIMAL>    ::=    ([0-9])+ "." ([0-9])*
| "." ([0-9])+
[84]    <FLOATING_POINT>    ::=    ([0-9])+ "." ([0-9])* (EXPONENT)?
| "." (( [0-9] ))+ (EXPONENT)?
| (( [0-9] ))+ EXPONENT
[85]    <EXPONENT>    ::=    [eE] ([+-])? ([0-9])+
[86]    <STRING_LITERAL1>    ::=    "'" (( ( [^'\\\n\r] ) | ( "\\" [^\r\n] ) ))* "'"
[87]    <STRING_LITERAL2>    ::=    '"' (( ( [^\"\\\n\r] ) | ( "\\" [^\r\n] ) ))* '"'
[88]    <STRING_LITERAL_LONG1>    ::=    "'''" (( [^'\\] | ( "\\" [^\r\n] ) | ( "'" [^'] ) | ( "''" [^'] ) ))* "'''"
[89]    <STRING_LITERAL_LONG2>    ::=    '"""' (( [^\"\\] | ( "\\" [^\r\n] ) | ( '"' [^\"] ) | ( '""' [^\"] ) ))* '"""'
[90]    <NCCHAR1>    ::=    [A-Z]
| [a-z]
| [#00C0-#00D6]
| [#00D8-#00F6]
| [#00F8-#02FF]
| [#0370-#037D]
| [#037F-#1FFF]
| [#200C-#200D]
| [#2070-#218F]
| [#2C00-#2FEF]
| [#3001-#D7FF]
| [#F900-#FDCF]
| [#FDF0-#FFFD]
| [#10000-#EFFFF]
[91]    <NCCHAR>    ::=    NCCHAR1
| "_"
| "-"
| "."
| [0-9]
| #00B7
| [#0300-#036F]
| [#203F-#2040]
[92]    <NCNAME_PREFIX>    ::=    NCCHAR1 (NCCHAR)*
[93]    <NCNAME>    ::=    ( "_" | NCCHAR1 ) (NCCHAR)*
[94]    <VARNAME>    ::=    NCCHAR1 (( NCCHAR1 | "_" | [0-9] | #00B7 | [#0300-#036F] | [#203F-#2040] ))*
[95]    <SPACE>    ::=    "\t"
| "\n"
| "\r"
| " "
| #00A0
| [#2000-#200B]
| #202F
| #205F
| #3000
[96]    PASSED TOKENS    ::=    (SPACE)+
| "#" ([^\n])* "\n"
[97]    <Dot>    ::=    "."
[98]    <OpenCurly>    ::=    "{"
[99]    <CloseCurly>    ::=    "}"

Eric Prud'hommeaux <eric+yacker@w3.org>
$Id: yacker,v 1.82 2008/04/12 04:10:11 eric Exp $
$Id: Presenter.pm,v 1.39 2007/12/21 09:35:46 eric Exp $

Valid XHTML 1.0!