Chris Lattner
|
f5fbd7963d
|
Implement type-name parsing, and simple compound initializer parsing.
llvm-svn: 38865
|
2006-08-10 23:56:11 +00:00 |
Chris Lattner
|
4564bc1123
|
Factor some code into the new Parser::MatchRHSPunctuation method.
llvm-svn: 38864
|
2006-08-10 23:14:52 +00:00 |
Chris Lattner
|
c2dd85ac9e
|
Implement most of unary-expression parsing.
llvm-svn: 38862
|
2006-08-10 22:57:16 +00:00 |
Chris Lattner
|
f833977a8a
|
implement postfix-expression parsing.
llvm-svn: 38861
|
2006-08-10 22:01:51 +00:00 |
Chris Lattner
|
52a99e5cee
|
Parse primary expressions, handle string concatenation
llvm-svn: 38860
|
2006-08-10 20:56:00 +00:00 |
Chris Lattner
|
c5e0d4a6ae
|
stub out some entry points for the expr parsing code.
llvm-svn: 38858
|
2006-08-10 19:06:03 +00:00 |
Chris Lattner
|
eb8a28f7b7
|
Rename some files
llvm-svn: 38855
|
2006-08-10 18:43:39 +00:00 |
Chris Lattner
|
2f9980ef14
|
Implement Parser/statements.c:test5: parsing decls that start with identifiers
in blocks.
llvm-svn: 38854
|
2006-08-10 18:39:24 +00:00 |
Chris Lattner
|
6dfd97806e
|
Add support for simple labels.
llvm-svn: 38853
|
2006-08-10 18:31:37 +00:00 |
Chris Lattner
|
f8afb62ef9
|
Add support for parsing declarations in blocks. This implements
Parser/statements.c:test4
llvm-svn: 38852
|
2006-08-10 18:26:31 +00:00 |
Chris Lattner
|
d2685cf6bb
|
Parse case/default labeled-statements.
llvm-svn: 38851
|
2006-08-10 05:59:48 +00:00 |
Chris Lattner
|
503fadc90f
|
Parse jump-statement: goto, continue, break, return.
llvm-svn: 38849
|
2006-08-10 05:45:44 +00:00 |
Chris Lattner
|
ab180365ac
|
Add a warning
llvm-svn: 38848
|
2006-08-10 05:22:36 +00:00 |
Chris Lattner
|
53361ac130
|
Refactor init-declarator-list parsing code to allow for-statements to have
initializers in them.
llvm-svn: 38847
|
2006-08-10 05:19:57 +00:00 |
Chris Lattner
|
9075bd7727
|
implement switch/while/do/for statement parsing, implementing Parser/statements.c:test2
llvm-svn: 38846
|
2006-08-10 04:59:57 +00:00 |
Chris Lattner
|
c951dae2a4
|
Parse if statements
llvm-svn: 38844
|
2006-08-10 04:23:57 +00:00 |
Chris Lattner
|
0ccd51ebe2
|
Start parsing statements and function bodies. This implements
Parser/statements.c:test1.
llvm-svn: 38842
|
2006-08-09 05:47:47 +00:00 |
Chris Lattner
|
fff824fe14
|
Simplify and fill out parsing of function bodies.
llvm-svn: 38841
|
2006-08-07 06:31:38 +00:00 |
Chris Lattner
|
bf320c84a5
|
better comments, infrastructure for parsing function bodies.
llvm-svn: 38839
|
2006-08-07 05:05:30 +00:00 |
Chris Lattner
|
d5d0a6c2b5
|
Capture function information, provide a place to validate Declarator information.
llvm-svn: 38838
|
2006-08-07 00:58:14 +00:00 |
Chris Lattner
|
a350722189
|
comment cleanup
llvm-svn: 38837
|
2006-08-07 00:33:37 +00:00 |
Chris Lattner
|
6c7416c382
|
Start capturing pointer and array declarator info.
llvm-svn: 38836
|
2006-08-07 00:19:33 +00:00 |
Chris Lattner
|
14776b9501
|
Implement some more error recovery
llvm-svn: 38835
|
2006-08-06 22:27:40 +00:00 |
Chris Lattner
|
eec40f9990
|
Start implementing error recovery, this implements test/Parser/recovery-1.c
llvm-svn: 38833
|
2006-08-06 21:55:29 +00:00 |
Chris Lattner
|
1906f8087d
|
Improve handling of [*]
llvm-svn: 38831
|
2006-08-06 19:14:46 +00:00 |
Chris Lattner
|
8a39edc931
|
Warn for c99-specific array use
llvm-svn: 38830
|
2006-08-06 18:33:32 +00:00 |
Chris Lattner
|
e8074e65dd
|
Parse array declarators, tested by Parser/declarators.c
llvm-svn: 38828
|
2006-08-06 18:30:15 +00:00 |
Chris Lattner
|
acd58a3c33
|
Parse parenthesized and function declarators now, allowing us to parse things
like: "void (*signal(int, void (*)(int)))(int);"
llvm-svn: 38824
|
2006-08-06 17:24:14 +00:00 |
Chris Lattner
|
15356a7065
|
Start capturing declarator information in a new Declarator object.
llvm-svn: 38823
|
2006-08-06 00:02:28 +00:00 |
Chris Lattner
|
971c6b681a
|
Add scaffolding for scopes.
llvm-svn: 38821
|
2006-08-05 22:46:42 +00:00 |
Chris Lattner
|
d286488c5f
|
Make error recovery "better"
llvm-svn: 38819
|
2006-08-05 08:09:44 +00:00 |
Chris Lattner
|
d9c3c59fc0
|
Continue work on declspecs and declarations
llvm-svn: 38818
|
2006-08-05 06:26:47 +00:00 |
Chris Lattner
|
8e90ef6ccc
|
add some notes
llvm-svn: 38817
|
2006-08-05 03:30:45 +00:00 |
Chris Lattner
|
f63f89acc2
|
Handle __thread and storage-class-specifiers
llvm-svn: 38816
|
2006-08-05 03:28:50 +00:00 |
Chris Lattner
|
158ede8e44
|
Add a citation
llvm-svn: 38814
|
2006-08-04 06:42:38 +00:00 |
Chris Lattner
|
1ae23294fb
|
C99 requires at least one type specifier.
llvm-svn: 38813
|
2006-08-04 06:42:31 +00:00 |
Chris Lattner
|
fef9d2bba7
|
Diagnose specifiers with invalid _Complex/_Imaginary components.
llvm-svn: 38812
|
2006-08-04 06:36:52 +00:00 |
Chris Lattner
|
839713c085
|
Emit diagnostics for things like 'signed _Bool' and 'short float'
llvm-svn: 38811
|
2006-08-04 06:15:52 +00:00 |
Chris Lattner
|
deb42f5a96
|
Add some missing assignments.
llvm-svn: 38808
|
2006-08-04 05:26:52 +00:00 |
Chris Lattner
|
da48a8e66b
|
Parse and validate cvr type-qualifiers
llvm-svn: 38807
|
2006-08-04 05:25:55 +00:00 |
Chris Lattner
|
b9093cd1d0
|
Add an initial cut at a datastructure for holding declspec's.
llvm-svn: 38805
|
2006-08-04 04:39:53 +00:00 |
Chris Lattner
|
c0acd3d621
|
Split declaration parsing out into Declarations.cpp
llvm-svn: 38804
|
2006-07-31 05:13:43 +00:00 |
Chris Lattner
|
70f32b7d68
|
Add initial very-incomplete support for parsing declarations. We just manage
to be able to parse "int x;" now.
llvm-svn: 38803
|
2006-07-31 05:09:04 +00:00 |
Chris Lattner
|
0bb5f835e4
|
initial support for parsing, right now just ;'s at the top level, but this
adds most simple scaffolding.
llvm-svn: 38802
|
2006-07-31 01:59:18 +00:00 |