Packages

  • package root
    Definition Classes
    root
  • package parsley
    Definition Classes
    root
  • package token

    This package provides a wealth of functionality for performing common lexing tasks.

    This package provides a wealth of functionality for performing common lexing tasks.

    It is organised as follows:

    • the main parsing functionality is accessed via Lexer, which provides implementations for the combinators found in the sub-packages given a LexicalDesc.
    • the descriptions sub-package is how a lexical structure can be described, providing the configuration that alters the behaviour of the parsers produced by the Lexer.
    • the other sub-packages contain the high-level interfaces that the Lexer exposes, which can be used to pass whitespace-aware and non-whitespace-aware combinators around in a uniform way.
    • the predicate module contains functionality to help define boolean predicates on characters or unicode codepoints.
    Definition Classes
    parsley
  • package descriptions

    This package contains the descriptions of various lexical structures to be fed to Lexer.

    This package contains the descriptions of various lexical structures to be fed to Lexer.

    Definition Classes
    token
    Since

    4.0.0

  • package numeric
    Definition Classes
    descriptions
  • package text
    Definition Classes
    descriptions
  • LexicalDesc
  • NameDesc
  • SpaceDesc
  • SymbolDesc

final case class SpaceDesc(commentStart: String, commentEnd: String, commentLine: String, commentLineAllowsEOF: Boolean, nestedComments: Boolean, space: CharPredicate, whitespaceIsContextDependent: Boolean) extends Product with Serializable

This class describes how whitespace should be handled lexically.

commentStart

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

commentEnd

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

commentLine

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

commentLineAllowsEOF

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

nestedComments

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)

Source
SpaceDesc.scala
Since

4.0.0

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. SpaceDesc
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new SpaceDesc(commentStart: String, commentEnd: String, commentLine: String, commentLineAllowsEOF: Boolean, nestedComments: Boolean, space: CharPredicate, whitespaceIsContextDependent: Boolean)

    commentStart

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

    commentEnd

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

    commentLine

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

    commentLineAllowsEOF

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

    nestedComments

    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)

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  6. val commentEnd: String
  7. val commentLine: String
  8. val commentLineAllowsEOF: Boolean
  9. val commentStart: String
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  12. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  15. val nestedComments: Boolean
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  18. val space: CharPredicate
  19. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  20. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  21. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  23. val whitespaceIsContextDependent: Boolean

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Ungrouped