I often work with language PROGRESS-4GL. I have processed file userDefineLang.xml for NOTEPAD++ editor.
- ALL keywords of languages are identified. Equal full forms as well as ALL admissible summaries .
- It is possible to follow structure of block .
- They are identified:
- comments ( / * * / ),
- blocks (DO, REPEAT.. END),
- preprocessor keywords (&IF, &ENDIF),
- statements keywords (DEFINE, IF, UPDATE),
- keywords, it is not allowed to overload which (ACCUMULATE, OR, YES),
- keywords, it is possible to overload which (DEFAULT-EXTENSION, INTEGER, STRING).
This solution has several limitations.
- Start / * and end * / of comment there must be enclosed with „white field ”. So, they are not as comment identified such constructions as it should be comment /*They are not put comments*/ .
- They are not put comments recognizable. /* Com1 /* Com2 */ COMMENT */ .
- It is overloaded keyword · FOR. Certainly construction FOR END is identified as block correctly. Unfortunately, construction “DEFINE BUFFOR b FOR table” includes keyword FOR, which Notepad++ treats as start of block.
- Constructions FUNCTION..END or CASE..END are identified correctly. However, additional keyword can be behind keyword END (CASE, FUNCTION, PROCEDURE, ). Notepad++ treats it as start of block.
For installation you must to overwrite a file userDefineLang.xml to Notepad++ catalog. For my installation there is the catalog “C:\Documents and Setting\Administrator\Dane aplikacji\Notepad\”.