import { Lexer } from "./Lexer"; import { LexerMatcher } from "./LexerMatcher"; import { LexerMatcherLibrary } from "./LexerMatcherLibrary"; import { LexerType } from "./LexerType"; export class CLikeLexer extends Lexer { constructor() { super(); this.addAllMatchers( LexerMatcherLibrary.SINGLE_LINE_COMMENT_MATCHER, LexerMatcherLibrary.MULTI_LINE_COMMENT_MATCHER, LexerMatcherLibrary.DOUBLE_QUOTED_STRING_MATCHER, LexerMatcherLibrary.SINGLE_QUOTED_STRING_MATCHER, LexerMatcherLibrary.C_INSTRUCTION_MATCHER, LexerMatcherLibrary.NUMBER_MATCHER, LexerMatcherLibrary.NULL_MATCHER, LexerMatcherLibrary.BOOL_MATCHER, LexerMatcherLibrary.BREAK_MATCHER, LexerMatcherLibrary.WHITESPACE_MATCHER, LexerMatcherLibrary.LOGIC_MATCHER, LexerMatcherLibrary.BRACKET_MATCHER, LexerMatcherLibrary.ACCESS_MODIFIER_MATCHER, LexerMatcherLibrary.CLASS_MATCHER, LexerMatcherLibrary.OPERATOR_MATCHER, LexerMatcherLibrary.CFUNCTION_MATCHER, LexerMatcherLibrary.CWORD_MATCHER, LexerMatcherLibrary.ANY_SYMBOL_MATCHER ); } }