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
- All
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( ... ) @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: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- 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( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()