34 lines
1.1 KiB
TypeScript
34 lines
1.1 KiB
TypeScript
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
|
|
);
|
|
|
|
}
|
|
} |