• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

adt/H21-Nov-2012-1,514876

builtins/H21-Nov-2012-

driver/H03-May-2022-1,4261,102

win32/H21-Nov-2012-187128

wrappergen/H21-Nov-2012-998771

AUTHORH A D21-Nov-2012403 107

COPYINGH A D21-Nov-201217.6 KiB340281

MakefileH A D03-May-20224.3 KiB178134

NEWS.mdH A D21-Nov-20122.5 KiB9877

README.mdH A D21-Nov-20121.3 KiB4231

ast.cH A D21-Nov-201254 KiB1,9221,449

ast.hH A D21-Nov-20126.4 KiB14178

ast2firm.cH A D21-Nov-2012167.3 KiB5,4284,293

ast2firm.hH A D21-Nov-20121.4 KiB4617

ast_t.hH A D21-Nov-201218.7 KiB670532

attribute.cH A D21-Nov-201218.3 KiB540460

attribute.hH A D15-Jun-2012432 1610

attribute_t.hH A D21-Nov-20123.6 KiB150136

builtins.cH A D21-Nov-201215.1 KiB274221

builtins.hH A D15-Jun-20121.6 KiB6021

config.h.inH A D15-Jun-2012821 2019

cparser.1H A D21-Nov-201210 KiB372371

create_builtins_h.shH A D15-Jun-2012239 169

diagnostic.cH A D21-Nov-20127.5 KiB323263

diagnostic.hH A D21-Nov-20122.3 KiB7227

entity.cH A D21-Nov-20123.7 KiB11879

entity.hH A D21-Nov-20121.6 KiB4117

entity_t.hH A D21-Nov-20127.9 KiB304224

entitymap.cH A D21-Nov-20122.5 KiB6840

entitymap_t.hH A D21-Nov-20121.5 KiB5122

format_check.cH A D21-Nov-201229.3 KiB1,022852

format_check.hH A D15-Jun-20121.1 KiB3511

help.cH A D05-Jul-20121.1 KiB3311

help.hH A D15-Jun-20121.1 KiB345

input.cH A D21-Nov-20129.3 KiB341298

input.hH A D15-Jun-2012680 2414

jump_target.cH A D21-Nov-20121.5 KiB6659

jump_target.hH A D21-Nov-2012578 2919

lang_features.hH A D21-Nov-20121.6 KiB5920

main.cH A D21-Nov-201271.4 KiB2,2961,996

make_release.shH A D21-Nov-2012941 3426

mangle.cH A D21-Nov-20129.5 KiB390296

mangle.hH A D03-Jul-20121.1 KiB3410

parser.cH A D21-Nov-2012305.6 KiB10,3477,973

parser.hH A D21-Nov-20121.7 KiB6215

preprocessor.cH A D21-Nov-201270.9 KiB2,8182,385

preprocessor.hH A D21-Nov-20121.2 KiB3923

printer.cH A D05-Jul-20122.9 KiB13788

printer.hH A D15-Jun-20122.1 KiB6824

separator_t.hH A D21-Nov-2012648 3220

string_rep.cH A D21-Nov-2012584 2724

string_rep.hH A D21-Nov-20121.4 KiB4419

symbol.hH A D21-Nov-20121 KiB306

symbol_t.hH A D21-Nov-20121.1 KiB3714

symbol_table.cH A D21-Nov-20122.8 KiB8554

symbol_table.hH A D15-Jun-20121 KiB349

symbol_table_t.hH A D21-Nov-20121.2 KiB3814

token.cH A D21-Nov-20124.6 KiB174128

token_t.hH A D21-Nov-20122.7 KiB10262

tokens.incH A D21-Nov-20126.8 KiB209196

tokens_preprocessor.incH A D21-Nov-2012329 2221

tokens_punctuator.incH A D21-Nov-20122.6 KiB6361

type.cH A D21-Nov-201242.6 KiB1,6521,247

type.hH A D21-Nov-20127.7 KiB282105

type_hash.cH A D21-Nov-20128.4 KiB326251

type_hash.hH A D21-Nov-2012981 317

type_t.hH A D21-Nov-20129.5 KiB349213

types.cH A D21-Nov-20129.4 KiB222171

types.hH A D21-Nov-20123.7 KiB12087

unicode.hH A D21-Nov-20121.8 KiB6949

walk.cH A D21-Nov-201211.1 KiB421349

walk.hH A D15-Jun-2012514 1913

warning.cH A D25-Oct-20128.9 KiB210172

warning.hH A D13-Jul-20129.3 KiB139109

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