X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/153c6dec5130531c908f623f585cf1aa32172cee..9ec7dd188b51ba8245b33ed23be1a6202a0e749b:/Cycript.l.in diff --git a/Cycript.l.in b/Cycript.l.in index 5472417..c946c89 100644 --- a/Cycript.l.in +++ b/Cycript.l.in @@ -83,6 +83,12 @@ typedef cy::parser::token tk; yylloc->columns(yyleng); \ } +#define M { \ + if (yyextra->commented_) { \ + I(comment, Comment(Y), tk::Comment, hi::Comment); \ + } \ +} + int H(char c) { if (c >= '0' && c <= '9') return c - '0'; @@ -147,12 +153,12 @@ XMLName {XMLNameStart}{XMLNamePart}* \/{RegularExpressionBody}\/{RegularExpressionFlags} L C I(literal, RegEx(Y), tk::RegularExpressionLiteral, hi::Constant); -\/\/[^\n]* L +\/\/[^\n]* L M /* http://ostermiller.org/findcomment.html */ /* XXX: unify these two rules using !? */ \/\*!([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/ V() C I(comment, Comment(Y), tk::Comment, hi::Comment); -\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/ V(N) +\/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+\/ V(N) M @begin E4X "<>" L F(tk::LeftRight, hi::Structure); @@ -248,13 +254,20 @@ XMLName {XMLNameStart}{XMLNamePart}* @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); "@selector" L C F(tk::AtSelector, hi::Meta); -"nil" L C I(identifier, Identifier("nil"), tk::Identifier_, hi::Constant); + +"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); @end +"undefined" L C I(identifier, Identifier("undefined"), tk::Identifier_, hi::Operator); + "false" L C I(false, False(), tk::False, hi::Constant); "null" L C I(null, Null(), tk::Null, hi::Constant); "true" L C I(true, True(), tk::True, hi::Constant);