OperatorExprAST.py (9692:67d9da312ef0) OperatorExprAST.py (10521:ca248520649f)
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

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

64 elif self.op in ("<<", ">>"):
65 expected_types = [("int", "int", "int"),
66 ("Cycles", "int", "Cycles")]
67 elif self.op in ("+", "-", "*", "/"):
68 expected_types = [("int", "int", "int"),
69 ("Cycles", "Cycles", "Cycles"),
70 ("Cycles", "int", "Cycles"),
71 ("Scalar", "int", "Scalar"),
1# Copyright (c) 1999-2008 Mark D. Hill and David A. Wood
2# Copyright (c) 2009 The Hewlett-Packard Development Company
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met: redistributions of source code must retain the above copyright
8# notice, this list of conditions and the following disclaimer;

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

64 elif self.op in ("<<", ">>"):
65 expected_types = [("int", "int", "int"),
66 ("Cycles", "int", "Cycles")]
67 elif self.op in ("+", "-", "*", "/"):
68 expected_types = [("int", "int", "int"),
69 ("Cycles", "Cycles", "Cycles"),
70 ("Cycles", "int", "Cycles"),
71 ("Scalar", "int", "Scalar"),
72 ("int", "bool", "int"),
73 ("bool", "int", "int"),
72 ("int", "Cycles", "Cycles")]
73 else:
74 self.error("No operator matched with {0}!" .format(self.op))
75
76 for expected_type in expected_types:
77 left_input_type = self.symtab.find(expected_type[0], Type)
78 right_input_type = self.symtab.find(expected_type[1], Type)
79

--- 33 unchanged lines hidden ---
74 ("int", "Cycles", "Cycles")]
75 else:
76 self.error("No operator matched with {0}!" .format(self.op))
77
78 for expected_type in expected_types:
79 left_input_type = self.symtab.find(expected_type[0], Type)
80 right_input_type = self.symtab.find(expected_type[1], Type)
81

--- 33 unchanged lines hidden ---