Nelze vybrat více než 25 témat Téma musí začínat písmenem nebo číslem, může obsahovat pomlčky („-“) a může být dlouhé až 35 znaků.
 
 
 

145 řádky
3.0 KiB

============================================
Include directives
============================================
#include "some/path.h"
#include <stdint.h>
---
(translation_unit
(preproc_include (string_literal))
(preproc_include (system_lib_string)))
============================================
Object-like macro definitions
============================================
#define ONE
#define TWO int a = b;
#define THREE \
c == d ? \
e : \
f
#define FOUR (mno * pq)
---
(translation_unit
(preproc_def (identifier))
(preproc_def (identifier) (preproc_arg))
(preproc_def (identifier) (preproc_arg))
(preproc_def (identifier) (preproc_arg)))
============================================
Function-like macro definitions
============================================
#define ONE() a
#define TWO(b) c
#define THREE(d, e) f
#define FOUR(...) g
#define FIVE(h, i, ...) j
---
(translation_unit
(preproc_function_def (identifier) (preproc_params) (preproc_arg))
(preproc_function_def (identifier) (preproc_params (identifier)) (preproc_arg))
(preproc_function_def (identifier) (preproc_params (identifier) (identifier)) (preproc_arg))
(preproc_function_def (identifier) (preproc_params) (preproc_arg))
(preproc_function_def (identifier) (preproc_params (identifier) (identifier)) (preproc_arg)))
============================================
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 (primitive_type) (identifier)))
(preproc_ifdef
(identifier)
(declaration (primitive_type) (identifier))
(preproc_def (identifier) (preproc_arg))
(preproc_else
(declaration (primitive_type) (identifier))
(preproc_def (identifier) (preproc_arg))))
(preproc_ifdef
(identifier)
(preproc_else
(preproc_ifdef
(identifier)
(preproc_else)))))
===============================================================
General if blocks
==========================================
#if defined(__GNUC__) && defined(__PIC__)
#define inline inline __attribute__((always_inline))
#endif
---
(translation_unit
(preproc_if
(preproc_arg)
(preproc_def (identifier) (preproc_arg))))
============================================
Preprocessor conditionals in functions
============================================
int main() {
#if a
return 0;
#else
return 1;
#endif
}
---
(translation_unit
(function_definition
(primitive_type)
(function_declarator (identifier) (parameter_list))
(compound_statement
(preproc_if (preproc_arg)
(return_statement (number_literal))
(preproc_else
(return_statement (number_literal)))))))
====================================
Unknown preprocessor directives
====================================
#pragma mark - UIViewController
---
(translation_unit (preproc_call (preproc_directive) (preproc_arg)))