abstract class Symbol extends AnyRef
This class defines a uniform interface for defining parsers for basic symbols, independent of how whitespace should be handled after the symbol.
- Source
- Symbol.scala
- Alphabetic
- By Inheritance
- Symbol
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def apply(name: Char): Parsley[Unit]
This combinator parses a given character as a symbol.
This combinator parses a given character as a symbol.
There is no special treatment of the given character as a keyword or operator. The result of the parser is ignored by returning
Unit.- name
the symbol to parse.
- Since
4.0.0
- abstract def apply(name: String): Parsley[Unit]
This combinator parses a given string as a symbol and accounts for the possiblility that it is a defined hard keyword or operator.
This combinator parses a given string as a symbol and accounts for the possiblility that it is a defined hard keyword or operator.
A string is treated as a symbol by parsing it atomically (with
attempt) as well as ensuring that if it is a known special symbol, like a keyword, that it is given the correct treatment. For keywords and operators, this means that the given string will only parse if it does not otherwise form a valid prefix of a larger legal identifier or operator.- name
the symbol to parse.
- Since
4.0.0
- abstract def softKeyword(name: String): Parsley[Unit]
This combinator parses a given soft keyword atomically: the keyword is only valid if it is not followed directly by a character which would make it a larger valid identifier.
This combinator parses a given soft keyword atomically: the keyword is only valid if it is not followed directly by a character which would make it a larger valid identifier.
Soft keywords are keywords that are only reserved within certain contexts. The
apply(String)combinator handles so-called hard keywords automatically, as the given string is checked to see what class of symbol it might belong to. However, soft keywords are not included in this set, as they are not always reserved in all situations. As such, when a soft keyword does need to be parsed, this combinator should be used to do it explicitly. Care should be taken to ensure that soft keywords take parsing priority over identifiers when they do occur.- Since
4.0.0
- abstract def softOperator(name: String): Parsley[Unit]
This combinator parses a given soft operator atomically: the operator is only valid if it is not followed directly by a character which would make it a larger valid operator (reserved or otherwise).
This combinator parses a given soft operator atomically: the operator is only valid if it is not followed directly by a character which would make it a larger valid operator (reserved or otherwise).
Soft operators are operators that are only reserved within certain contexts. The
apply(String)combinator handles so-called hard operators automatically, as the given string is checked to see what class of symbol it might belong to. However, soft operators are not included in this set, as they are not always reserved in all situations. As such, when a soft operator does need to be parsed, this combinator should be used to do it explicitly.- Since
4.0.0
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def apply(name: Char, label: String): Parsley[Unit]
This combinator parses a given character as a symbol.
This combinator parses a given character as a symbol.
There is no special treatment of the given character as a keyword or operator. The result of the parser is ignored by returning
Unit.Additionally applies the given label as the name of the symbol.
- name
the symbol to parse.
- label
the name to give to the symbol in error messages.
- Since
4.0.0
- final def apply(name: String, label: String): Parsley[Unit]
This combinator parses a given string as a symbol and accounts for the possiblility that it is a defined hard keyword or operator.
This combinator parses a given string as a symbol and accounts for the possiblility that it is a defined hard keyword or operator.
A string is treated as a symbol by parsing it atomically (with
attempt) as well as ensuring that if it is a known special symbol, like a keyword, that it is given the correct treatment. For keywords and operators, this means that the given string will only parse if it does not otherwise form a valid prefix of a larger legal identifier or operator.Additionally applies the given label as the name of the symbol.
- name
the symbol to parse.
- label
the name to give to the symbol in error messages.
- Since
4.0.0
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final lazy val closingAngle: Parsley[Unit]
This parser parses a closing square bracket
>as a symbol.This parser parses a closing square bracket
>as a symbol.- Since
4.0.0
- final lazy val closingBrace: Parsley[Unit]
This parser parses a closing brace
}as a symbol.This parser parses a closing brace
}as a symbol.- Since
4.0.0
- final lazy val closingParen: Parsley[Unit]
This parser parses a closing parenthesis
)as a symbol.This parser parses a closing parenthesis
)as a symbol.- Since
4.0.0
- final lazy val closingSquare: Parsley[Unit]
This parser parses a closing square bracket
]as a symbol.This parser parses a closing square bracket
]as a symbol.- Since
4.0.0
- final lazy val colon: Parsley[Unit]
This parser parses a colon
:as a symbol.This parser parses a colon
:as a symbol.- Since
4.0.0
- final lazy val comma: Parsley[Unit]
This parser parses a comma
,as a symbol.This parser parses a comma
,as a symbol.- Since
4.0.0
- final lazy val dot: Parsley[Unit]
This parser parses a dot
.as a symbol.This parser parses a dot
.as a symbol.- Since
4.0.0
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final val implicits: ImplicitSymbol
This object can be imported from to expose a way of converting raw Scala string literals into a parser for that specific token.
This object can be imported from to expose a way of converting raw Scala string literals into a parser for that specific token.
- Since
4.0.0
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final lazy val openAngle: Parsley[Unit]
This parser parses an open angle bracket
<as a symbol.This parser parses an open angle bracket
<as a symbol.- Since
4.0.0
- final lazy val openBrace: Parsley[Unit]
This parser parses an open brace
{as a symbol.This parser parses an open brace
{as a symbol.- Since
4.0.0
- final lazy val openParen: Parsley[Unit]
This parser parses an open parenthesis
(as a symbol.This parser parses an open parenthesis
(as a symbol.- Since
4.0.0
- final lazy val openSquare: Parsley[Unit]
This parser parses an open square bracket
[as a symbol.This parser parses an open square bracket
[as a symbol.- Since
4.0.0
- final lazy val semi: Parsley[Unit]
This parser parses a semicolon
;as a symbol.This parser parses a semicolon
;as a symbol.- Since
4.0.0
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()