Deleted Added
sdiff udiff text old ( 9298:9a087e046c58 ) new ( 9692:67d9da312ef0 )
full compact
1# Copyright (c) 2009 The Hewlett-Packard Development Company
2# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met: redistributions of source code must retain the above copyright
7# notice, this list of conditions and the following disclaimer;
8# redistributions in binary form must reproduce the above copyright

--- 118 unchanged lines hidden (view full) ---

127 }
128
129 literals = ':[]{}(),='
130
131 tokens = [ 'EQ', 'NE', 'LT', 'GT', 'LE', 'GE',
132 'LEFTSHIFT', 'RIGHTSHIFT',
133 'NOT', 'AND', 'OR',
134 'PLUS', 'DASH', 'STAR', 'SLASH',
135 'DOUBLE_COLON', 'SEMI',
136 'ASSIGN', 'DOT',
137 'IDENT', 'LIT_BOOL', 'FLOATNUMBER', 'NUMBER', 'STRING' ]
138 tokens += reserved.values()
139
140 t_EQ = r'=='
141 t_NE = r'!='
142 t_LT = r'<'

--- 8 unchanged lines hidden (view full) ---

151 t_PLUS = r'\+'
152 t_DASH = r'-'
153 t_STAR = r'\*'
154 t_SLASH = r'/'
155 t_DOUBLE_COLON = r'::'
156 t_SEMI = r';'
157 t_ASSIGN = r':='
158 t_DOT = r'\.'
159
160 precedence = (
161 ('left', 'AND', 'OR'),
162 ('left', 'EQ', 'NE'),
163 ('left', 'LT', 'GT', 'LE', 'GE'),
164 ('left', 'RIGHTSHIFT', 'LEFTSHIFT'),
165 ('left', 'PLUS', 'DASH'),
166 ('left', 'STAR', 'SLASH'),
167 ('right', 'NOT', 'UMINUS'),
168 )

--- 496 unchanged lines hidden (view full) ---

665 | expr OR expr
666 | expr RIGHTSHIFT expr
667 | expr LEFTSHIFT expr"""
668 p[0] = ast.InfixOperatorExprAST(self, p[1], p[2], p[3])
669
670 # FIXME - unary not
671 def p_expr__unary_op(self, p):
672 """expr : NOT expr
673 | DASH expr %prec UMINUS"""
674 p[0] = PrefixOperatorExpr(p[1], p[2])
675
676 def p_expr__parens(self, p):
677 "aexpr : '(' expr ')'"
678 p[0] = p[2]
679
680 def p_expr__is_valid_ptr(self, p):
681 "aexpr : IS_VALID '(' var ')'"
682 p[0] = ast.IsValidPtrExprAST(self, p[3], True)

--- 28 unchanged lines hidden ---