diff options
Diffstat (limited to 'scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala')
-rw-r--r-- | scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala b/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala index 4bc972f..78fdba4 100644 --- a/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala +++ b/scalaParser/src/main/scala/scalaParser/syntax/Identifiers.scala @@ -9,9 +9,13 @@ trait Identifiers { self: Parser with Basic => def Operator = rule(oneOrMore(OperatorChar)) def VarId = rule { - !(Keywords ~ (WhitespaceChar | Newline | "//" | "/*")) ~ Lower ~ IdRest + !(Keywords | WhitespaceChar | Newline | "//" | "/*") ~ Lower ~ IdRest + } + def PlainId = rule { + Upper ~ IdRest | + VarId | + !(Keywords | WhitespaceChar | Newline | "//" | "/*") ~ !Keywords ~ Operator } - def PlainId = rule { Upper ~ IdRest | VarId | !(Keywords ~ (WhitespaceChar | Newline | "//" | "/*")) ~ Operator } def Id = rule { PlainId | ("`" ~ oneOrMore(noneOf("`")) ~ "`") } def IdRest = rule { zeroOrMore(zeroOrMore("_") ~ oneOrMore(!"_" ~ Letter | Digit)) ~ |