Class InFixToPostFix


  • public class InFixToPostFix
    extends java.lang.Object
    A helper class which converts infix expressions to postfix expressions Currently grouping is supported, as well as all of the Rules supported by RuleFactory Supports grouping via parens, mult-word operands using single or double quotes, and these operators: ! NOT operator != NOT EQUALS operator == EQUALS operator ~= CASE-INSENSITIVE equals operator || OR operator && AND operator like REGEXP operator exists NOT NULL operator < LESS THAN operator > GREATER THAN operator <= LESS THAN EQUALS operator >= GREATER THAN EQUALS operator
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static java.util.List operators
      Operators.
      private static java.util.Map precedenceMap
      Precedence map.
    • Constructor Summary

      Constructors 
      Constructor Description
      InFixToPostFix()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String convert​(java.lang.String expression)
      Convert in-fix expression to post-fix.
      (package private) java.lang.String infixToPostFix​(InFixToPostFix.CustomTokenizer tokenizer)
      convert in-fix expression to post-fix.
      static boolean isOperand​(java.lang.String s)
      Evaluates whether symbol is operand.
      (package private) boolean precedes​(java.lang.String s1, java.lang.String s2)
      Determines whether one symbol precedes another.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • precedenceMap

        private static final java.util.Map precedenceMap
        Precedence map.
      • operators

        private static final java.util.List operators
        Operators.
    • Constructor Detail

      • InFixToPostFix

        public InFixToPostFix()
    • Method Detail

      • convert

        public java.lang.String convert​(java.lang.String expression)
        Convert in-fix expression to post-fix.
        Parameters:
        expression - in-fix expression.
        Returns:
        post-fix expression.
      • isOperand

        public static boolean isOperand​(java.lang.String s)
        Evaluates whether symbol is operand.
        Parameters:
        s - symbol.
        Returns:
        true if operand.
      • precedes

        boolean precedes​(java.lang.String s1,
                         java.lang.String s2)
        Determines whether one symbol precedes another.
        Parameters:
        s1 - symbol 1
        s2 - symbol 2
        Returns:
        true if symbol 1 precedes symbol 2
      • infixToPostFix

        java.lang.String infixToPostFix​(InFixToPostFix.CustomTokenizer tokenizer)
        convert in-fix expression to post-fix.
        Parameters:
        tokenizer - tokenizer.
        Returns:
        post-fix expression.