Packages

abstract class Parser extends AnyRef

The based abstract parser

Note

The parsing rules methods inside this class is created based on the defined grammar

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Parser
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Parser(pattern: String)

    pattern

    The regex pattern to be parsed

Abstract Value Members

  1. abstract val boundaryMetaChars: String

    Allowed boundary meta-characters

  2. abstract val charClassSpecialChars: String

    Special characters within a character class

  3. abstract def charOct[_](implicit arg0: P[Any]): P[MetaChar]

    Parse a character with octal value

    Parse a character with octal value

    returns

    weaponregex.model.regextree.MetaChar tree node

    Example:
    1. "\012"

  4. abstract val escapeChars: String

    Allowed escape characters

  5. abstract val minCharClassItem: Int

    Minimum number of character class items of a valid character class

  6. abstract val predefCharClassChars: String

    Allowed predefined character class characters

  7. abstract val specialChars: String

    Regex special characters

Concrete 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. def Indexed[_, T](p: => P[T])(implicit arg0: P[Any]): P[(Location, T)]

    A higher order parser that add weaponregex.model.Location index information of the parse of the given parser

    A higher order parser that add weaponregex.model.Location index information of the parse of the given parser

    p

    the parser to be indexed

    returns

    A tuple of the weaponregex.model.Location of the parse, and the return of the given parser p

  5. def RE[_](implicit arg0: P[Any]): P[RegexTree]

    The top-level parsing rule which can parse either or or simpleRE

    The top-level parsing rule which can parse either or or simpleRE

    returns

    weaponregex.model.regextree.RegexTree tree

    Example:
    1. any supported regex

  6. def anyDot[_](implicit arg0: P[Any]): P[AnyDot]

    Parse an any(dot) (.) predefined character class

    Parse an any(dot) (.) predefined character class

    returns

    weaponregex.model.regextree.AnyDot tree node

    Example:
    1. "."

  7. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  8. def atomicGroup[_](implicit arg0: P[Any]): P[AtomicGroup]

    Parse an independent non-capturing group

    Parse an independent non-capturing group

    returns

    weaponregex.model.regextree.AtomicGroup

    Example:
    1. "(?>abc)"

    Note

    This is a Scala/Java-only regex syntax

  9. def basicRE[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule which can parse either quantifier or elementaryRE

    Intermediate parsing rule which can parse either quantifier or elementaryRE

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  10. def bol[_](implicit arg0: P[Any]): P[BOL]

    Parse a beginning of line character (^)

    Parse a beginning of line character (^)

    returns

    weaponregex.model.regextree.BOL tree node

    Example:
    1. "^"

  11. def boundary[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for boundary tokens which can parse either bol, eol or boundaryMetaChar

    Intermediate parsing rule for boundary tokens which can parse either bol, eol or boundaryMetaChar

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  12. def boundaryMetaChar[_](implicit arg0: P[Any]): P[Boundary]

    Parse a boundary meta-character character

    Parse a boundary meta-character character

    returns

    weaponregex.model.regextree.BOL tree node

    Example:
    1. "\z"

    See also

    weaponregex.parser.Parser.boundaryMetaChars

  13. def capturing[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for capturing-related tokens which can parse either group or specialConstruct

    Intermediate parsing rule for capturing-related tokens which can parse either group or specialConstruct

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  14. def charClass[_](implicit arg0: P[Any]): P[CharacterClass]

    Parse a character class

    Parse a character class

    returns

    weaponregex.model.regextree.CharacterClass tree node

    Example:
    1. "[abc]"

  15. def charClassCharLiteral[_](implicit arg0: P[Any]): P[Character]

    Parse a single literal character that is allowed to be in a character class

    Parse a single literal character that is allowed to be in a character class

    returns

    weaponregex.model.regextree.Character tree node

    Example:
    1. "{"

    See also

    weaponregex.parser.Parser.charClassSpecialChars

  16. def charClassCharLiteralSpecialCases[_](implicit arg0: P[Any]): P[String]

    Parse special cases of a character literal in a character class

    Parse special cases of a character literal in a character class

    returns

    The captured character as a string

  17. def charHex[_](implicit arg0: P[Any]): P[MetaChar]

    Parse a character with hexadecimal value \xhh

    Parse a character with hexadecimal value \xhh

    returns

    weaponregex.model.regextree.MetaChar tree node

    Example:
    1. "\x01"

  18. def charHexBrace[_](implicit arg0: P[Any]): P[MetaChar]

    Parse a character with hexadecimal value with braces \x{h...h} (Character.MIN_CODE_POINT <= 0xh...h <= Character.MAX_CODE_POINT)

    Parse a character with hexadecimal value with braces \x{h...h} (Character.MIN_CODE_POINT <= 0xh...h <= Character.MAX_CODE_POINT)

    returns

    weaponregex.model.regextree.MetaChar tree node

    Example:
    1. "\x{0123}"

  19. def charLiteral[_](implicit arg0: P[Any]): P[Character]

    Parse a single literal character that is not a regex special character

    Parse a single literal character that is not a regex special character

    returns

    weaponregex.model.regextree.Character tree node

    Example:
    1. "a"

    See also

    weaponregex.parser.Parser.specialChars

  20. def charLiteralSpecialCases[_](implicit arg0: P[Any]): P[String]

    Parse special cases of a character literal

    Parse special cases of a character literal

    returns

    The captured character as a string

  21. def charUnicode[_](implicit arg0: P[Any]): P[MetaChar]

    Parse a unicode character \ uhhhh

    Parse a unicode character \ uhhhh

    returns

    weaponregex.model.regextree.MetaChar tree node

    Example:
    1. "\ u0020"

  22. def character[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for character-related tokens which can parse either metaCharacter or charLiteral

    Intermediate parsing rule for character-related tokens which can parse either metaCharacter or charLiteral

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  23. def classItem[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for character class item tokens which can parse either charClass, preDefinedCharClass, metaCharacter, range, quoteChar, or charClassCharLiteral

    Intermediate parsing rule for character class item tokens which can parse either charClass, preDefinedCharClass, metaCharacter, range, quoteChar, or charClassCharLiteral

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  24. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
  25. def concat[_](implicit arg0: P[Any]): P[Concat]

    Parse a concatenation of basicREs

    Parse a concatenation of basicREs

    returns

    weaponregex.model.regextree.Concat tree node

    Example:
    1. "abc"

  26. def controlChar[_](implicit arg0: P[Any]): P[ControlChar]

    Parse an control meta-character based on caret notation

    Parse an control meta-character based on caret notation

    returns

    weaponregex.model.regextree.ControlChar tree node

    Example:
    1. "\cA"

    See also

    https://en.wikipedia.org/wiki/Caret_notation

  27. def elementaryRE[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule which can parse either capturing, anyDot, preDefinedCharClass, boundary, charClass, reference, character or quote

    Intermediate parsing rule which can parse either capturing, anyDot, preDefinedCharClass, boundary, charClass, reference, character or quote

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  28. def empty[_](implicit arg0: P[Any]): P[Empty]

    Parse an empty string

    Parse an empty string

    returns

    weaponregex.model.regextree.Empty tree node

    Example:
    1. ""

  29. def entry[_](implicit arg0: P[Any]): P[RegexTree]

    The entry point of the parser that should parse from the start to the end of the regex string

    The entry point of the parser that should parse from the start to the end of the regex string

    returns

    weaponregex.model.regextree.RegexTree tree

  30. def eol[_](implicit arg0: P[Any]): P[EOL]

    Parse a beginning of line character ($)

    Parse a beginning of line character ($)

    returns

    weaponregex.model.regextree.EOL tree node

    Example:
    1. "$"

  31. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  32. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  33. def escapeChar[_](implicit arg0: P[Any]): P[MetaChar]

    Parse an escape meta-character

    Parse an escape meta-character

    returns

    weaponregex.model.regextree.MetaChar tree node

    Example:
    1. "\n"

    See also

    weaponregex.parser.Parser.escapeChars

  34. def flagNCGroup[_](implicit arg0: P[Any]): P[FlagNCGroup]

    Parse a non-capturing group with flags

    Parse a non-capturing group with flags

    returns

    weaponregex.model.regextree.FlagNCGroup

    Example:
    1. "(?id-mu:abc)"

    Note

    This is a Scala/Java-only regex syntax

  35. def flagToggle[_](fs: String)(implicit arg0: P[Any]): P[FlagToggle]

    Parse a flag toggle (idmsuxU-idmsuxU)

    Parse a flag toggle (idmsuxU-idmsuxU)

    returns

    weaponregex.model.regextree.FlagToggle tree node

    Example:
    1. "idmsuxU-idmsuxU"

    Note

    This is a Scala/Java-only regex syntax

  36. def flagToggleGroup[_](implicit arg0: P[Any]): P[FlagToggleGroup]

    Parse a flag toggle group

    Parse a flag toggle group

    returns

    weaponregex.model.regextree.FlagToggleGroup

    Example:
    1. "(?id-mu)"

    Note

    This is a Scala/Java-only regex syntax

  37. def flags[_](fs: String)(implicit arg0: P[Any]): P[Flags]

    Parse flag literal characters given a string contains all allowed flags

    Parse flag literal characters given a string contains all allowed flags

    fs

    The string contains all allowed flags

    returns

    weaponregex.model.regextree.Flags tree node

    Annotations
    @SuppressWarnings()
    Example:
    1. "idmsuxU"

    Note

    This is a Scala/Java-only regex syntax

  38. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  39. def group[_](implicit arg0: P[Any]): P[Group]

    Parse a capturing group

    Parse a capturing group

    returns

    weaponregex.model.regextree.Group tree node

    Example:
    1. "(a)"

  40. def groupName[_](implicit arg0: P[Any]): P[String]

    Parse a group name that starts with a letter and followed by zero or more alphanumeric characters

    Parse a group name that starts with a letter and followed by zero or more alphanumeric characters

    returns

    the parsed name string

    Example:
    1. "name1"

  41. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  42. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  43. def lookaround[_](implicit arg0: P[Any]): P[Lookaround]

    Parse a positive or negative lookahead or lookbehind

    Parse a positive or negative lookahead or lookbehind

    returns

    weaponregex.model.regextree.Lookaround

    Example:
    1. "(?=abc)" (positive lookahead)

  44. def metaCharacter[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for meta-character tokens which can parse either charOct, charHex, charUnicode, charHexBrace or escapeChar

    Intermediate parsing rule for meta-character tokens which can parse either charOct, charHex, charUnicode, charHexBrace or escapeChar

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  45. def nameReference[_](implicit arg0: P[Any]): P[NameReference]

    Parse a reference to a named capturing group

    Parse a reference to a named capturing group

    returns

    weaponregex.model.regextree.NameReference

    Example:
    1. "\k<name1>"

  46. def namedGroup[_](implicit arg0: P[Any]): P[NamedGroup]

    Parse a named-capturing group

    Parse a named-capturing group

    returns

    weaponregex.model.regextree.NamedGroup tree node

    Example:
    1. "(?<name1>hello)"

  47. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  48. def nonCapturingGroup[_](implicit arg0: P[Any]): P[Group]

    Parse a non-capturing group

    Parse a non-capturing group

    returns

    weaponregex.model.regextree.Group tree node

    Example:
    1. "(?:hello)"

  49. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  50. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  51. def numReference[_](implicit arg0: P[Any]): P[NumberReference]

    Parse a numbered reference to a capture group

    Parse a numbered reference to a capture group

    returns

    weaponregex.model.regextree.NumberReference

    Example:
    1. "\13"

  52. def number[_](implicit arg0: P[Any]): P[Int]

    Parse an integer with any number of digits between 0 and 9

    Parse an integer with any number of digits between 0 and 9

    returns

    the parsed integer

    Example:
    1. "123"

  53. def or[_](implicit arg0: P[Any]): P[Or]

    Parse an 'or' (|) of simpleRE

    Parse an 'or' (|) of simpleRE

    returns

    weaponregex.model.regextree.Or tree node

    Example:
    1. "a|b|c"

  54. def parse: Try[RegexTree]

    Parse the given regex pattern

    Parse the given regex pattern

    returns

    A Success of parsed weaponregex.model.regextree.RegexTree if can be parsed, a Failure otherwise

  55. val pattern: String
  56. def posixCharClass[_](implicit arg0: P[Any]): P[POSIXCharClass]

    Parse a posix character class

    Parse a posix character class

    returns

    weaponregex.model.regextree.POSIXCharClass tree node

    Example:
    1. "\p{Alpha}"

    Note

    This does not check for the validity of the property inside \p{}

  57. def preDefinedCharClass[_](implicit arg0: P[Any]): P[PredefinedCharClass]

    Parse a predefined character class

    Parse a predefined character class

    returns

    weaponregex.model.regextree.PredefinedCharClass tree node

    Example:
    1. "\d"

    See also

    weaponregex.parser.Parser.predefCharClassChars

  58. def quantifier[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for quantifier tokens which can parse either quantifierShort or quantifierLong

    Intermediate parsing rule for quantifier tokens which can parse either quantifierShort or quantifierLong

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  59. def quantifierLong[_](implicit arg0: P[Any]): P[Quantifier]

    Parse a (full) quantifier ({n}, {n,}, {n,m})

    Parse a (full) quantifier ({n}, {n,}, {n,m})

    returns

    weaponregex.model.regextree.Quantifier tree node

    Annotations
    @SuppressWarnings()
    Example:
    1. "a{1}"

  60. def quantifierLongTail[_](implicit arg0: P[Any]): P[(Int, Option[Option[Int]])]

    Parse the tail part of a long quantifier

    Parse the tail part of a long quantifier

    returns

    A tuple of the quantifier minimum and optional maximum part

  61. def quantifierShort[_](implicit arg0: P[Any]): P[RegexTree]

    Parse a shorthand notation for quantifier (?, *, +)

    Parse a shorthand notation for quantifier (?, *, +)

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

    Example:
    1. "a*"

  62. def quantifierType[_, T](p: => P[T])(implicit arg0: P[Any]): P[(T, QuantifierType)]

    A higher order parser that add weaponregex.model.regextree.QuantifierType information of the parse of the given (quantifier) parser

    A higher order parser that add weaponregex.model.regextree.QuantifierType information of the parse of the given (quantifier) parser

    p

    the quantifier parser

    returns

    A tuple of the return of the given (quantifier) parser p, and its weaponregex.model.regextree.QuantifierType

  63. def quote[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for quoting tokens which can parse either quoteLong or quoteChar

    Intermediate parsing rule for quoting tokens which can parse either quoteLong or quoteChar

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  64. def quoteChar[_](implicit arg0: P[Any]): P[QuoteChar]

    Parse a quoted character (any character)

    Parse a quoted character (any character)

    returns

    weaponregex.model.regextree.QuoteChar

    Example:
    1. "$"

  65. def quoteLong[_](implicit arg0: P[Any]): P[Quote]

    Parse a 'long' quote, using \Q and \E

    Parse a 'long' quote, using \Q and \E

    returns

    weaponregex.model.regextree.Quote tree node

    Example:
    1. "\Qquoted\E"

  66. def range[_](implicit arg0: P[Any]): P[Range]

    Parse a character range inside a character class

    Parse a character range inside a character class

    returns

    weaponregex.model.regextree.Range tree node

    Example:
    1. "a-z"

  67. def reference[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for reference tokens which can parse either nameReference or numReference

    Intermediate parsing rule for reference tokens which can parse either nameReference or numReference

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  68. def simpleRE[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule which can parse either concat, basicRE or empty

    Intermediate parsing rule which can parse either concat, basicRE or empty

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  69. def specialConstruct[_](implicit arg0: P[Any]): P[RegexTree]

    Intermediate parsing rule for special construct tokens which can parse either namedGroup, nonCapturingGroup or lookaround

    Intermediate parsing rule for special construct tokens which can parse either namedGroup, nonCapturingGroup or lookaround

    returns

    weaponregex.model.regextree.RegexTree (sub)tree

  70. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  71. def toString(): String
    Definition Classes
    AnyRef → Any
  72. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  73. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException]) @native()
  74. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from AnyRef

Inherited from Any

Ungrouped