Add 3 '*' operators: one prefix, one infix, and one postfix, per #523. (#582)

The presence or absence of whitespace is used to determine which
operator is in use, following the rules described in #520.

Support for prefix * dereference operator follows #523.

Co-authored-by: Geoff Romer <gromer@google.com>
This commit is contained in:
Richard Smith
2021-06-21 17:09:34 -07:00
committed by GitHub
co-authored by Geoff Romer
parent d6b47ba10f
commit 89e21113c3
12 changed files with 179 additions and 21 deletions
+6 -3
View File
@@ -245,15 +245,18 @@ auto Expression::MakeIndex(int line_num, const Expression* exp,
static void PrintOp(Operator op) {
switch (op) {
case Operator::Neg:
std::cout << "-";
break;
case Operator::Add:
std::cout << "+";
break;
case Operator::Neg:
case Operator::Sub:
std::cout << "-";
break;
case Operator::Mul:
case Operator::Deref:
case Operator::Ptr:
std::cout << "*";
break;
case Operator::Not:
std::cout << "not";
break;