C preprocessor

Introspector Modifications
The CPP described here is the plan for a modified and enhanced cpp. it will allow you to publish results on git, archive.org and wikis with the results of the cpp for sharing with others.

Article from Wikipedia
The C preprocessor or cpp is the macro preprocessor for the C and C++ computer programming languages. The preprocessor provides the ability for the inclusion of header files, macro expansions, conditional compilation, and line control.

Phases
The first four (of eight) phases of translation specified in the C Standard are:


 * 1) Trigraph replacement: The preprocessor replaces trigraph sequences with the characters they represent.


 * 1) Line splicing: Physical source lines that are continued with escaped newline sequences are spliced to form logical lines.


 * 1) Tokenization: The preprocessor breaks the result into preprocessing tokens and whitespace.

It replaces comments with whitespace a special marker that identifies the comment block inside of the runtime if requested.

Ideas
 * 1) Macro expansion and directive handling: Preprocessing directive lines, including file inclusion and conditional compilation, are executed. The preprocessor simultaneously expands macros and, in the 1999 version of the C standard, handles   operators.


 * Adding in of additional data, annotations, in a structure form, to the source code externally.
 * Create of blobs/hashes of versions of blocks of data


 * track versions of blocks of code
 * Sort the blocks by dependancy
 * Track identifiers in source code in each block
 * generate synthetic file names including the hash signature of the block for compiling data into debugger information
 * track comment blocks as well, look for recognizable input

Numeric constants

 * symbol with different definitions under difference cases.


 * creating of constant integers

Wikipedia

 * http://en.wikipedia.org/w/index.php?title=C_preprocessor/#As_a_general-purpose_preprocessor_.28GPP.29


 * http://en.wikipedia.org/wiki/C_preprocessor/#Compiler-specific_preprocessor_features


 * http://en.wikipedia.org/wiki/C_preprocessor/#Conditional_compilation


 * http://en.wikipedia.org/wiki/C_preprocessor/#External_links


 * http://en.wikipedia.org/wiki/C_preprocessor/#Implementations


 * http://en.wikipedia.org/wiki/C_preprocessor/#Including_files


 * http://en.wikipedia.org/wiki/title=C_preprocessor/#Macro_definition_and_expansion


 * http://en.wikipedia.org/wiki/C_preprocessor/#Phases


 * http://en.wikipedia.org/wiki/C_preprocessor/#References


 * http://en.wikipedia.org/wiki/C_preprocessor/#See_also


 * http://en.wikipedia.org/wiki/C_preprocessor/#Special_macros_and_directives


 * http://en.wikipedia.org/wiki/C_preprocessor/#Token_concatenation


 * http://en.wikipedia.org/wiki/C_preprocessor/#User-defined_compilation_errors


 * http://en.wikipedia.org/wiki/C_preprocessor/#Uses

Other Articles

 * http://en.wikipedia.org/wiki/ANSI_C#C89_and_C90
 * http://en.wikipedia.org/wiki/Alef_(programming_language)


 * http://en.wikipedia.org/wiki/Assembly_language


 * http://en.wikipedia.org/wiki/Assertion_(computing)


 * http://en.wikipedia.org/wiki/Bionic_(software)


 * http://en.wikipedia.org/wiki/Borland_Turbo_C


 * http://en.wikipedia.org/wiki/C%2B%2B


 * http://en.wikipedia.org/wiki/C%2B%2B/CLI


 * http://en.wikipedia.org/wiki/C%2B%2B/CX


 * http://en.wikipedia.org/wiki/C99


 * http://en.wikipedia.org/wiki/C_(programming_language)


 * http://en.wikipedia.org/wiki/C_Sharp_(programming_language)


 * http://en.wikipedia.org/wiki/C_data_types


 * http://en.wikipedia.org/wiki/C_preprocessor


 * http://en.wikipedia.org/wiki/C_standard_library


 * http://en.wikipedia.org/wiki/C_syntax


 * http://en.wikipedia.org/wiki/C_trigraph
 * http://en.wikipedia.org/wiki/Clang


 * http://en.wikipedia.org/wiki/Comparison_of_Pascal_and_C


 * http://en.wikipedia.org/wiki/Compatibility_of_C_and_C%2B%2B


 * http://en.wikipedia.org/wiki/Compiler


 * http://en.wikipedia.org/wiki/Compiler_directive


 * http://en.wikipedia.org/wiki/Computer_program


 * http://en.wikipedia.org/wiki/Conditional_compilation


 * http://en.wikipedia.org/wiki/D_(programming_language)


 * http://en.wikipedia.org/wiki/Debugger


 * http://en.wikipedia.org/wiki/Deprecated


 * http://en.wikipedia.org/wiki/Dietlibc


 * http://en.wikipedia.org/wiki/Embedded_GLIBC


 * http://en.wikipedia.org/wiki/Escape_character


 * http://en.wikipedia.org/wiki/GNU_C_Library


 * http://en.wikipedia.org/wiki/GNU_Compiler_Collection


 * http://en.wikipedia.org/wiki/Go_(programming_language)


 * http://en.wikipedia.org/wiki/Header_file


 * http://en.wikipedia.org/wiki/Header_files
 * http://en.wikipedia.org/wiki/Imake


 * http://en.wikipedia.org/wiki/Include_guard


 * http://en.wikipedia.org/wiki/Java_virtual_machine#C_to_bytecode_compilers


 * http://en.wikipedia.org/wiki/LCC_(compiler)


 * http://en.wikipedia.org/wiki/Limbo_(programming_language)


 * http://en.wikipedia.org/wiki/M4_(computer_language)


 * http://en.wikipedia.org/wiki/Macro_(computer_science)


 * http://en.wikipedia.org/wiki/Magic_number_(programming)#Unnamed_numerical_constants


 * http://en.wikipedia.org/wiki/Make_(software)
 * http://en.wikipedia.org/wiki/Newlib
 * http://en.wikipedia.org/wiki/Newline


 * http://en.wikipedia.org/wiki/Null-terminated_string


 * http://en.wikipedia.org/wiki/Objective-C


 * http://en.wikipedia.org/wiki/OpenMP


 * http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B


 * http://en.wikipedia.org/wiki/Pelles_C


 * http://en.wikipedia.org/wiki/Portable_C_Compiler


 * http://en.wikipedia.org/wiki/Portal:Contents


 * http://en.wikipedia.org/wiki/Portal:Current_events


 * http://en.wikipedia.org/wiki/Portal:Featured_content


 * http://en.wikipedia.org/wiki/Pragma_once


 * http://en.wikipedia.org/wiki/Preprocessing_directive


 * http://en.wikipedia.org/wiki/Preprocessor


 * http://en.wikipedia.org/wiki/Printf


 * http://en.wikipedia.org/wiki/Programming_language


 * http://en.wikipedia.org/wiki/Radian


 * http://en.wikipedia.org/wiki/String_literal
 * http://en.wikipedia.org/wiki/Subroutine


 * http://en.wikipedia.org/wiki/Text_files
 * http://en.wikipedia.org/wiki/Tiny_C_Compiler


 * http://en.wikipedia.org/wiki/UClibc


 * http://en.wikipedia.org/wiki/Vala_(programming_language)


 * http://en.wikipedia.org/wiki/Variadic_macro


 * http://en.wikipedia.org/wiki/Visual_C%2B%2B


 * http://en.wikipedia.org/wiki/Watcom_C/C%2B%2B_compiler


 * http://en.wikipedia.org/wiki/Whitespace


 * http://en.wikipedia.org/wiki/XBM

===Categories===


 * http://en.wikipedia.org/wiki/Category:C_compilers


 * http://en.wikipedia.org/wiki/Category:C_libraries


 * http://en.wikipedia.org/wiki/Category:C_programming_language


 * http://en.wikipedia.org/wiki/Category:Macro_programming_languages


 * http://en.wikipedia.org/wiki/Category:Transformation_languages


 * http://en.wikipedia.org/wiki/Category:Use_dmy_dates_from_November_2010
 * Templates
 * http://en.wikipedia.org/wiki/Template:CProLang
 * http://en.wikipedia.org/wiki/Template_talk:CProLang