[WIP] Sketching IR and parsing support for affine maps, affine expressions

Run test case:

$ mlir-opt test/IR/parser-affine-map.mlir
test/IR/parser-affine-map.mlir:3:30: error: expect '(' at start of map range
#hello_world2 (i, j) [s0] -> i+s0, j)
                             ^

PiperOrigin-RevId: 202736856
diff --git a/lib/Parser/Lexer.cpp b/lib/Parser/Lexer.cpp
index e3e5e9e..17755e0 100644
--- a/lib/Parser/Lexer.cpp
+++ b/lib/Parser/Lexer.cpp
@@ -78,9 +78,14 @@
   case ')': return formToken(Token::r_paren, tokStart);
   case '{': return formToken(Token::l_brace, tokStart);
   case '}': return formToken(Token::r_brace, tokStart);
+  case '[': return formToken(Token::l_bracket, tokStart);
+  case ']': return formToken(Token::r_bracket, tokStart);
   case '<': return formToken(Token::less, tokStart);
   case '>': return formToken(Token::greater, tokStart);
+  case '=': return formToken(Token::equal, tokStart);
 
+  case '+': return formToken(Token::plus, tokStart);
+  case '*': return formToken(Token::star, tokStart);
   case '-':
     if (*curPtr == '>') {
       ++curPtr;
@@ -246,3 +251,4 @@
     }
   }
 }
+