Menu

Home

Cyder

TPP
TinyPreProcessor


Features (C11)
1. [c comments] /* ... */
2. [c++ comments] // ...
3. [Stringize operator] #
4. [Token concat] ##
5. [Line macro] __LINE__
6. [File macro] __FILE__
7. [Date macro] __DATE__
8. [Time macro] __TIME__
9. [Trigraphs] ???
10. [Digraphs] %:
11. [VarArgs] __VA_ARGS__
12. [Conditional directives] #if ...
13. [Macros] #define
14. [Line directive] #line
15. [Include directive] #include
16. [Error directive] #error
17. [Pragmas] #pragma
18. [Strings] L"...", u"...", U"..."

Features (Common Extensions)
1. [Counter macro] __COUNTER__
2. [Base file macro] __BASE_FILE__
3. [Include level macro] __INCLUDE_LEVEL__
4. [Warning directive] #warning
5. [Include next directive] #include_next
6. [Pragma once] #pragma once
7. [Multi char constants] 'abcd'
8. [Pragma warning] #pragma warning
9. [Has include macro] __has_include
10. [Has x feature check macro] __has_feature, ...

Features (Lesser known Extensions)
1. [Pragma message] #pragma message
2. [Pragma push macro] #pragma push_macro
3. [Pragma region] #pragma region
4. [Pragma deprecated] #pragma deprecated
5. [Fixed length integer suffix] 123ui32
6. [Is identifier macro] __is_identifier
7. [Timestamp macro] __TIMESTAMP__

Features (TPP Extensions)
1. [Is builtin identifier macro] __is_builtin_identifier
2. [Is deprecated macro] __is_deprecated
3. [Custom time and date macros] __TIME_SEC__, ...
4. [Tpp counter macro] __TPP_COUNTER
5. [Tpp random macro] __TPP_RANDOM
6. [Tpp evaluate macro] __TPP_EVAL
7. [Tpp load file macro] __TPP_LOAD_FILE
8. [Tpp decompile string macro] __TPP_STR_DECOMPILE
9. [VarArgs va-comma extension] __VA_COMMA__
10. [Pragma error] #pragma error
11. [Macro function recursion]
12. [Macro calling conventions]
13. [Include guard detection]
14. [Pragma tpp_exec] #pragma tpp_exec

Project Members: