Commit Graph

58 Commits

Author SHA1 Message Date
Dick Hollenbeck 0361ad6a55 factor some pioneering code into a the stable building block class DSNLEXER, generalize expected valued for name and value within the template field parser. 2010-06-18 11:00:16 -05:00
Dick Hollenbeck f3d5c4948b meet Ralph, a big harry template fieldnames patch 2010-06-17 11:30:10 -05:00
stambaughw 143526462c First pass at DSN token file generator and other minor changes.
* 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.
2010-04-06 14:09:52 +00:00
dickelbeck f1f11cf66d revive target 'dsntest' from common, start exploring pasting text from clipboard, primitively. 2010-03-08 06:18:40 +00:00
dickelbeck a800351eab Switch the LINE_READER being used by DSN_LEXER as owned, and accessible via pointer.
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.
2010-03-02 19:15:30 +00:00
dickelbeck 6700c604aa DSNLEXER now supports:
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.)
2010-02-20 19:13:30 +00:00
dickelbeck 58fc9d8f09 layer widget incorporation into pcbnew 2010-01-21 07:41:30 +00:00
dickelbeck ceb6ad1a72 * Factored out the DSNLEXER class so it can be re-used more generally. The
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.
2009-12-11 04:55:24 +00:00