Brian Silverman | 70325d6 | 2015-09-20 17:00:43 -0400 | [diff] [blame] | 1 | This directory contains an implementation of an html context scanner with no |
| 2 | lookahead. Its purpose is to scan an html stream and provide context |
| 3 | information at any point within the input stream. This is used in the |
| 4 | auto escaping functionality of the templating system, which would require |
| 5 | html context information at very specific points within the html stream. The |
| 6 | implementation is based on a simplified state machine of HTML4.1. |
| 7 | |
| 8 | The implementation is written in C, with the idea of making is usable |
| 9 | in other contexts besides this html paresr; however, we compile all |
| 10 | the files as c++ files in order to be able to use a namespace (and |
| 11 | avoid global namespace pollution). There's also a c++ shim to give an |
| 12 | object-oriented look at the html parser state, which is what the |
| 13 | ctemplate system actually uses. |