changes for pow(**) and complex
diff --git a/Parser/tokenizer.c b/Parser/tokenizer.c
index 645096a..ecc32d1 100644
--- a/Parser/tokenizer.c
+++ b/Parser/tokenizer.c
@@ -83,6 +83,7 @@
 	"CIRCUMFLEX",
 	"LEFTSHIFT",
 	"RIGHTSHIFT",
+	"DOUBLESTAR",
 	/* This table must match the #defines in token.h! */
 	"OP",
 	"<ERRORTOKEN>",
@@ -394,6 +395,11 @@
 		case '>':	return RIGHTSHIFT;
 		}
 		break;
+	case '*':
+		switch (c2) {
+		case '*':	return DOUBLESTAR;
+		}
+		break;
 	}
 	return OP;
 }
@@ -558,7 +564,7 @@
 			return DOT;
 		}
 	}
-	
+
 	/* Number */
 	if (isdigit(c)) {
 		if (c == '0') {
@@ -566,6 +572,10 @@
 			c = tok_nextc(tok);
 			if (c == '.')
 				goto fraction;
+#ifndef WITHOUT_COMPLEX
+			if (c == 'i' || c == 'I' || c == 'j' || c == 'J')
+				goto imaginary;
+#endif
 			if (c == 'x' || c == 'X') {
 				/* Hex */
 				do {
@@ -611,6 +621,12 @@
 						c = tok_nextc(tok);
 					}
 				}
+#ifndef WITHOUT_COMPLEX
+				if (c == 'i' || c == 'I' || c == 'j' || c == 'J')
+					/* Imaginary part */
+		imaginary:
+					c = tok_nextc(tok);
+#endif
 			}
 		}
 		tok_backup(tok, c);