# Path: simple_monitor_alert/exceptions.py
# class InvalidScriptLineError(InvalidScriptLineBase, SyntaxError):
#     pass


import re
import string
import sys
import six
from simple_monitor_alert.exceptions import InvalidScriptLineError
    @staticmethod
    def parse_common_types(match):
        if match.isdigit():
            # Is int
            return int(match)
        try:
            # Is float
            return float(match)
        except ValueError:
            pass

    def parse_operators(self, value):
        value = value.lstrip(string.whitespace)
        operator = value[0:2]
        try:
            operator_class = Operator.get_operator(operator)
        except ValueError:
            return
        value = value.replace(operator, '', 1).strip(string.whitespace)
        value = self.parse(value)
        return operator_class(value)

    def parse(self, match=None, matchers=None):
        matchers = matchers or [self.parse_delimiter, self.parse_operators, self.parse_common_types]
        if match is None:
            match = self.matcher
        return self.value_parse(match, matchers)

    @staticmethod
    def value_parse(match, matchers):

# Path: simple_monitor_alert/exceptions.py
# class InvalidScriptLineError(InvalidScriptLineBase, SyntaxError):
#     pass


# Path: simple_monitor_alert/lines.py
import re
import string
import sys
import six
from simple_monitor_alert.exceptions import InvalidScriptLineError

    @staticmethod
    def parse_common_types(match):
        if match.isdigit():
            # Is int
            return int(match)
        try:
            # Is float
            return float(match)
        except ValueError:
            pass

    def parse_operators(self, value):
        value = value.lstrip(string.whitespace)
        operator = value[0:2]
        try:
            operator_class = Operator.get_operator(operator)
        except ValueError:
            return
        value = value.replace(operator, '', 1).strip(string.whitespace)
        value = self.parse(value)
        return operator_class(value)

    def parse(self, match=None, matchers=None):
        matchers = matchers or [self.parse_delimiter, self.parse_operators, self.parse_common_types]
        if match is None:
            match = self.matcher
        return self.value_parse(match, matchers)

    @staticmethod
    def value_parse(match, matchers):

        for matcher in matchers: