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:
commit
843367953f
@ -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:
|
||||
|
Loading…
Reference in New Issue
Block a user