parsley.token

package parsley.token

Members list

Packages

This package contains the relevant functionality for configuring the error messages generated by the parsers provided by the Lexer class.

This package contains the relevant functionality for configuring the error messages generated by the parsers provided by the Lexer class.

Attributes

Type members

Classlikes

final class Lexer(desc: LexicalDesc, errConfig: ErrorConfig)

This class provides a large selection of functionality concerned with lexing.

This class provides a large selection of functionality concerned with lexing.

This class provides lexing functionality to parsley, however it is guaranteed that nothing in this class is not implementable purely using parsley's pre-existing functionality. These are regular parsers, but constructed in such a way that they create a clear and logical separation from the rest of the parser.

The class is broken up into several internal "modules" that group together similar kinds of functionality. Importantly, the lexemes and nonlexemes objects separate the underlying token implementations based on whether or not they consume whitespace or not. Functionality is broadly duplicated across both of these modules: lexemes should be used by a wider parser, to ensure whitespace is handled uniformly; and nonlexemes should be used to define further composite tokens or in special circumstances where whitespace should not be consumed.

It is possible that some of the implementations of parsers found within this class may have been hand-optimised for performance: care will have been taken to ensure these implementations precisely match the semantics of the originals.

Attributes

Source
Lexer.scala
Supertypes
class Object
trait Matchable
class Any