|
Name |
|
Date |
Size |
#Lines |
LOC |
| .. | | 03-May-2022 | - |
| adt/ | H | 21-Nov-2012 | - | 1,514 | 876 |
| builtins/ | H | 21-Nov-2012 | - | | |
| driver/ | H | 03-May-2022 | - | 1,426 | 1,102 |
| win32/ | H | 21-Nov-2012 | - | 187 | 128 |
| wrappergen/ | H | 21-Nov-2012 | - | 998 | 771 |
| AUTHOR | H A D | 21-Nov-2012 | 403 | 10 | 7 |
| COPYING | H A D | 21-Nov-2012 | 17.6 KiB | 340 | 281 |
| Makefile | H A D | 03-May-2022 | 4.3 KiB | 178 | 134 |
| NEWS.md | H A D | 21-Nov-2012 | 2.5 KiB | 98 | 77 |
| README.md | H A D | 21-Nov-2012 | 1.3 KiB | 42 | 31 |
| ast.c | H A D | 21-Nov-2012 | 54 KiB | 1,922 | 1,449 |
| ast.h | H A D | 21-Nov-2012 | 6.4 KiB | 141 | 78 |
| ast2firm.c | H A D | 21-Nov-2012 | 167.3 KiB | 5,428 | 4,293 |
| ast2firm.h | H A D | 21-Nov-2012 | 1.4 KiB | 46 | 17 |
| ast_t.h | H A D | 21-Nov-2012 | 18.7 KiB | 670 | 532 |
| attribute.c | H A D | 21-Nov-2012 | 18.3 KiB | 540 | 460 |
| attribute.h | H A D | 15-Jun-2012 | 432 | 16 | 10 |
| attribute_t.h | H A D | 21-Nov-2012 | 3.6 KiB | 150 | 136 |
| builtins.c | H A D | 21-Nov-2012 | 15.1 KiB | 274 | 221 |
| builtins.h | H A D | 15-Jun-2012 | 1.6 KiB | 60 | 21 |
| config.h.in | H A D | 15-Jun-2012 | 821 | 20 | 19 |
| cparser.1 | H A D | 21-Nov-2012 | 10 KiB | 372 | 371 |
| create_builtins_h.sh | H A D | 15-Jun-2012 | 239 | 16 | 9 |
| diagnostic.c | H A D | 21-Nov-2012 | 7.5 KiB | 323 | 263 |
| diagnostic.h | H A D | 21-Nov-2012 | 2.3 KiB | 72 | 27 |
| entity.c | H A D | 21-Nov-2012 | 3.7 KiB | 118 | 79 |
| entity.h | H A D | 21-Nov-2012 | 1.6 KiB | 41 | 17 |
| entity_t.h | H A D | 21-Nov-2012 | 7.9 KiB | 304 | 224 |
| entitymap.c | H A D | 21-Nov-2012 | 2.5 KiB | 68 | 40 |
| entitymap_t.h | H A D | 21-Nov-2012 | 1.5 KiB | 51 | 22 |
| format_check.c | H A D | 21-Nov-2012 | 29.3 KiB | 1,022 | 852 |
| format_check.h | H A D | 15-Jun-2012 | 1.1 KiB | 35 | 11 |
| help.c | H A D | 05-Jul-2012 | 1.1 KiB | 33 | 11 |
| help.h | H A D | 15-Jun-2012 | 1.1 KiB | 34 | 5 |
| input.c | H A D | 21-Nov-2012 | 9.3 KiB | 341 | 298 |
| input.h | H A D | 15-Jun-2012 | 680 | 24 | 14 |
| jump_target.c | H A D | 21-Nov-2012 | 1.5 KiB | 66 | 59 |
| jump_target.h | H A D | 21-Nov-2012 | 578 | 29 | 19 |
| lang_features.h | H A D | 21-Nov-2012 | 1.6 KiB | 59 | 20 |
| main.c | H A D | 21-Nov-2012 | 71.4 KiB | 2,296 | 1,996 |
| make_release.sh | H A D | 21-Nov-2012 | 941 | 34 | 26 |
| mangle.c | H A D | 21-Nov-2012 | 9.5 KiB | 390 | 296 |
| mangle.h | H A D | 03-Jul-2012 | 1.1 KiB | 34 | 10 |
| parser.c | H A D | 21-Nov-2012 | 305.6 KiB | 10,347 | 7,973 |
| parser.h | H A D | 21-Nov-2012 | 1.7 KiB | 62 | 15 |
| preprocessor.c | H A D | 21-Nov-2012 | 70.9 KiB | 2,818 | 2,385 |
| preprocessor.h | H A D | 21-Nov-2012 | 1.2 KiB | 39 | 23 |
| printer.c | H A D | 05-Jul-2012 | 2.9 KiB | 137 | 88 |
| printer.h | H A D | 15-Jun-2012 | 2.1 KiB | 68 | 24 |
| separator_t.h | H A D | 21-Nov-2012 | 648 | 32 | 20 |
| string_rep.c | H A D | 21-Nov-2012 | 584 | 27 | 24 |
| string_rep.h | H A D | 21-Nov-2012 | 1.4 KiB | 44 | 19 |
| symbol.h | H A D | 21-Nov-2012 | 1 KiB | 30 | 6 |
| symbol_t.h | H A D | 21-Nov-2012 | 1.1 KiB | 37 | 14 |
| symbol_table.c | H A D | 21-Nov-2012 | 2.8 KiB | 85 | 54 |
| symbol_table.h | H A D | 15-Jun-2012 | 1 KiB | 34 | 9 |
| symbol_table_t.h | H A D | 21-Nov-2012 | 1.2 KiB | 38 | 14 |
| token.c | H A D | 21-Nov-2012 | 4.6 KiB | 174 | 128 |
| token_t.h | H A D | 21-Nov-2012 | 2.7 KiB | 102 | 62 |
| tokens.inc | H A D | 21-Nov-2012 | 6.8 KiB | 209 | 196 |
| tokens_preprocessor.inc | H A D | 21-Nov-2012 | 329 | 22 | 21 |
| tokens_punctuator.inc | H A D | 21-Nov-2012 | 2.6 KiB | 63 | 61 |
| type.c | H A D | 21-Nov-2012 | 42.6 KiB | 1,652 | 1,247 |
| type.h | H A D | 21-Nov-2012 | 7.7 KiB | 282 | 105 |
| type_hash.c | H A D | 21-Nov-2012 | 8.4 KiB | 326 | 251 |
| type_hash.h | H A D | 21-Nov-2012 | 981 | 31 | 7 |
| type_t.h | H A D | 21-Nov-2012 | 9.5 KiB | 349 | 213 |
| types.c | H A D | 21-Nov-2012 | 9.4 KiB | 222 | 171 |
| types.h | H A D | 21-Nov-2012 | 3.7 KiB | 120 | 87 |
| unicode.h | H A D | 21-Nov-2012 | 1.8 KiB | 69 | 49 |
| walk.c | H A D | 21-Nov-2012 | 11.1 KiB | 421 | 349 |
| walk.h | H A D | 15-Jun-2012 | 514 | 19 | 13 |
| warning.c | H A D | 25-Oct-2012 | 8.9 KiB | 210 | 172 |
| warning.h | H A D | 13-Jul-2012 | 9.3 KiB | 139 | 109 |
README.md
1cparser - A C99 parser (with gnu extensions)
2============================================
3
41. Introduction
5---------------
6
7cparser is a recursive descent C99 parser written in C99. It contains lexer,
8parser, constructs an AST and does semantic analysis. It is currently used as
9a frontend to the libFirm intermediate representation, but can be used
10independently. cparser is able to bootstrap itself. It currently uses an
11external preprocessor.
12
132. Building and Installation
14----------------------------
15
16Requirements:
17
18* A C99 compiler (gcc and icc are known to work).
19* pkg-config (recommended)
20* libFirm-1.21 or later
21
22Make sure you have installed libFirm and pkg-config can find the libfirm.pc
23files ("pkg-config --modversion libfirm" should work). Use (GNU)-make to build
24cparser.
25
263. Troubleshooting
27------------------
28
29x86\_64 Systems:
30libFirm uses a 32bit x86 backend by default, while it also uses the systems
31default preprocessor/linker. This results on a x86\_64 linker being used
32for 32bit assembly. If you see assembler errors like
33"suffix or operand invalid for 'push'", then you probably have this problem.
34Use the -m32 flag to force usage of system 32bit preprocessor/linker.
35
364. Contact
37----------
38
39There's a Bugtracker at http://pp.info.uni-karlsruhe.de/~firm/bugs
40You can contact me at matze@braunis.de
41You might also visit the #firm channel on irc.freenode.net
42