title: Implementing C preprocessor
body: <p>I am implementing a C preprocessor...</p>
  
  <p>On Wiki, I found the following functionalities of it...</p>
  
  <ul>
  <li>Trigraph replacement</li>
  <li>Line splicing</li>
  <li>Tokenization</li>
  <li>Macro expansion and directive handling</li>
  <li>File Inclusion</li>
  </ul>
  
  <p>My questions:</p>
  
  <ul>
  <li>Am I missing any functionality?</li>
  <li>What is the correct sequence of execution of the above functionalities? (i.e. what is done before what in today's practical preprocessors?)</li>
  </ul>
  
  <p>If anyone knows any standard doc' about it, please mention that too.</p>