The Sweble Wikitext parser is an open-source tool to parse the Wikitext markup language used by MediaWiki, the software behind Wikipedia. The initial development was done by Hannes Dohrn as a Ph.D. thesis project at the Open Source Research Group of professor Dirk Riehle at the University of Erlangen-Nuremberg from 2009 until 2011. The results were presented to the public for the first time at the WikiSym conference in 2011. Before that, the dissertation was inspected and approved by an independent scientific peer-review and was published at ACM Press. Based on the statistics at Ohloh the parser is mainly written in the Java programming language. It was open-sourced in May 2011. The parser itself is generated from a parsing expression grammar (PEG) using the Rats! parser generator. The encoding validation is done using a flex lexical analyser written in JFlex. A preprint version of the paper on the design of the Sweble Wikitext Parser can be found at the projects homepage. In addition to that, a summary page exists at the MediaWiki's futures. The current state of parsing The parser used in MediaWiki converts the content directly from Wikitext into HTML. This process is done in two stages: Searching and expansion of templates (like infoboxes), variables, and meta-information (e.g. {{lc:ABC}} gets converted into lower-case abc). Template pages can again have such meta-information so that those have to be evaluated as well (Recursion). This approach is similar to macro expansion used e.g. in programming languages like C++. Parsing and rendering of the now fully expanded text. Hereby, the text is processed by a sequence of built-in functions of MediaWiki that each recognise a single construct. Those analyse the content using Regular Expressions and replace e.g. = HEAD = with its HTML equivalent <h1>HEAD</h1>. In most of the cases, these steps are done line by line, with exceptions being tables or lists. As the authors of Sweble write in their paper, an analysis of the source code of MediaWiki's parser showed that the strategy of using separate transformation steps leads to new problems: Most of the used functions do not take the scope of the surrounding elements into account. This consequently leads to wrong nesting in the resulting HTML output. As a result, the evaluation and rendering of the latter can be ambiguous and depends on the rendering engine of the used web browser. They state: "The individual processing steps often lead