User:GWicke/oldUserPage

Gabriel Wicke, wicke ät wikidev.net, en:User:Gwicke.

General links:
 * Current activity in SVN
 * Etherpad index
 * MediaWiki_roadmap/1.18/Revision_report, patch triage, parser bugs @20%
 * JavaScript performance, MVL

Parser

 * Future/Parser plan and in particular informal grammar and fix-ups
 * PEG.js documentation
 * Visual editor/Software design and Todo
 * WikiDom docs, talk and example document

Related parser work:
 * Wikitext discussion of ANTLR parser
 * Markup spec/ANTLR/draft
 * Kiwi grammar
 * Python parser by Mozilla.org
 * Sweble: in particular swc-parser-lazy/src/main/java/org/sweble/wikitext/lazy/postprocessor
 * HTML 5 compliant parser in Java: http://about.validator.nu/htmlparser/, especially startTag in src/nu/validator/htmlparser/impl/TreeBuilder.java
 * This is very close to what we need for informal grammar and fix-ups, could use a port with a custom tokenizer to feed in elements from wiki syntax
 * Based on Google Web Toolkit, can compile to Javascript (Debian build script) and C++ (C++ used in Gecko; Live Javascript version); PHP and Python ports: http://code.google.com/p/html5lib/
 * BUT: need to separate block-level fix-ups (needed for editing) from formatting/annotation fix-up (overlapping ranges supported, minimal parser fix-ups for source round-tripping)
 * Same logic implemented by HTML5-compliant browsers- could we leverage that on the client side? -> check interaction with innerHTML
 * Alternative (cleaner) JS parser + DOM implementation sponsored by Mozilla; only works on Spidermonkey (not on node.js) due to use of proxies, const and other advanced JS features: ,
 * Node html5 parser library: https://github.com/aredridel/html5, slower than the Mozilla one according to
 * Hook output handling in current parser:

Formatting elements

 * a, b, big, code, em, font, i, nobr, s, small, strike, strong, tt, and u.
 * scope limited by applet elements, buttons, object elements, marquees, table cells, and table captions
 * formatting restored when entering other elements: Search for Reconstruct the active formatting elements in