Stephan Schmidt discussed some different strategies for creating wiki render engines, which translate wiki markup into HTML for display. Even with WYSIWYG editors, wiki render engines will still be needed to propagate wiki content. They can be engineered to be more intelligent and versatile.
There are three kinds of render engines: Custom parser (loops out of the main loop that allow for other actions with the substitution), a Regex Engine (pattern matching with regular expressions), and a Generated Parser (creates parsers based on grammar constructs). The last one is preferred by software developers, but isn’t easy to make pattern changes in runtime. Custom parsers get the job done, but are error-prone and have difficulty with large text.
Radeox, a regex engine, started as java based component in SnipSnap wiki. It evolved into a component due to user requests, and ultimately was re-licensed from GPL to ASL. It is currently used in several Java based wikis.