object numeric
This object contains lexing functionality relevant to the parsing of numbers. This is sub-divided into different categories:
- integers (both signed and unsigned)
- reals (signed only)
- a combination of the two (signed and unsigned)
These contain relevant functionality for the processing of
decimal, hexadecimal, octal, and binary literals; or some
mixed combination thereof (as specified by desc.numericDesc).
Additionally, it is possible to ensure literals represent known
sizes or precisions.
- Source
- Lexer.scala
- Since
4.0.0
- Alphabetic
- By Inheritance
- numeric
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
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
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
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] )
-
def
floating: Real
This is a collection of parsers concerned with handling signed real numbers (like floats and doubles).
This is a collection of parsers concerned with handling signed real numbers (like floats and doubles).
These literals consist of a (possibly optional) integer prefix, with at least one of a fractional component (with
.) or an exponential component.Real numbers are an extension of signed integers with the following additional configuration:
desc.numericDesc.leadingDotAllowed: determines whether a literal like.0would be considered legaldesc.numericDesc.trailingDotAllowed: determines whether a literal like0.would be considered legaldesc.numericDesc.realNumbersCanBe{Hexadecimal/Octal/Binary}: these flags control what kind of literals can appear within thenumberparser. Each type of literal may still be individually parsed with its corresponding parser, regardless of the value of the flagdesc.numericDesc.{decimal/hexadecimal/octal/binary}ExponentDesc: describes how the exponential syntax works for each kind of base. If the syntax is legal, then this describes: which characters start it (classically, this would beeorEfor decimals); whether or not it is compulsory for the literal (in Java and C, hexadecimal floats are only valid when they have an exponent attached); and whether or not a+sign is mandatory, optional, or illegal for positive exponents
Additional to the parsing of decimal, hexadecimal, octal, and binary floating literals, each parser can be given a precision of IEEE 754 float or double. This can either be achieved by rounding to the nearest representable value, or by ensuring that the literal must be precisely representable as one of these numbers (which is defined as being one of binary, decimal or exact
floatanddoublevalues as described by Java) -
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
val
integer: Integer
This is a collection of parsers concerned with handling signed integer literals.
This is a collection of parsers concerned with handling signed integer literals.
Signed integer literals are an extension of unsigned integer literals with the following extra configuration:
desc.numericDesc.positiveSign: describes whether or not literals are allowed to omit+for positive literals, must write a+, or can never write a+.
- Since
4.0.0
- See also
naturalfor a full description of integer configuration
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
val
natural: Integer
This is a collection of parsers concerned with handling unsigned (positive) integer literals.
This is a collection of parsers concerned with handling unsigned (positive) integer literals.
Natural numbers are described generally as follows:
desc.numericDesc.literalBreakChar: determines whether or not it is legal to "break up" the digits within a literal, for example: is1_000_000allowed? If this is legal, describes what the break character is, and whether it can appear after a hexadecimal/octal/binary prefixdesc.numericDesc.leadingZerosAllowed: determines whether or not it is possible to add extraneous zero digits onto the front of a number or not. In some languages, like C, this is disallowed, as numbers starting with0are octal numbers.desc.numericDesc.integerNumbersCanBe{Hexadecimal/Octal/Binary}: these flags control what kind of literals can appear within thenumberparser. Each type of literal can be individually parsed with its corresponding parser, regardless of the value of the flagdesc.numericDesc.{hexadecimal/octal/binary}Leads: controls what character must follow a0when starting a number to change it from decimal into another base. This set may be empty, in which case the literal is described purely with leading zero (C style octals would setoctalLeadstoSet.empty)
Additional to the parsing of decimal, hexadecimal, octal, and binary literals, each parser can be given a bit-width from 8- to 64-bit: this will check the parsed literal to ensure it is a legal literal of that size.
- Since
4.0.0
-
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()
-
val
real: Real
This is a collection of parsers concerned with handling signed real numbers (like floats and doubles).
This is a collection of parsers concerned with handling signed real numbers (like floats and doubles).
These literals consist of a (possibly optional) integer prefix, with at least one of a fractional component (with
.) or an exponential component.Real numbers are an extension of signed integers with the following additional configuration:
desc.numericDesc.leadingDotAllowed: determines whether a literal like.0would be considered legaldesc.numericDesc.trailingDotAllowed: determines whether a literal like0.would be considered legaldesc.numericDesc.realNumbersCanBe{Hexadecimal/Octal/Binary}: these flags control what kind of literals can appear within thenumberparser. Each type of literal may still be individually parsed with its corresponding parser, regardless of the value of the flagdesc.numericDesc.{decimal/hexadecimal/octal/binary}ExponentDesc: describes how the exponential syntax works for each kind of base. If the syntax is legal, then this describes: which characters start it (classically, this would beeorEfor decimals); whether or not it is compulsory for the literal (in Java and C, hexadecimal floats are only valid when they have an exponent attached); and whether or not a+sign is mandatory, optional, or illegal for positive exponents
Additional to the parsing of decimal, hexadecimal, octal, and binary floating literals, each parser can be given a precision of IEEE 754 float or double. This can either be achieved by rounding to the nearest representable value, or by ensuring that the literal must be precisely representable as one of these numbers (which is defined as being one of binary, decimal or exact
floatanddoublevalues as described by Java) -
def
signed: Integer
This is a collection of parsers concerned with handling signed integer literals.
This is a collection of parsers concerned with handling signed integer literals.
Signed integer literals are an extension of unsigned integer literals with the following extra configuration:
desc.numericDesc.positiveSign: describes whether or not literals are allowed to omit+for positive literals, must write a+, or can never write a+.
-
val
signedCombined: Combined
This is a collection of parsers concerned with handling numeric literals that may either be signed integers or signed reals.
This is a collection of parsers concerned with handling numeric literals that may either be signed integers or signed reals.
There is no additional configuration offered over that found in
integerorreal.the bit-bounds and precision of the integer or real parts of the result can be specified in any pairing.
- Since
4.0.0
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
def
unsigned: Integer
This is a collection of parsers concerned with handling unsigned (positive) integer literals.
This is a collection of parsers concerned with handling unsigned (positive) integer literals.
Natural numbers are described generally as follows:
desc.numericDesc.literalBreakChar: determines whether or not it is legal to "break up" the digits within a literal, for example: is1_000_000allowed? If this is legal, describes what the break character is, and whether it can appear after a hexadecimal/octal/binary prefixdesc.numericDesc.leadingZerosAllowed: determines whether or not it is possible to add extraneous zero digits onto the front of a number or not. In some languages, like C, this is disallowed, as numbers starting with0are octal numbers.desc.numericDesc.integerNumbersCanBe{Hexadecimal/Octal/Binary}: these flags control what kind of literals can appear within thenumberparser. Each type of literal can be individually parsed with its corresponding parser, regardless of the value of the flagdesc.numericDesc.{hexadecimal/octal/binary}Leads: controls what character must follow a0when starting a number to change it from decimal into another base. This set may be empty, in which case the literal is described purely with leading zero (C style octals would setoctalLeadstoSet.empty)
Additional to the parsing of decimal, hexadecimal, octal, and binary literals, each parser can be given a bit-width from 8- to 64-bit: this will check the parsed literal to ensure it is a legal literal of that size.
- Since
4.0.0
- Note
alias for
natural.
-
val
unsignedCombined: Combined
This is a collection of parsers concerned with handling numeric literals that may either be unsigned integers or unsigned reals.
This is a collection of parsers concerned with handling numeric literals that may either be unsigned integers or unsigned reals.
There is no additional configuration offered over that found in
naturalorreal.the bit-bounds and precision of the integer or real parts of the result can be specified in any pairing.
- Since
4.0.0
-
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()