summaryrefslogtreecommitdiff
path: root/src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala')
-rw-r--r--src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala b/src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala
new file mode 100644
index 0000000000..5b9d14c9a7
--- /dev/null
+++ b/src/parser-combinators/scala/util/parsing/combinator/syntactical/StandardTokenParsers.scala
@@ -0,0 +1,32 @@
+/* __ *\
+** ________ ___ / / ___ Scala API **
+** / __/ __// _ | / / / _ | (c) 2006-2013, LAMP/EPFL **
+** __\ \/ /__/ __ |/ /__/ __ | http://scala-lang.org/ **
+** /____/\___/_/ |_/____/_/ | | **
+** |/ **
+\* */
+
+
+package scala
+package util.parsing
+package combinator
+package syntactical
+
+import token._
+import lexical.StdLexical
+import scala.language.implicitConversions
+
+/** This component provides primitive parsers for the standard tokens defined in `StdTokens`.
+*
+* @author Martin Odersky, Adriaan Moors
+ */
+class StandardTokenParsers extends StdTokenParsers {
+ type Tokens = StdTokens
+ val lexical = new StdLexical
+
+ //an implicit keyword function that gives a warning when a given word is not in the reserved/delimiters list
+ override implicit def keyword(chars : String): Parser[String] =
+ if(lexical.reserved.contains(chars) || lexical.delimiters.contains(chars)) super.keyword(chars)
+ else failure("You are trying to parse \""+chars+"\", but it is neither contained in the delimiters list, nor in the reserved keyword list of your lexical object")
+
+}