Exemple #1
0
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            comparison = "compareChar"
            if pattern.options == "{case}":
                comparison = "compareCharCase"
            data = """
%(result)s.setValue(Value((void*) "%(string)s"));
for (int i = 0; i < %(length)d; i++){
    if (%(compare)s("%(string)s"[i], %(stream)s.get(%(result)s.getPosition()))){
        %(result)s.nextPosition();
    } else {
        %(failure)s
    }
}
    """ % {
                'result': result,
                'string': pattern.letters.replace('"', '\\"'),
                'length': length,
                'compare': comparison,
                'stream': stream,
                'failure': indent(indent(failure()))
            }

            return data
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            data = """
if '%s' == %s.get(%s.getPosition(), %s) then
    %s.nextPosition(%s)
    %s.setValue('%s')
else
    %s
end
""" % (pattern.letters, stream, result, length, result, length, result, pattern.letters, indent(failure()))
            return data
Exemple #3
0
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            data = """
if '%s' == %s.get(%s.getPosition(), %s) then
    %s.nextPosition(%s)
    %s.setValue('%s')
else
    %s
end
""" % (pattern.letters, stream, result, length, result, length, result,
            pattern.letters, indent(failure()))
            return data
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            import re
            letters = re.sub(r"'", "\\'", pattern.letters)
            data = """
if '%s' == %s.get(%s.getPosition(), %s):
    %s.nextPosition(%s)
    %s.setValue('%s')
else:
    %s
""" % (letters, stream, result, length, result, length, result, letters,
            indent(failure()))
            return data
Exemple #5
0
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            comparison = "compareChar"
            if pattern.options == "{case}":
                comparison = "compareCharCase"
            data = """
%s.setValue(Value((void*) "%s"));
for (int i = 0; i < %d; i++){
    if (%s("%s"[i], %s.get(%s.getPosition()))){
        %s.nextPosition();
    } else {
        %s
    }
}
    """ % (result, pattern.letters.replace('"', '\\"'), length, comparison,
            pattern.letters.replace(
               '"', '\\"'), stream, result, result, indent(indent(failure())))
            return data
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            import re
            letters = re.sub(r"'", "\\'", pattern.letters)
            if letters == "\n":
                letters = "\\n"
            if letters == "\r":
                letters = "\\r"
            if letters == "\t":
                letters = "\\t"
            data = """
if '%s' == %s.get(%s.getPosition(), %s):
    %s.nextPosition(%s)
    %s.setValue('%s')
else:
    %s
""" % (letters, stream, result, length, result, length, result, letters, indent(failure()))
            return data
Exemple #7
0
        def doString():
            length = len(pattern.letters)
            if special_char(pattern.letters):
                length = 1
            comparison = "compareChar"
            if pattern.options == "{case}":
                comparison = "compareCharCase"
            data = """
%(result)s.setValue(Value((void*) "%(string)s"));
for (int i = 0; i < %(length)d; i++){
    if (%(compare)s("%(string)s"[i], %(stream)s.get(%(result)s.getPosition()))){
        %(result)s.nextPosition();
    } else {
        %(failure)s
    }
}
    """ % {'result': result,
           'string': pattern.letters.replace('"', '\\"'),
           'length': length,
           'compare': comparison,
           'stream': stream,
           'failure': indent(indent(failure()))}

            return data