Commit Graph

33812 Commits

Author SHA1 Message Date
Chris Lattner 98286a4551 Allow expression actions to fail
llvm-svn: 38947
2006-08-24 05:02:11 +00:00
Chris Lattner e1598f0184 Move the ExprResult struct from the Parser to the Actions.
llvm-svn: 38946
2006-08-24 04:56:36 +00:00
Chris Lattner 0eedafed1d more comments.
llvm-svn: 38945
2006-08-24 04:56:27 +00:00
Chris Lattner 879b9ad083 Add initial support for simple-primary exprs, including DeclExprs.
llvm-svn: 38944
2006-08-24 04:53:44 +00:00
Chris Lattner e165d944c2 Add AST nodes for array, call, . and ->.
llvm-svn: 38943
2006-08-24 04:40:38 +00:00
Chris Lattner 6d28d9b428 Invoke actions for postfix exprs
llvm-svn: 38942
2006-08-24 03:51:22 +00:00
Chris Lattner de648186eb Add actions for postfix exprs
llvm-svn: 38941
2006-08-24 03:51:14 +00:00
Chris Lattner 1b92649857 Add AST nodes and actions for paren exprs and simple unary ops.
llvm-svn: 38940
2006-08-23 06:42:10 +00:00
Chris Lattner 9b6d4cb90e Add (basic) expression AST representation capabilities for int/fp/binops/condexpr.
Add callbacks for same.
Add "full locinfo" mode.

llvm-svn: 38939
2006-08-23 05:17:46 +00:00
Chris Lattner c11438cee1 Implement first cut of ASTBuilder class.
llvm-svn: 38938
2006-08-18 05:17:52 +00:00
Chris Lattner 01b0f1be80 xcode 2.4
llvm-svn: 38937
2006-08-18 03:44:41 +00:00
Chris Lattner 38ba3363ef Hook up more of the ASTStreamer
llvm-svn: 38936
2006-08-17 07:04:37 +00:00
Chris Lattner 73709eda2b Stub out the ASTStreamer
llvm-svn: 38935
2006-08-17 06:28:25 +00:00
Chris Lattner 769044337a add ast library
llvm-svn: 38934
2006-08-17 05:55:28 +00:00
Chris Lattner 3e7bd4ed44 Start adding support for printing out parser callbacks and adding ast building
llvm-svn: 38933
2006-08-17 05:51:27 +00:00
Chris Lattner eb401b1bc7 updates
llvm-svn: 38932
2006-08-17 05:20:50 +00:00
Chris Lattner d0745a08b6 New file
llvm-svn: 38931
2006-08-17 05:18:35 +00:00
Chris Lattner 3242dfdd55 move to AST
llvm-svn: 38930
2006-08-17 05:18:27 +00:00
Chris Lattner 0116c478e6 Implement asm statement parsing.
llvm-svn: 38929
2006-08-15 06:03:28 +00:00
Chris Lattner 5646b3e21c Fix test/Parser/types.c
llvm-svn: 38928
2006-08-15 05:12:01 +00:00
Chris Lattner 3ca67ba67f new testcase
llvm-svn: 38927
2006-08-15 05:11:49 +00:00
Chris Lattner 04f8019616 Make MatchRHSPunctuation smarter, allowing its clients to be simpler.
llvm-svn: 38926
2006-08-15 04:55:54 +00:00
Chris Lattner e37e2336b4 Parse attributes in all places allowed.
llvm-svn: 38925
2006-08-15 04:50:22 +00:00
Chris Lattner b8cd5c2260 Parse (and ignore) attributes on global decls.
llvm-svn: 38924
2006-08-15 04:10:46 +00:00
Chris Lattner 15a00da679 Allow ExpectAndConsume to be used with any token.
llvm-svn: 38923
2006-08-15 04:10:31 +00:00
Chris Lattner 6d7e634399 Parse asm specifiers on init declarators. Add __builtin_va_list to the
symbol table at startup time.

llvm-svn: 38922
2006-08-15 03:41:14 +00:00
Chris Lattner 8a3e918e33 Correctly implement the check for a typedef name
llvm-svn: 38921
2006-08-14 15:44:00 +00:00
Chris Lattner 0fb8b36808 "enum x" really is a type specifier
llvm-svn: 38920
2006-08-14 01:30:12 +00:00
Chris Lattner ffe65b3ffd Implement scope tracking for empty-action.
llvm-svn: 38919
2006-08-14 01:28:29 +00:00
Chris Lattner 68ca25f8a9 Add accessor for the DeclSpec object.
llvm-svn: 38918
2006-08-14 00:57:25 +00:00
Chris Lattner 9a9d7ec822 Add accessors for scope info.
llvm-svn: 38917
2006-08-14 00:57:12 +00:00
Chris Lattner bd78161d95 Add DeclTy typedef.
llvm-svn: 38916
2006-08-14 00:57:06 +00:00
Chris Lattner 3b4fdda3d8 Fix the last remaining FIXME's in the parser by asking the actions module
whether or not an identifier is a typedef name.

llvm-svn: 38915
2006-08-14 00:45:39 +00:00
Chris Lattner a5534f96dc Stub out the EmptyAction class.
llvm-svn: 38914
2006-08-14 00:38:06 +00:00
Chris Lattner 685ed1e9ee Rename Parse/ParserActions.h -> Parse/Action.h
llvm-svn: 38913
2006-08-14 00:22:04 +00:00
Chris Lattner 4bb61de36c Remove Actions.cpp, it is and always will be empty.
llvm-svn: 38912
2006-08-14 00:15:57 +00:00
Chris Lattner c1a8937d8f Make ParseTranslationUnit prime the lexer lookahead
llvm-svn: 38911
2006-08-14 00:15:40 +00:00
Chris Lattner f0f3baa12e Inform actions about parsed declarators.
llvm-svn: 38910
2006-08-14 00:15:20 +00:00
Chris Lattner e4e38595b0 Add methods for scope manipulation.
llvm-svn: 38909
2006-08-14 00:15:05 +00:00
Chris Lattner 78b917603c Add some methods, add significant documentation.
llvm-svn: 38908
2006-08-14 00:14:19 +00:00
Chris Lattner 8c88b5a981 add accessor method for parent.
llvm-svn: 38907
2006-08-14 00:13:44 +00:00
Chris Lattner f96a166300 clean up
llvm-svn: 38906
2006-08-14 00:13:31 +00:00
Chris Lattner 203ed032e2 Count the number of diagnostics emitted.
llvm-svn: 38905
2006-08-13 22:25:42 +00:00
Chris Lattner b8bbad7fd1 Set TypeSpecType on 'struct x' with no body.
llvm-svn: 38904
2006-08-13 22:21:02 +00:00
Chris Lattner da72c82e8e Recognize struct/union/enum as TypeSpecType's
llvm-svn: 38903
2006-08-13 22:16:42 +00:00
Chris Lattner 476c3adb69 implement the GNU case-range extension. Add todo's for other missing gnu extensions.
llvm-svn: 38902
2006-08-13 22:09:58 +00:00
Chris Lattner e7dab44cab improve comment.
llvm-svn: 38901
2006-08-13 21:54:51 +00:00
Chris Lattner 8693a519d4 Implement initializer parsering.
llvm-svn: 38900
2006-08-13 21:54:02 +00:00
Chris Lattner 7bddb3fc61 add bare struct tag decls.
llvm-svn: 38899
2006-08-13 19:59:13 +00:00
Chris Lattner 0e89462b08 Parse things like 'struct X;'
llvm-svn: 38898
2006-08-13 19:58:17 +00:00