Previously a single Ragel machine was used for processing HTML
script and style tags. This had the unfortunate side-effect that the
following was not parsed correctly (while being valid HTML):
<script>
var foo = "</style>";
</script>
The same applied to style tags:
<style>
/* </script> */
</style>
By using separate machines we can work around the above issue. The
downside is that this can produce multiple T_TEXT nodes, which have to
be stitched back together in the parser.
|
||
|---|---|---|
| .. | ||
| extconf.rb | ||
| lexer.h | ||
| lexer.rl | ||
| liboga.c | ||
| liboga.h | ||