import { Lexer } from "./Lexer"; import { LexerMatcher } from "./LexerMatcher"; import { LexerMatcherLibrary } from "./LexerMatcherLibrary"; import { LexerType } from "./LexerType"; export class CSVLexer extends Lexer { static readonly COMMA = "COMMA"; static readonly COMMA_MATCHER = new LexerMatcher( CSVLexer.COMMA, /\,/ ); static readonly DATA = "DATA"; static readonly DATA_MATCHER = new LexerMatcher( CSVLexer.DATA, /(\w|\d|\s)+/ ); constructor() { super(); this.addAllMatchers( LexerMatcherLibrary.DOUBLE_QUOTED_STRING_MATCHER, CSVLexer.COMMA_MATCHER, LexerMatcherLibrary.BREAK_MATCHER, LexerMatcherLibrary.ANY_SYMBOL_MATCHER ); } }