Class RegExpTokenMatcher

java.lang.Object
com.singularsys.jep.configurableparser.matchers.RegExpTokenMatcher
All Implemented Interfaces:
TokenBuilder, TokenMatcher, Serializable
Direct Known Subclasses:
CommentTokenMatcher, HexNumberTokenMatcher, IdentifierTokenMatcher, NumberTokenMatcher, StringTokenMatcher, TerminatorTokenMatcher, WhiteSpaceTokenMatcher

public abstract class RegExpTokenMatcher extends Object implements TokenBuilder
An abstract TokenMatcher which uses RegExp patterns to match patterns. Subclasses should overload the buildToken method which builds a token after a successful match.
Author:
Richard Morris
See Also:
  • Constructor Details

    • RegExpTokenMatcher

      public RegExpTokenMatcher(Pattern pattern)
      A token matcher which matches a specified of pattern.
      Parameters:
      pattern - Pattern to match
    • RegExpTokenMatcher

      public RegExpTokenMatcher(String regex)
      A token matcher which matches a regular expression of pattern.
      Parameters:
      regex - the expression to match
  • Method Details

    • match

      public Token match(String s) throws ParseException
      Attempts to match the start of the string.
      Specified by:
      match in interface TokenMatcher
      Parameters:
      s - the string to match against
      Returns:
      if successful returns the corresponding token, return null if failed to match
      Throws:
      ParseException - on syntax error
    • buildToken

      public abstract Token buildToken(String s) throws ParseException
      Builds a token following a successful match. Note new objects should be created each time as error reporting information is later attached to tokens.
      Specified by:
      buildToken in interface TokenBuilder
      Parameters:
      s - String representing the completed matched token
      Returns:
      the appropriate type of token.
      Throws:
      ParseException