
/* Do not modify this file it was automatically generated by the
 * TokenList2DsnLexer CMake script.
 *
 * Include this file in your lexer class to provide the keywords for
 * your DSN lexer.
 */

#include <pcb_plot_params_lexer.h>

using namespace PCBPLOTPARAMS_T;

#define TOKDEF(x)    { #x, T_##x }

const KEYWORD PCB_PLOT_PARAMS_LEXER::keywords[] = {
    TOKDEF( drillshape ),
    TOKDEF( excludeedgelayer ),
    TOKDEF( false ),
    TOKDEF( hpglpendiameter ),
    TOKDEF( hpglpennumber ),
    TOKDEF( hpglpenoverlay ),
    TOKDEF( hpglpenspeed ),
    TOKDEF( layerselection ),
    TOKDEF( linewidth ),
    TOKDEF( mirror ),
    TOKDEF( mode ),
    TOKDEF( outputdirectory ),
    TOKDEF( outputformat ),
    TOKDEF( padsonsilk ),
    TOKDEF( pcbplotparams ),
    TOKDEF( plotframeref ),
    TOKDEF( plotinvisibletext ),
    TOKDEF( plotothertext ),
    TOKDEF( plotreference ),
    TOKDEF( plotvalue ),
    TOKDEF( psa4output ),
    TOKDEF( pscolor ),
    TOKDEF( psnegative ),
    TOKDEF( scaleselection ),
    TOKDEF( subtractmaskfromsilk ),
    TOKDEF( true ),
    TOKDEF( useauxorigin ),
    TOKDEF( usegerberextensions ),
    TOKDEF( viasonmask )
};

const unsigned PCB_PLOT_PARAMS_LEXER::keyword_count = unsigned( sizeof( PCB_PLOT_PARAMS_LEXER::keywords )/sizeof( PCB_PLOT_PARAMS_LEXER::keywords[0] ) );


const char* PCB_PLOT_PARAMS_LEXER::TokenName( T aTok )
{
    const char* ret;

    if( (unsigned) aTok < keyword_count )
    {
        ret = keywords[aTok].name;
    }
    else if( aTok < 0 )
    {
        ret = DSNLEXER::Syntax( aTok );
    }
    else
        ret = "token too big";

    return ret;
}
