mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 01:30:22 +00:00
30 lines
1.3 KiB
Plaintext
30 lines
1.3 KiB
Plaintext
|
|
%%
|
|
\n+ {yy.freshLine = true;}
|
|
\s+ {yy.freshLine = false;}
|
|
"y{"[^}]*"}" {yytext = yytext.substr(2, yyleng - 3); return 'ACTION';}
|
|
[a-zA-Z_][a-zA-Z0-9_-]* {return 'NAME';}
|
|
'"'([^"]|'\"')*'"' {return 'STRING_LIT';}
|
|
"'"([^']|"\'")*"'" {return 'STRING_LIT';}
|
|
"|" {return '|';}
|
|
"["("\]"|[^\]])*"]" {return 'ANY_GROUP_REGEX';}
|
|
"(" {return '(';}
|
|
")" {return ')';}
|
|
"+" {return '+';}
|
|
"*" {return '*';}
|
|
"?" {return '?';}
|
|
"^" {return '^';}
|
|
"/" {return '/';}
|
|
"\\"[a-zA-Z0] {return 'ESCAPE_CHAR';}
|
|
"$" {return '$';}
|
|
"<<EOF>>" {return '$';}
|
|
"." {return '.';}
|
|
"%%" {return '%%';}
|
|
"{"\d+(","\s?\d+|",")?"}" {return 'RANGE_REGEX';}
|
|
/"{" %{if (yy.freshLine) { this.input('{'); return '{'; } else { this.unput('y'); }%}
|
|
"}" %{return '}';%}
|
|
"%{"(.|\n)*?"}%" {yytext = yytext.substr(2, yyleng - 4); return 'ACTION';}
|
|
. {/* ignore bad characters */}
|
|
<<EOF>> {return 'EOF';}
|
|
|