============================================
|
|
Include directives
|
|
============================================
|
|
|
|
#include "some/path.h"
|
|
#include <stdint.h>
|
|
|
|
---
|
|
|
|
(translation_unit
|
|
(preproc_include (string_literal))
|
|
(preproc_include (system_lib_string)))
|
|
|
|
============================================
|
|
Defines
|
|
============================================
|
|
|
|
#define SIZE 1024
|
|
|
|
#define SOMETHING \
|
|
x + \
|
|
y
|
|
|
|
---
|
|
|
|
(translation_unit
|
|
(preproc_define (identifier))
|
|
(preproc_define (identifier)))
|
|
|
|
============================================
|
|
Ifdefs
|
|
============================================
|
|
|
|
#ifndef DEFINE1
|
|
int j;
|
|
#endif
|
|
|
|
#ifdef DEFINE2
|
|
ssize_t b;
|
|
#define c 32
|
|
#else
|
|
int b;
|
|
#define c 16
|
|
#endif
|
|
|
|
#ifdef DEFINE2
|
|
#else
|
|
#ifdef DEFINE3
|
|
#else
|
|
#endif
|
|
#endif
|
|
|
|
---
|
|
|
|
(translation_unit
|
|
(preproc_ifdef
|
|
(identifier)
|
|
(declaration (identifier) (identifier)))
|
|
|
|
(preproc_ifdef
|
|
(identifier)
|
|
(declaration (identifier) (identifier))
|
|
(preproc_define (identifier))
|
|
(preproc_else
|
|
(declaration (identifier) (identifier))
|
|
(preproc_define (identifier))))
|
|
|
|
(preproc_ifdef
|
|
(identifier)
|
|
(preproc_else
|
|
(preproc_ifdef
|
|
(identifier)
|
|
(preproc_else)))))
|