introduce parameterName rule

This commit is contained in:
Philip Ginsbach
2023-05-22 11:37:23 +01:00
parent 42e81015d0
commit 35114d5ac4

View File

@@ -178,7 +178,7 @@ A QL module definition has the following syntax:
module ::= annotation* "module" modulename parameters? implements? "{" moduleBody "}"
parameters ::= "<" signatureExpr simpleId ("," signatureExpr simpleId)* ">"
parameters ::= "<" signatureExpr parameterName ("," signatureExpr parameterName)* ">"
implements ::= "implements" moduleSignatureExpr ("," moduleSignatureExpr)*
@@ -640,6 +640,7 @@ Identifiers are used in following syntactic constructs:
predicateRef ::= (moduleExpr "::")? literalId
signatureExpr ::= (moduleExpr "::")? simpleId ("/" Integer | arguments)?;
predicateName ::= lowerId
parameterName ::= simpleId
varname ::= lowerId
literalId ::= lowerId | atLowerId
@@ -2107,7 +2108,7 @@ The complete grammar for QL is as follows:
module ::= annotation* "module" modulename parameters? implements? "{" moduleBody "}"
parameters ::= "<" signatureExpr simpleId ("," signatureExpr simpleId)* ">"
parameters ::= "<" signatureExpr parameterName ("," signatureExpr parameterName)* ">"
implements ::= "implements" moduleSignatureExpr ("," moduleSignatureExpr)*
@@ -2323,6 +2324,8 @@ The complete grammar for QL is as follows:
predicateName ::= lowerId
parameterName ::= simpleId
varname ::= lowerId
literalId ::= lowerId | atLowerId | "any" | "none"