* Add CMake script to generate DSN token header and source file from
token list file.
* Add preliminary component library DSN token list and lexer file to
test script and prepare for new component library file lexer.
* EESchema: right click on ERC check mark displays error in message panel.
* Remove PCBNew header file dependency from common DSN lexer source.
* Minor code clean ups.
This paves the way for other kinds of LINE_READERs, such as one which reads from a
multiline string which comes from the clipboard.
Will still need to:
1) add new additional DSN_LEXER constructor,
2) virtualize the LINE_READER's ReadLine() function
3) create derived class from LINE_READER.
1) nested quotes. This is in anticipation of broader usage of the
file type/syntax. A string like this in the file:
"my ""favorate"" string"
can be returned as
my "favorite" string
2) CommentsAsTokens is implemented, so you can ask the lexer to return
comments as tokens, so they can be preserved. The default is to ignore
them. A comment is defined as any line that has # as its first
non-blank character. (This means comments cannot follow anything else
on a line.)
constructor takes a keyword table, so it can be used for arbitrary DSN
syntax files of your own chosing. Simply create an enum {} with all your
unique tokens in it. Then create a KEYWORD table. See SPECCTRA_DB::keywords[].
The reason you want an enum is to give the C++ debugger better type information
so it can show symbolic integer symbols.
* Factored out common richio.cpp and richio.h
which is what DSNLEXER uses.
* Fixed some minor issues with reading circuit descriptor from a *.dsn file.