+struct DotExpr\r
+{\r
+ bool isPointer;\r
+ std::shared_ptr<Expr> expr;\r
+ std::string identifier;\r
+};\r
+\r
+// OperatorType enum with corresponding string array to lookup\r
+// enum from string and the other way round\r
+enum class PrefixOperatorType\r
+{\r
+ Plus, Minus, Increment, Decrement,\r
+ LogicalNot, BitwiseNot, Dereference, AddressOf,\r
+ COUNT\r
+};\r
+static std::string PrefixOperatorTypeStrings[] =\r
+{\r
+ "+", "-", "++", "--", "!", "~", "*", "&" };\r
+\r
+struct PrefixOperatorExpr\r
+{\r
+ PrefixOperatorType type;\r
+ std::shared_ptr<Expr> expr;\r