Packages

  • package root

    This is the documentation for Parsley.

    This is the documentation for Parsley.

    Package structure

    The parsley package contains the Parsley class, as well as the Result, Success, and Failure types. In addition to these, it also contains the following packages and "modules" (a module is defined as being an object which mocks a package):

    • parsley.Parsley contains the bulk of the core "function-style" combinators.
    • parsley.combinator contains many helpful combinators that simplify some common parser patterns.
    • parsley.character contains the combinators needed to read characters and strings, as well as combinators to match specific sub-sets of characters.
    • parsley.debug contains debugging combinators, helpful for identifying faults in parsers.
    • parsley.expr contains the following sub modules:
      • parsley.expr.chain contains combinators used in expression parsing
      • parsley.expr.precedence is a builder for expression parsers built on a precedence table.
      • parsley.expr.infix contains combinators used in expression parsing, but with more permissive types than their equivalents in chain.
      • parsley.expr.mixed contains combinators that can be used for expression parsing, but where different fixities may be mixed on the same level: this is rare in practice.
    • parsley.syntax contains several implicits to add syntactic sugar to the combinators. These are sub-categorised into the following sub modules:
      • parsley.syntax.character contains implicits to allow you to use character and string literals as parsers.
      • parsley.syntax.lift enables postfix application of the lift combinator onto a function (or value).
      • parsley.syntax.zipped enables boths a reversed form of lift where the function appears on the right and is applied on a tuple (useful when type inference has failed) as well as a .zipped method for building tuples out of several combinators.
      • parsley.syntax.extension contains syntactic sugar combinators exposed as implicit classes.
    • parsley.errors contains modules to deal with error messages, their refinement and generation.
    • parsley.lift contains functions which lift functions that work on regular types to those which now combine the results of parsers returning those same types. these are ubiquitous.
    • parsley.ap contains functions which allow for the application of a parser returning a function to several parsers returning each of the argument types.
    • parsley.state contains combinators that interact with the context-sensitive functionality in the form of state.
    • parsley.token contains the Lexer class that provides a host of helpful lexing combinators when provided with the description of a language.
    • parsley.position contains parsers for extracting position information.
    • parsley.generic contains some basic implementations of the Parser Bridge pattern (see Design Patterns for Parser Combinators in Scala, or the parsley wiki): these can be used before more specialised generic bridge traits can be constructed.
    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 errors

    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.

    Definition Classes
    token
  • BadCharsFail
  • BadCharsReason
  • BasicFilter
  • Because
  • ErrorConfig
  • ExplainConfig
  • FilterConfig
  • Hidden
  • Label
  • LabelAndReason
  • LabelConfig
  • LabelWithExplainConfig
  • NotConfigured
  • PreventDotIsZeroConfig
  • Reason
  • SpecializedFilterConfig
  • SpecializedMessage
  • Unexpected
  • UnexpectedBecause
  • UnexpectedZeroDot
  • UnexpectedZeroDotWithReason
  • Unverified
  • VanillaFilterConfig
  • VerifiedBadChars
  • ZeroDotFail
  • ZeroDotReason
c

parsley.token.errors

ErrorConfig

class ErrorConfig extends AnyRef

This class is used to specify how errors should be produced by the Lexer class.

The Lexer is set up to produce a variety of different errors via label-ing, explain-ing, and filter-ing, and some applications of the Verified and Preventative error patterns. The exact content of those errors can be configured here. Errors can be suppressed or specified with different levels of detail, or even switching between vanilla or specialised errors.

This class should be used by extending it and overriding the relevant parts: all methods here are non-abstract and their default is documented inside. Not configuring something does not mean it will not appear in the message, but will mean it uses the underlying base errors.

Source
ErrorConfig.scala
Since

4.1.0

Linear Supertypes
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. ErrorConfig
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ErrorConfig()

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. def doubleName: String

    The name given to doubles.

    The name given to doubles.

    Since

    4.1.0

    Note

    defaults to "IEEE 754 double-precision float"

  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. def filterCharNonAscii: VanillaFilterConfig[Int]

    When a non-ASCII character is found in a ASCII-only character literal, specifies how this should be reported.

    When a non-ASCII character is found in a ASCII-only character literal, specifies how this should be reported.

    Since

    4.1.0

    Note

    defaults to a filter generating the reason "non-ascii character"

  10. def filterCharNonBasicMultilingualPlane: VanillaFilterConfig[Int]

    When a non-BMP character is found in a BMP-only character literal, specifies how this should be reported.

    When a non-BMP character is found in a BMP-only character literal, specifies how this should be reported.

    Since

    4.1.0

    Note

    defaults to a filter generating the reason "non-BMP character"

  11. def filterCharNonLatin1: VanillaFilterConfig[Int]

    When a non-Latin1 character is found in a Latin1-only character literal, specifies how this should be reported.

    When a non-Latin1 character is found in a Latin1-only character literal, specifies how this should be reported.

    Since

    4.1.0

    Note

    defaults to a filter generating the reason "non-latin1 character"

  12. def filterEscapeCharNumericSequenceIllegal(maxEscape: Int, radix: Int): SpecializedFilterConfig[BigInt]

    When a numeric escape sequence is not legal, this describes how to report that error, given the original illegal character.

    When a numeric escape sequence is not legal, this describes how to report that error, given the original illegal character.

    maxEscape

    the largest legal escape character

    radix

    the radix used for this numeric escape sequence

    Since

    4.1.0

    Note

    defaults to a specialised message stating if the character is larger than the given maximum, or just an illegal codepoint otherwise.

  13. def filterEscapeCharRequiresExactDigits(radix: Int, needed: Seq[Int]): SpecializedFilterConfig[Int]

    When a numeric escape sequence requires a specific number of digits but this was not successfully parsed, this describes how to report that error given the number of successfully parsed digits up this point.

    When a numeric escape sequence requires a specific number of digits but this was not successfully parsed, this describes how to report that error given the number of successfully parsed digits up this point.

    radix

    the radix used for this numeric escape sequence

    needed

    the possible numbers of digits required

    Since

    4.1.0

    Note

    defaults to a specialised message describing how many digits are required but how many were present.

  14. def filterIntegerOutOfBounds(min: BigInt, max: BigInt, nativeRadix: Int): FilterConfig[BigInt]

    This method describes the content of the error when an integer literal is parsed and it is not within the required bit-width.

    This method describes the content of the error when an integer literal is parsed and it is not within the required bit-width.

    min

    the smallest value the integer could have taken

    max

    the largest value the integer could have taken

    nativeRadix

    the radix that the integer was parsed using

    Since

    4.1.0

    Note

    defaults to a specialised error describing what the min and max bounds are.

  15. def filterNameIllFormedIdentifier: FilterConfig[String]

    When parsing identifiers that are required to have specific start characters, how bad identifiers should be reported.

    When parsing identifiers that are required to have specific start characters, how bad identifiers should be reported.

    Since

    4.1.0

    Note

    defaults to unexpected "identifier v"

  16. def filterNameIllFormedOperator: FilterConfig[String]

    When parsing operators that are required to have specific start/end characters, how bad operators should be reported.

    When parsing operators that are required to have specific start/end characters, how bad operators should be reported.

    Since

    4.1.0

    Note

    defaults to unexpected "operator v"

  17. def filterRealNotExact(name: String): FilterConfig[BigDecimal]

    This method describes the content of the error when a real literal is parsed and it is not representable exactly as the required precision.

    This method describes the content of the error when a real literal is parsed and it is not representable exactly as the required precision.

    name

    the name of the required precision (one of doubleName or floatName)

    Since

    4.1.0

    Note

    defaults to a specialised error stating that the literal is not exactly representable.

  18. def filterRealOutOfBounds(name: String, min: BigDecimal, max: BigDecimal): FilterConfig[BigDecimal]

    This method describes the content of the error when a real literal is parsed and it is not within the bounds perscribed by the required precision.

    This method describes the content of the error when a real literal is parsed and it is not within the bounds perscribed by the required precision.

    name

    the name of the required precision (one of doubleName or floatName)

    min

    the smallest value the real could have taken

    max

    the largest value the real could have taken

    Since

    4.1.0

    Note

    defaults to a specialised error describing what the min and max bounds are.

  19. def filterStringNonAscii: SpecializedFilterConfig[StringBuilder]

    When a non-ASCII character is found in a ASCII-only string literal, specifies how this should be reported.

    When a non-ASCII character is found in a ASCII-only string literal, specifies how this should be reported.

    Since

    4.1.0

    Note

    defaults to a filter generating a specialised message of "non-ascii characters in string literal, this is not allowed"

  20. def filterStringNonLatin1: SpecializedFilterConfig[StringBuilder]

    When a non-Latin1 character is found in a Latin1-only string literal, specifies how this should be reported.

    When a non-Latin1 character is found in a Latin1-only string literal, specifies how this should be reported.

    Since

    4.1.0

    Note

    defaults to a filter generating a specialised message of "non-latin1 characters in string literal, this is not allowed"

  21. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  22. def floatName: String

    The name given to floats.

    The name given to floats.

    Since

    4.1.0

    Note

    defaults to "IEEE 754 single-precision float"

  23. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  25. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  26. def labelCharAscii: LabelWithExplainConfig

    How a ASCII character literal should be referred to or explained in error messages.

    How a ASCII character literal should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  27. def labelCharAsciiEnd: LabelConfig

    How the closing quote of an ASCII character literal should be referred to in error messages.

    How the closing quote of an ASCII character literal should be referred to in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  28. def labelCharBasicMultilingualPlane: LabelWithExplainConfig

    How a BMP (Basic Multilingual Plane) character literal should be referred to or explained in error messages.

    How a BMP (Basic Multilingual Plane) character literal should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  29. def labelCharBasicMultilingualPlaneEnd: LabelConfig

    How the closing quote of a BMP character literal should be referred to in error messages.

    How the closing quote of a BMP character literal should be referred to in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  30. def labelCharLatin1: LabelWithExplainConfig

    How a Latin1 (extended ASCII) character literal should be referred to or explained in error messages.

    How a Latin1 (extended ASCII) character literal should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  31. def labelCharLatin1End: LabelConfig

    How the closing quote of a Latin1 character literal should be referred to in error messages.

    How the closing quote of a Latin1 character literal should be referred to in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  32. def labelCharUtf16: LabelWithExplainConfig

    How a UTF-16 character literal should be referred to or explained in error messages.

    How a UTF-16 character literal should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  33. def labelCharUtf16End: LabelConfig

    How the closing quote of a UTF-16 character literal should be referred to in error messages.

    How the closing quote of a UTF-16 character literal should be referred to in error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  34. def labelEscapeEnd: LabelWithExplainConfig

    How the end of an escape sequence (anything past the opening character) should be referred to or explained within an error message.

    How the end of an escape sequence (anything past the opening character) should be referred to or explained within an error message.

    Since

    4.1.0

    Note

    defaults to label of "end of escape sequence" with a reason of "invalid escape sequence"

  35. def labelEscapeNumeric(radix: Int): LabelWithExplainConfig

    How a numeric escape sequence (after the opening character) should be referred to or explained in error messages.

    How a numeric escape sequence (after the opening character) should be referred to or explained in error messages.

    radix

    the radix this specific configuration applies to

    Since

    4.1.0

    Note

    defaults to NotConfigured

  36. def labelEscapeNumericEnd(prefix: Char, radix: Int): LabelWithExplainConfig

    How the end of a numeric escape sequence (after a prefix) should be referred to or explained in error messages.

    How the end of a numeric escape sequence (after a prefix) should be referred to or explained in error messages.

    prefix

    the character that started this sequence

    radix

    the radix this specific configuration applies to

    Since

    4.1.0

    Note

    defaults to NotConfigured

  37. def labelEscapeSequence: LabelWithExplainConfig

    How an escape sequence should be referred to or explained in error messages.

    How an escape sequence should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to label of "escape sequence"

    ,

    explains for escape characters do not work in string literals.

    See also

    labelEscapeEnd for how to explain what valid escape sequences may be when the lead character has been parsed.

  38. def labelGraphicCharacter: LabelWithExplainConfig

    How a graphic character (a regular character in the literal) should be referred to or explained in error messages.

    How a graphic character (a regular character in the literal) should be referred to or explained in error messages.

    Since

    4.1.0

    Note

    defaults to a label of "graphic character"

    ,

    explains for graphic characters do not work in string literals.

  39. def labelIntegerBinaryEnd: LabelConfig

    How the fact that the end of a binary integer literal is expected should be referred to within an error.

    How the fact that the end of a binary integer literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerNumberEnd

  40. def labelIntegerDecimalEnd: LabelConfig

    How the fact that the end of a decimal integer literal is expected should be referred to within an error.

    How the fact that the end of a decimal integer literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerNumberEnd

  41. def labelIntegerHexadecimalEnd: LabelConfig

    How the fact that the end of a hexadecimal integer literal is expected should be referred to within an error.

    How the fact that the end of a hexadecimal integer literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerNumberEnd

  42. def labelIntegerNumberEnd: LabelConfig

    How the fact that the end of a generic integer literal is expected should be referred to within an error.

    How the fact that the end of a generic integer literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  43. def labelIntegerOctalEnd: LabelConfig

    How the fact that the end of an octal integer literal is expected should be referred to within an error.

    How the fact that the end of an octal integer literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerNumberEnd

  44. def labelIntegerSignedBinary(bits: Int): LabelWithExplainConfig

    How signed binary integers should of a given bit-width be referred to or explained within an error.

    How signed binary integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedBinary

  45. def labelIntegerSignedBinary: LabelWithExplainConfig

    How signed binary integers should be referred to or explained within an error.

    How signed binary integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedNumber

  46. def labelIntegerSignedDecimal(bits: Int): LabelWithExplainConfig

    How signed decimal integers should of a given bit-width be referred to or explained within an error.

    How signed decimal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedDecimal

  47. def labelIntegerSignedDecimal: LabelWithExplainConfig

    How signed decimal integers should be referred to or explained within an error.

    How signed decimal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedNumber

  48. def labelIntegerSignedHexadecimal(bits: Int): LabelWithExplainConfig

    How signed hexadecimal integers should of a given bit-width be referred to or explained within an error.

    How signed hexadecimal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedHexadecimal

  49. def labelIntegerSignedHexadecimal: LabelWithExplainConfig

    How signed hexadecimal integers should be referred to or explained within an error.

    How signed hexadecimal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedNumber

  50. def labelIntegerSignedNumber(bits: Int): LabelWithExplainConfig

    How generic signed integers should of a given bit-width be referred to or explained within an error.

    How generic signed integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  51. def labelIntegerSignedNumber: LabelWithExplainConfig

    How generic signed integers should be referred to or explained within an error.

    How generic signed integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  52. def labelIntegerSignedOctal(bits: Int): LabelWithExplainConfig

    How signed octal integers should of a given bit-width be referred to or explained within an error.

    How signed octal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedOctal

  53. def labelIntegerSignedOctal: LabelWithExplainConfig

    How signed octal integers should be referred to or explained within an error.

    How signed octal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerSignedNumber

  54. def labelIntegerUnsignedBinary(bits: Int): LabelWithExplainConfig

    How unsigned binary integers should of a given bit-width be referred to or explained within an error.

    How unsigned binary integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  55. def labelIntegerUnsignedBinary: LabelWithExplainConfig

    How unsigned binary integers should be referred to or explained within an error.

    How unsigned binary integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  56. def labelIntegerUnsignedDecimal(bits: Int): LabelWithExplainConfig

    How unsigned decimal integers should of a given bit-width be referred to or explained within an error.

    How unsigned decimal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  57. def labelIntegerUnsignedDecimal: LabelWithExplainConfig

    How unsigned decimal integers should be referred to or explained within an error.

    How unsigned decimal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  58. def labelIntegerUnsignedHexadecimal(bits: Int): LabelWithExplainConfig

    How unsigned hexadecimal integers should of a given bit-width be referred to or explained within an error.

    How unsigned hexadecimal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  59. def labelIntegerUnsignedHexadecimal: LabelWithExplainConfig

    How unsigned hexadecimal integers should be referred to or explained within an error.

    How unsigned hexadecimal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  60. def labelIntegerUnsignedNumber(bits: Int): LabelWithExplainConfig

    How generic unsigned integers should of a given bit-width be referred to or explained within an error.

    How generic unsigned integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  61. def labelIntegerUnsignedNumber: LabelWithExplainConfig

    How generic unsigned integers should be referred to or explained within an error.

    How generic unsigned integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  62. def labelIntegerUnsignedOctal(bits: Int): LabelWithExplainConfig

    How unsigned octal integers should of a given bit-width be referred to or explained within an error.

    How unsigned octal integers should of a given bit-width be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  63. def labelIntegerUnsignedOctal: LabelWithExplainConfig

    How unsigned octal integers should be referred to or explained within an error.

    How unsigned octal integers should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelIntegerUnsignedNumber

  64. def labelNameIdentifier: String

    How an identifier should be referred to in an error message.

    How an identifier should be referred to in an error message.

    Since

    4.1.0

    Note

    defaults to "identifier"

  65. def labelNameOperator: String

    How a user-defined operator should be referred to in an error message.

    How a user-defined operator should be referred to in an error message.

    Since

    4.1.0

    Note

    defaults to "operator"

  66. def labelNumericBreakChar: LabelWithExplainConfig

    How a numeric break character should (like _) be referred to or explained within an error.

    How a numeric break character should (like _) be referred to or explained within an error.

    Since

    4.1.0

  67. def labelRealBinary: LabelWithExplainConfig

    How binary reals should be referred to or explained within an error.

    How binary reals should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  68. def labelRealBinaryEnd: LabelConfig

    How the fact that the end of a binary real literal is expected should be referred to within an error.

    How the fact that the end of a binary real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumberEnd

  69. def labelRealDecimal: LabelWithExplainConfig

    How decimal reals should be referred to or explained within an error.

    How decimal reals should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  70. def labelRealDecimalEnd: LabelConfig

    How the fact that the end of a decimal real literal is expected should be referred to within an error.

    How the fact that the end of a decimal real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumberEnd

  71. def labelRealDot: LabelWithExplainConfig

    How the "dot" that separates the integer and fractional part of a real number should be referred to or explained within an error.

    How the "dot" that separates the integer and fractional part of a real number should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  72. def labelRealDoubleBinary: LabelWithExplainConfig

    How binary doubles should be referred to or explained within an error.

    How binary doubles should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealBinary

  73. def labelRealDoubleDecimal: LabelWithExplainConfig

    How decimal doubles should be referred to or explained within an error.

    How decimal doubles should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealDecimal

  74. def labelRealDoubleHexadecimal: LabelWithExplainConfig

    How hexadecimal doubles should be referred to or explained within an error.

    How hexadecimal doubles should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealHexadecimal

  75. def labelRealDoubleNumber: LabelWithExplainConfig

    How generic doubles should be referred to or explained within an error.

    How generic doubles should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  76. def labelRealDoubleOctal: LabelWithExplainConfig

    How octal doubles should be referred to or explained within an error.

    How octal doubles should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealOctal

  77. def labelRealExponent: LabelWithExplainConfig

    How the trailing exponents of a real number should be referred to or explained within an error.

    How the trailing exponents of a real number should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  78. def labelRealExponentEnd: LabelConfig

    How the fact that the end of an exponent part of a real literal is expected should be referred to within an error.

    How the fact that the end of an exponent part of a real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  79. def labelRealFloatBinary: LabelWithExplainConfig

    How binary floats should be referred to or explained within an error.

    How binary floats should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealBinary

  80. def labelRealFloatDecimal: LabelWithExplainConfig

    How decimal floats should be referred to or explained within an error.

    How decimal floats should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealDecimal

  81. def labelRealFloatHexadecimal: LabelWithExplainConfig

    How hexadecimal floats should be referred to or explained within an error.

    How hexadecimal floats should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealHexadecimal

  82. def labelRealFloatNumber: LabelWithExplainConfig

    How generic floats should be referred to or explained within an error.

    How generic floats should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  83. def labelRealFloatOctal: LabelWithExplainConfig

    How octal floats should be referred to or explained within an error.

    How octal floats should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealOctal

  84. def labelRealHexadecimal: LabelWithExplainConfig

    How hexadecimal reals should be referred to or explained within an error.

    How hexadecimal reals should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  85. def labelRealHexadecimalEnd: LabelConfig

    How the fact that the end of a hexadecimal real literal is expected should be referred to within an error.

    How the fact that the end of a hexadecimal real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumberEnd

  86. def labelRealNumber: LabelWithExplainConfig

    How generic reals should be referred to or explained within an error.

    How generic reals should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  87. def labelRealNumberEnd: LabelConfig

    How the fact that the end of a generic real literal is expected should be referred to within an error.

    How the fact that the end of a generic real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  88. def labelRealOctal: LabelWithExplainConfig

    How octal reals should be referred to or explained within an error.

    How octal reals should be referred to or explained within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumber

  89. def labelRealOctalEnd: LabelConfig

    How the fact that the end of an octal real literal is expected should be referred to within an error.

    How the fact that the end of an octal real literal is expected should be referred to within an error.

    Since

    4.1.0

    Note

    defaults to labelRealNumberEnd

  90. def labelSpaceEndOfLineComment: LabelWithExplainConfig

    How the end of a single-line comment should be described or explained.

    How the end of a single-line comment should be described or explained.

    Since

    4.1.0

    Note

    defaults to "end of comment"

  91. def labelSpaceEndOfMultiComment: LabelWithExplainConfig

    How the end of a multi-line comment should be described or explained.

    How the end of a multi-line comment should be described or explained.

    Since

    4.1.0

    Note

    defaults to "end of comment"

  92. def labelStringAscii(multi: Boolean, raw: Boolean): LabelWithExplainConfig

    How a ASCII-only string literal should be referred to or explained in error messages.

    How a ASCII-only string literal should be referred to or explained in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  93. def labelStringAsciiEnd(multi: Boolean, raw: Boolean): LabelConfig

    How the closing quote(s) of an ASCII string literal should be referred to in error messages.

    How the closing quote(s) of an ASCII string literal should be referred to in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  94. def labelStringCharacter: LabelConfig

    How general string characters should be referred to in error messages.

    How general string characters should be referred to in error messages.

    Since

    4.1.0

    Note

    defaults to label of "string character"

    ,

    this superscedes labelGraphicCharacter and labelEscapeSequence within string literals.

  95. def labelStringEscapeEmpty: LabelConfig

    How zero-width escape characters should be referred to within error messages.

    How zero-width escape characters should be referred to within error messages.

    Since

    4.1.0

    Note

    defaults to NotConfigured

  96. def labelStringEscapeGap: LabelConfig

    How string gaps should be referred to within error messages.

    How string gaps should be referred to within error messages.

    Since

    4.1.0

    Note

    defaults to label of "string gap"

  97. def labelStringEscapeGapEnd: LabelConfig

    How the end of a string gap (the closing slash) should be referred to within error messages.

    How the end of a string gap (the closing slash) should be referred to within error messages.

    Since

    4.1.0

    Note

    defaults to label of "end of string gap"

  98. def labelStringLatin1(multi: Boolean, raw: Boolean): LabelWithExplainConfig

    How a Latin1-only string literal should be referred to or explained in error messages.

    How a Latin1-only string literal should be referred to or explained in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  99. def labelStringLatin1End(multi: Boolean, raw: Boolean): LabelConfig

    How the closing quote(s) of a Latin1 string literal should be referred to in error messages.

    How the closing quote(s) of a Latin1 string literal should be referred to in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  100. def labelStringUtf16(multi: Boolean, raw: Boolean): LabelWithExplainConfig

    How a UTF-16-only string should literal be referred to or explained in error messages.

    How a UTF-16-only string should literal be referred to or explained in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  101. def labelStringUtf16End(multi: Boolean, raw: Boolean): LabelConfig

    How the closing quote(s) of a UTF-16 string literal should be referred to in error messages.

    How the closing quote(s) of a UTF-16 string literal should be referred to in error messages.

    multi

    whether this is for multi-line strings

    raw

    whether this is for raw strings

    Since

    4.1.0

    Note

    defaults to NotConfigured

  102. def labelSymbol: Map[String, LabelWithExplainConfig]

    Gives names and/or reasons to symbols.

    Gives names and/or reasons to symbols.

    Symbols that do not appear in the map are assumed to be NotConfigured.

    Since

    5.0.0

    Note

    defaults to the empty map

  103. def labelSymbolEndOfKeyword(symbol: String): String

    How the required end of a given keyword should be specified in an error.

    How the required end of a given keyword should be specified in an error.

    Since

    4.1.0

    Note

    defaults to "end of symbol"

  104. def labelSymbolEndOfOperator(symbol: String): String

    How the required end of a given operator should be specified in an error.

    How the required end of a given operator should be specified in an error.

    Since

    4.1.0

    Note

    defaults to "end of symbol"

  105. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  106. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  107. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  108. def preventRealDoubleDroppedZero: PreventDotIsZeroConfig

    Even if leading and trailing zeros can be dropped, . is not a valid real number: this method specifies how to report that to the user.

    Even if leading and trailing zeros can be dropped, . is not a valid real number: this method specifies how to report that to the user.

    Since

    4.1.0

    Note

    defaults to a vanilla explain: "a real number cannot drop both a leading and trailing zero"

  109. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  110. def toString(): String
    Definition Classes
    AnyRef → Any
  111. def unexpectedNameIllegalIdentifier(v: String): String

    How an illegally parsed hard keyword should be referred to as an unexpected component.

    How an illegally parsed hard keyword should be referred to as an unexpected component.

    v

    the illegal identifier

    Since

    4.1.0

    Note

    defaults to "keyword v"

  112. def unexpectedNameIllegalOperator(v: String): String

    How an illegally parsed hard operator should be referred to as an unexpected component.

    How an illegally parsed hard operator should be referred to as an unexpected component.

    Since

    4.1.0

    Note

    defaults to "reserved operator v"

  113. def verifiedCharBadCharsUsedInLiteral: VerifiedBadChars

    Character literals parse either graphic characters or escape characters.

    Character literals parse either graphic characters or escape characters. This configuration allows for individual errors when a character not part of either graphic characters or escape characters is encountered.

    Since

    4.1.0

    Note

    defaults to Unverified

  114. def verifiedStringBadCharsUsedInLiteral: VerifiedBadChars

    String literals parse either graphic characters or escape characters.

    String literals parse either graphic characters or escape characters. This configuration allows for individual errors when a character not part of either graphic characters or escape characters is encountered.

    Since

    4.1.0

    Note

    defaults to Unverified

  115. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  116. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  117. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()

Inherited from AnyRef

Inherited from Any

Name Errors

These control the errors generated with the names component of the Lexer.

Numeric Errors

These control the errors generated with the numeric component of the Lexer.

Space Errors

These control the errors generated with the space component of the Lexer.

Symbol Errors

These control the errors generated with the symbol component of the Lexer.

Text Errors

These control the errors generated with the text component of the Lexer.

Ungrouped