parsley.token.descriptions

Members list

Type members

Classlikes

final case class LexicalDesc(nameDesc: NameDesc, symbolDesc: SymbolDesc, numericDesc: NumericDesc, textDesc: TextDesc, spaceDesc: SpaceDesc)

This class describes the aggregation of a bunch of different sub-configurations for lexing a specific language.

This class describes the aggregation of a bunch of different sub-configurations for lexing a specific language.

Value parameters

nameDesc

the description of name-like lexemes

numericDesc

the description of numeric literals

spaceDesc

the description of whitespace

symbolDesc

the description of specific symbolic lexemes

textDesc

the description of text literals

Attributes

Since

4.0.0

Companion
object
Source
LexicalDesc.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object LexicalDesc

This object contains any preconfigured lexical definitions.

This object contains any preconfigured lexical definitions.

Attributes

Since

4.0.0

Companion
class
Source
LexicalDesc.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
final case class NameDesc(identifierStart: CharPredicate, identifierLetter: CharPredicate, operatorStart: CharPredicate, operatorLetter: CharPredicate)

The class describes how name-like things are described lexically.

The class describes how name-like things are described lexically.

Value parameters

identifierLetter

what characters may continue an identifier?

identifierStart

what characters may start an identifier?

operatorLetter

what characters may continue a user-defined operator?

operatorStart

what characters may start a user-defined operator?

Attributes

Since

4.0.0

Companion
object
Source
NameDesc.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object NameDesc

This object contains any preconfigured name definitions.

This object contains any preconfigured name definitions.

Attributes

Since

4.0.0

Companion
class
Source
NameDesc.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
NameDesc.type
final case class SpaceDesc(lineCommentStart: String, lineCommentAllowsEOF: Boolean, multiLineCommentStart: String, multiLineCommentEnd: String, multiLineNestedComments: Boolean, space: CharPredicate, whitespaceIsContextDependent: Boolean)

This class describes how whitespace should be handled lexically.

This class describes how whitespace should be handled lexically.

Value parameters

lineCommentAllowsEOF

can a single-line comment be terminated by the end-of-file, or must it ends with a newline

lineCommentStart

how do single-line comments start? (empty for no single-line comments)

multiLineCommentEnd

how do multi-line comments end? (empty for no multi-line comments)

multiLineCommentStart

how do multi-line comments start? (empty for no multi-line comments)

multiLineNestedComments

can multi-line comments be nested within each other?

space

what characters serve as whitespace within the language?

whitespaceIsContextDependent

can the definition of whitespace change depending on context? (in Python, say, newlines are valid whitespace within parentheses, but are significant outside of them)

Attributes

Since

4.0.0

Companion
object
Source
SpaceDesc.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SpaceDesc

This object contains any default configurations describing whitespace.

This object contains any default configurations describing whitespace.

Attributes

Since

4.0.0

Companion
class
Source
SpaceDesc.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
SpaceDesc.type
final case class SymbolDesc(hardKeywords: Set[String], hardOperators: Set[String], caseSensitive: Boolean)

This class describes how symbols (textual literals in a BNF) should be processed lexically.

This class describes how symbols (textual literals in a BNF) should be processed lexically.

Value parameters

caseSensitive

are the keywords case sensitive: when false, IF == if.

hardKeywords

what keywords are always treated as keywords within the language.

hardOperators

what operators are always treated as reserved operators within the language.

Attributes

Since

4.0.0

Companion
object
Source
SymbolDesc.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object SymbolDesc

This object contains any preconfigured symbol descriptions.

This object contains any preconfigured symbol descriptions.

Attributes

Since

4.0.0

Companion
class
Source
SymbolDesc.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
SymbolDesc.type