X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/0cbeddf886b3e6d732c96a8f6a578a755e7ddf66..f6fa3c2112ee8b0aa26ab0765674601a9800db77:/Cycript.l.in?ds=sidebyside diff --git a/Cycript.l.in b/Cycript.l.in index 87a46af..cbe4fe5 100644 --- a/Cycript.l.in +++ b/Cycript.l.in @@ -119,7 +119,8 @@ int H(char c) { %option noyywrap %option yylineno %option nounput -%option interactive +%option batch +%option never-interactive %option reentrant %option stack @@ -155,6 +156,8 @@ XMLName {XMLNameStart}{XMLNamePart}* \/{RegularExpressionBody}\/{RegularExpressionFlags} L C I(literal, RegEx(Y), tk::RegularExpressionLiteral, hi::Constant); +#![^\n]* L M + \/\/[^\n]* L M /* http://ostermiller.org/findcomment.html */ @@ -193,6 +196,7 @@ XMLName {XMLNameStart}{XMLNamePart}* @begin E4X ObjectiveC "@" L C F(tk::At, hi::Operator); +"#" L C F(tk::Pound, hi::Operator); @end "&" L C F(tk::Ampersand, hi::Operator); @@ -251,25 +255,34 @@ XMLName {XMLNameStart}{XMLNamePart}* "[" L C F(tk::OpenBracket, hi::Structure); "]" L C F(tk::CloseBracket, hi::Structure); +"@error" L C F(tk::AtError, hi::Error); + @begin Java "@class" L C F(tk::AtClass, hi::Meta); @end +@begin C +"typedef" L C I(identifier, Identifier("typedef"), tk::Typedef, hi::Meta); +"unsigned" L C I(identifier, Identifier("unsigned"), tk::Unsigned, hi::Type); +"signed" L C I(identifier, Identifier("signed"), tk::Signed, hi::Type); +@end + @begin ObjectiveC "@encode" L C F(tk::AtEncode, hi::Meta); "@end" L C F(tk::AtEnd, hi::Meta); "@implementation" L C F(yyextra->no_.AtImplementation ? tk::AtImplementation_ : tk::AtImplementation, hi::Meta); -"@import" L C F(tk::AtImport, hi::Meta); +"@import" L C F(tk::AtImport, hi::Special); "@selector" L C F(tk::AtSelector, hi::Meta); "NULL" L C I(identifier, Identifier("NULL"), tk::Identifier_, hi::Constant); "nil" L C I(identifier, Identifier("nil"), tk::Identifier_, hi::Constant); -"YES" L C I(identifier, Identifier("YES"), tk::Identifier_, hi::Constant); -"NO" L C I(identifier, Identifier("NO"), tk::Identifier_, hi::Constant); +"YES" L C I(identifier, Identifier("YES"), tk::Yes, hi::Constant); +"NO" L C I(identifier, Identifier("NO"), tk::No, hi::Constant); "bool" L C I(identifier, Identifier("bool"), tk::Identifier_, hi::Type); "BOOL" L C I(identifier, Identifier("BOOL"), tk::Identifier_, hi::Type); "id" L C I(identifier, Identifier("id"), tk::Identifier_, hi::Type); +"SEL" L C I(identifier, Identifier("SEL"), tk::Identifier_, hi::Type); @end "undefined" L C I(identifier, Identifier("undefined"), tk::Identifier_, hi::Operator);