diff options
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.scala | 32 |
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") + +} |