colorize EBNF {
    SyntaxParser        = 'SIMPLE';
    
    color {
        { 'Normal',      'Editor_Default' },
        { 'String',      'Lang_String' },
        { 'Symbol',      'Lang_Function' },
        { 'Punctuation', 'Lang_Punctuation' },
        { 'Comment',     'Lang_Comment' },
    };
    
    h_state 0 { 'Normal' }
    h_trans { 1, '', '#', 'Comment' }
    h_trans { 2, '<', '"', 'String' }
    h_trans { 0, 's', '.|{}=[]()', 'Punctuation' }

    h_state 1 { 'Comment' }
    h_trans { 0, '$', '', 'Normal' }

    h_state 2 { 'Symbol' }
    h_trans { 0, '>', '"', 'String' }
    h_trans { 0, '$', '', 'String' }
    h_trans { 2, 'Qq', '\\', 'Symbol' }
}

mode EBNF: PLAIN {
    FileNameRx          = '\\.\\c{EBNF}$';
    Colorizer           = 'EBNF';
    HilitOn             = 1;
    AutoIndent          = 1;
    IndentMode          = 'PLAIN';
    MultiLineHilit      = 1;
    AutoHilitParen      = 1;
}
