Here you find the description of the basic ideas of the Gemse implementation. Read it to get a rough overview. Also, you find useful references to the documentation of the tools used (mainly Mozilla). Descriptions of classes, methods, properties can be found in the code itself. They can be extracted using the jsdoc toolkit.
The input of the user is basically a stream of unicode cahracters.