From b00055a6e37bd8935128a4a50f3d6fd99c390eb7 Mon Sep 17 00:00:00 2001 From: Christian Nicolai Date: Mon, 1 Aug 2011 18:46:03 +0200 Subject: [PATCH] Updated README --- README.md | 145 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 145 insertions(+) diff --git a/README.md b/README.md index c8f2e19..61f347f 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,5 @@ +# JOE Syntax Highlighting + For JOE see [here](http://joe-editor.sourceforge.net/). For JOE project see [here](http://sourceforge.net/projects/joe-editor/). For original JOE syntax files see [here](http://joe-editor.hg.sourceforge.net/hgweb/joe-editor/joe-editor/file/tip/syntax). @@ -15,3 +17,146 @@ you may place the modified one in '~/.joe/' as '~/.joe/ftyperc'. ### Other Syntax Files * [d.jsf](https://gist.github.com/1032393) + +### How JOE syntax highlighting works +*from [c.jsf](http://joe-editor.hg.sourceforge.net/hgweb/joe-editor/joe-editor/file/tip/syntax/c.jsf.in)* + +A (deterministic) state machine which performs lexical analysis of C. +(This is the "assembly language" of syntax highlighting. A separate +program could be used to convert a regular expression NFA syntax into this +format). + +Each state begins with ': ' + is the color used for characters eaten by the state +(really a symbol for a user definable color). + +The first state defined is the initial state. + +Within a state, define transitions (jumps) to other states. Each +jump has the form: [