Name Date Size

..29-Nov-20194 KiB

.build_pluginH A D23-Nov-2017336

.firmplugin_updateH A D23-Nov-201783

.gitattributesH A D23-Nov-201722

.gitignoreH A D23-Nov-2017129

.gitmodulesH A D09-Feb-201995

AUTHORH A D23-Nov-2017403

CMakeLists.txtH A D09-Feb-20193.5 KiB

config.default.makH A D23-Nov-20171.7 KiB

COPYINGH A D23-Nov-201717.6 KiB

cparser.1H A D09-Feb-201914.4 KiB

include/H23-Nov-20174 KiB

libfirm/H23-Nov-20174 KiB

MakefileH A D23-Nov-20175.4 KiB

NEWS.mdH A D09-Feb-20195.2 KiB

README.mdH A D23-Nov-20172.4 KiB

src/H23-Nov-20174 KiB

support/H23-Nov-20174 KiB

README.md

1cparser - A C99 parser (with GNU extensions)
2============================================
3
4Introduction
5------------
6
7cparser is a recursive descent C99 parser written in C99.  It contains a
8preprocessor, lexer, parser, constructs an AST and does semantic analysis.  It
9acts as a frontend to the libFirm intermediate representation library.  This
10way optimization and code generation is performed. The compiler supports cross
11compilation to multiple target architectures with a command-line switch.  It
12comes with driver logic for calling assemblers and linkers as well as parsing
13command-line options.  This allows it to be a drop-in replacement for gcc or
14clang in many situations.
15
16Building and Installation
17-------------------------
18
19Requirements:
20
21* A C99 compiler (gcc and icc are known to work).
22* libFirm-1.22
23
24### Building with make
25
26Unpack libfirm in a directory called libfirm in the source directory
27alternatively you may setup an alternate location with a 'config.mak' file.
28Just type 'make' in the source directory. The results are put into a directory
29called "build". You can override the existing preprocessor, compiler and linker
30flags and built-in paths for include directories by creating a 'config.mak'
31file.
32
33### Building with cmake
34
35cparser has an additional cmake build system. CMake is a complexer build system
36than the make based build and most cparser developers do not use it.  However
37it can adapt the compiler and linker flags to build shared libraries for a
38wider range of systems, provides an installation target and is often more
39familiar for people preparing packages for distribution.
40
41### Notes for a cparser installation
42
43While cparser often runs fine from the source/build directory, a proper
44installation should be configured with correct system paths. For this a
45`config.mak` file should be created and the following variables set apropriately
46for the system: `PREFIX`, `SYSTEM_INCLUDE_DIR`, `LOCAL_INCLUDE_DIR`,
47`COMPILER_INCLUDE_DIR`, `MULTILIB_M32_TRIPLE`, `MULTILIB_M64_TRIPLE`,
48`variant=optimize`.
49The variable may be defined empty; See `config.default.mak` and `Makefile` for
50details.
51
52Further Information and Contact
53-------------------------------
54
55Official website: http://libfirm.org/
56
57Contact E-Mail: firm@ipd.info.uni-karlsruhe.de
58
59Mailing list: https://lists.ira.uni-karlsruhe.de/mailman/listinfo/firm
60
61Bugtracker: http://pp.ipd.kit.edu/~firm/bugs
62
63Internet relay chat: irc://chat.freenode.net/#firm
64