Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Invoke actions for postfix exprs | Chris Lattner | 2006-08-24 | 1 | -9/+47 | |
| | | | | llvm-svn: 38942 | |||||
* | Add AST nodes and actions for paren exprs and simple unary ops. | Chris Lattner | 2006-08-23 | 1 | -3/+21 | |
| | | | | llvm-svn: 38940 | |||||
* | Add (basic) expression AST representation capabilities for ↵ | Chris Lattner | 2006-08-23 | 1 | -4/+25 | |
| | | | | | | | | | int/fp/binops/condexpr. Add callbacks for same. Add "full locinfo" mode. llvm-svn: 38939 | |||||
* | Hook up more of the ASTStreamer | Chris Lattner | 2006-08-17 | 1 | -11/+33 | |
| | | | | llvm-svn: 38936 | |||||
* | Start adding support for printing out parser callbacks and adding ast building | Chris Lattner | 2006-08-17 | 1 | -1/+1 | |
| | | | | llvm-svn: 38933 | |||||
* | Implement asm statement parsing. | Chris Lattner | 2006-08-15 | 2 | -17/+148 | |
| | | | | llvm-svn: 38929 | |||||
* | Fix test/Parser/types.c | Chris Lattner | 2006-08-15 | 1 | -3/+7 | |
| | | | | llvm-svn: 38928 | |||||
* | Make MatchRHSPunctuation smarter, allowing its clients to be simpler. | Chris Lattner | 2006-08-15 | 5 | -23/+24 | |
| | | | | llvm-svn: 38926 | |||||
* | Parse attributes in all places allowed. | Chris Lattner | 2006-08-15 | 2 | -13/+67 | |
| | | | | llvm-svn: 38925 | |||||
* | Parse (and ignore) attributes on global decls. | Chris Lattner | 2006-08-15 | 1 | -1/+35 | |
| | | | | llvm-svn: 38924 | |||||
* | Allow ExpectAndConsume to be used with any token. | Chris Lattner | 2006-08-15 | 1 | -1/+1 | |
| | | | | llvm-svn: 38923 | |||||
* | Parse asm specifiers on init declarators. Add __builtin_va_list to the | Chris Lattner | 2006-08-15 | 3 | -11/+79 | |
| | | | | | | symbol table at startup time. llvm-svn: 38922 | |||||
* | Correctly implement the check for a typedef name | Chris Lattner | 2006-08-14 | 1 | -1/+1 | |
| | | | | llvm-svn: 38921 | |||||
* | "enum x" really is a type specifier | Chris Lattner | 2006-08-14 | 1 | -26/+25 | |
| | | | | llvm-svn: 38920 | |||||
* | Implement scope tracking for empty-action. | Chris Lattner | 2006-08-14 | 1 | -4/+36 | |
| | | | | llvm-svn: 38919 | |||||
* | Fix the last remaining FIXME's in the parser by asking the actions module | Chris Lattner | 2006-08-14 | 3 | -9/+17 | |
| | | | | | | whether or not an identifier is a typedef name. llvm-svn: 38915 | |||||
* | Stub out the EmptyAction class. | Chris Lattner | 2006-08-14 | 1 | -0/+37 | |
| | | | | llvm-svn: 38914 | |||||
* | Rename Parse/ParserActions.h -> Parse/Action.h | Chris Lattner | 2006-08-14 | 1 | -4/+3 | |
| | | | | llvm-svn: 38913 | |||||
* | Inform actions about parsed declarators. | Chris Lattner | 2006-08-14 | 2 | -20/+25 | |
| | | | | llvm-svn: 38910 | |||||
* | Add methods for scope manipulation. | Chris Lattner | 2006-08-14 | 1 | -12/+40 | |
| | | | | llvm-svn: 38909 | |||||
* | Set TypeSpecType on 'struct x' with no body. | Chris Lattner | 2006-08-13 | 1 | -60/+59 | |
| | | | | llvm-svn: 38904 | |||||
* | Recognize struct/union/enum as TypeSpecType's | Chris Lattner | 2006-08-13 | 2 | -0/+15 | |
| | | | | llvm-svn: 38903 | |||||
* | implement the GNU case-range extension. Add todo's for other missing gnu ↵ | Chris Lattner | 2006-08-13 | 2 | -14/+38 | |
| | | | | | | extensions. llvm-svn: 38902 | |||||
* | improve comment. | Chris Lattner | 2006-08-13 | 1 | -1/+3 | |
| | | | | llvm-svn: 38901 | |||||
* | Implement initializer parsering. | Chris Lattner | 2006-08-13 | 4 | -22/+224 | |
| | | | | llvm-svn: 38900 | |||||
* | Parse things like 'struct X;' | Chris Lattner | 2006-08-13 | 4 | -8/+32 | |
| | | | | llvm-svn: 38898 | |||||
* | Parse struct/union specifiers. | Chris Lattner | 2006-08-13 | 1 | -46/+169 | |
| | | | | llvm-svn: 38897 | |||||
* | Implement parsing of enum-specifiers. | Chris Lattner | 2006-08-13 | 2 | -13/+82 | |
| | | | | llvm-svn: 38896 | |||||
* | Use ExpectAndConsume more | Chris Lattner | 2006-08-12 | 2 | -15/+5 | |
| | | | | llvm-svn: 38895 | |||||
* | Add a new ExpectAndConsume method to make parsing easier, and add a new | Chris Lattner | 2006-08-12 | 2 | -48/+30 | |
| | | | | | | ConsumeAnyToken method. llvm-svn: 38894 | |||||
* | Parse the GNU builtin expressions. This implements ↵ | Chris Lattner | 2006-08-12 | 1 | -8/+139 | |
| | | | | | | Parser/expressions.c:test_offsetof llvm-svn: 38893 | |||||
* | Implement parsing of array declarators like: | Chris Lattner | 2006-08-12 | 3 | -18/+47 | |
| | | | | | | int Array[*(int*)P+A]; llvm-svn: 38890 | |||||
* | Implement parsing of 'int A[X];' by tying into the expression parsing code. | Chris Lattner | 2006-08-12 | 1 | -16/+21 | |
| | | | | | | Turn a bunch of fixme's into todo's. llvm-svn: 38888 | |||||
* | Two fixes: | Chris Lattner | 2006-08-12 | 2 | -9/+49 | |
| | | | | | | | | | | 1. Allow argument list of a call to be empty. 2. Handle expressions in a statement context that start with an identifier. These are nasty to handle due to the 'label:' production which requires having two tokens of look-ahead, or by having tricky code (which we choose to do). llvm-svn: 38887 | |||||
* | Split postfix-expression suffix handling out into ParsePostfixExpressionSuffix | Chris Lattner | 2006-08-12 | 1 | -24/+41 | |
| | | | | | | for future use. llvm-svn: 38885 | |||||
* | Implement ParseAssignmentExpression correctly | Chris Lattner | 2006-08-12 | 1 | -6/+9 | |
| | | | | llvm-svn: 38884 | |||||
* | remove bogus fixme | Chris Lattner | 2006-08-12 | 1 | -3/+1 | |
| | | | | llvm-svn: 38883 | |||||
* | Fix parsing of assignment expressions and handling of right-associative | Chris Lattner | 2006-08-12 | 1 | -5/+9 | |
| | | | | | | things. llvm-svn: 38881 | |||||
* | Simplify handling of the ternary operator even more. Now it just looks like | Chris Lattner | 2006-08-12 | 1 | -48/+30 | |
| | | | | | | any average right-associative operator to most of the code. llvm-svn: 38880 | |||||
* | Fix incorrect parsing of the ?: middle term, which is supposed to be | Chris Lattner | 2006-08-12 | 1 | -9/+13 | |
| | | | | | | parsed as 'expression'. This implements test/Parser/statements.c llvm-svn: 38879 | |||||
* | Improve diagnostics on cases like: | Chris Lattner | 2006-08-12 | 1 | -3/+8 | |
| | | | | | | | | | return a ? ` a; After the expression is diagnosed, skip to the ';', so that the lack of semicolon is not also diagnosed. llvm-svn: 38877 | |||||
* | Diagnose use of compound literals in C90 code | Chris Lattner | 2006-08-12 | 1 | -1/+3 | |
| | | | | llvm-svn: 38876 | |||||
* | cleanups, better comments. | Chris Lattner | 2006-08-12 | 1 | -6/+13 | |
| | | | | llvm-svn: 38875 | |||||
* | Implement a first cut at binary expression parsing using a simple operator | Chris Lattner | 2006-08-12 | 1 | -2/+236 | |
| | | | | | | precedence-based parser. llvm-svn: 38874 | |||||
* | Return information about whether expression parsing was successful | Chris Lattner | 2006-08-11 | 2 | -86/+94 | |
| | | | | llvm-svn: 38873 | |||||
* | Significant improvements to error recovery | Chris Lattner | 2006-08-11 | 1 | -7/+14 | |
| | | | | llvm-svn: 38872 | |||||
* | Merge ParsePostfixExpression into ParseCastExpression. This allows us to | Chris Lattner | 2006-08-11 | 1 | -142/+135 | |
| | | | | | | | | implement support for compound literals followed by postfix-expr suffixes, such as: (struct{ int a;}){ 1}.a llvm-svn: 38871 | |||||
* | Merge ParseUnaryExpression and ParseCastExpression. | Chris Lattner | 2006-08-11 | 1 | -33/+32 | |
| | | | | llvm-svn: 38869 | |||||
* | Implement parsing of casts, implementing Parser/statements.c:test6 | Chris Lattner | 2006-08-11 | 1 | -4/+7 | |
| | | | | llvm-svn: 38868 | |||||
* | Simplify paren parsing, finish parsing of sizeof expressions and other cases. | Chris Lattner | 2006-08-11 | 2 | -44/+56 | |
| | | | | llvm-svn: 38866 |