Putting JavaScript Abstract Syntax Tree into practice
ckeditor.com