am eec57b37: Merge "Add support for the ternary operator to the header scrubber."
				
					
				
			* commit 'eec57b370642f1b83285883104f2e778f32eef73': Add support for the ternary operator to the header scrubber.
This commit is contained in:
		@@ -554,19 +554,21 @@ class CppExpr:
 | 
			
		||||
        where "op" is a string describing the operation"""
 | 
			
		||||
 | 
			
		||||
    unaries  = [ "!", "~" ]
 | 
			
		||||
    binaries = [ "+", "-", "<", "<=", ">=", ">", "&&", "||", "*", "/", "%", "&", "|", "^", "<<", ">>", "==", "!=" ]
 | 
			
		||||
    precedences = { "||": 1,
 | 
			
		||||
                    "&&": 2,
 | 
			
		||||
                     "|": 3,
 | 
			
		||||
                     "^": 4,
 | 
			
		||||
                     "&": 5,
 | 
			
		||||
                     "==":6, "!=":6,
 | 
			
		||||
                     "<":7, "<=":7, ">":7, ">=":7,
 | 
			
		||||
                     "<<":8, ">>":8,
 | 
			
		||||
                     "+":9, "-":9,
 | 
			
		||||
                     "*":10, "/":10, "%":10,
 | 
			
		||||
                     "!":11, "~":12
 | 
			
		||||
                     }
 | 
			
		||||
    binaries = [ "+", "-", "<", "<=", ">=", ">", "&&", "||", "*", "/", "%", "&", "|", "^", "<<", ">>", "==", "!=", "?", ":" ]
 | 
			
		||||
    precedences = {
 | 
			
		||||
        "?": 1, ":": 1,
 | 
			
		||||
        "||": 2,
 | 
			
		||||
        "&&": 3,
 | 
			
		||||
        "|": 4,
 | 
			
		||||
        "^": 5,
 | 
			
		||||
        "&": 6,
 | 
			
		||||
        "==": 7, "!=": 7,
 | 
			
		||||
        "<": 8, "<=": 8, ">": 8, ">=": 8,
 | 
			
		||||
        "<<": 9, ">>": 9,
 | 
			
		||||
        "+": 10, "-": 10,
 | 
			
		||||
        "*": 11, "/": 11, "%": 11,
 | 
			
		||||
        "!": 12, "~": 12
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    re_cpp_constant = re.compile(r"((\d|\w|_)+)")
 | 
			
		||||
 | 
			
		||||
@@ -581,7 +583,7 @@ class CppExpr:
 | 
			
		||||
        if debugCppExpr:
 | 
			
		||||
            print "CppExpr: got " + repr(self.expr)
 | 
			
		||||
        if self.i != self.n:
 | 
			
		||||
            print 'crap at end of input (%d != %d)' % (self.i, self.n)
 | 
			
		||||
            print 'crap at end of input (%d != %d): %s' % (self.i, self.n, repr(tokens))
 | 
			
		||||
            raise
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@@ -778,6 +780,10 @@ class CppExpr:
 | 
			
		||||
            self.nextToken()
 | 
			
		||||
            primary = self.parseExpression(0)
 | 
			
		||||
            self.expectId(tokRPAREN)
 | 
			
		||||
        elif op.id == "?":
 | 
			
		||||
            self.nextToken()
 | 
			
		||||
            primary = self.parseExpression(0)
 | 
			
		||||
            self.expectId(":")
 | 
			
		||||
        elif op.id == tokNUMBER:
 | 
			
		||||
            primary = self.is_number()
 | 
			
		||||
        elif op.id == tokIDENT:
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user