]> git.saurik.com Git - cycript.git/blobdiff - Cycript.l.in
Move a line of code so that it matches other cases.
[cycript.git] / Cycript.l.in
index a3aed14629a909716eb0f9589ee7a9b89cbf3e4c..58ed9fd7573d50e0310ad33d7c2ff08e6bded105 100644 (file)
@@ -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}*
 
 <RegExp>\/{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
 <RegExp>"<>"      L F(tk::LeftRight, hi::Structure);
@@ -253,12 +259,14 @@ XMLName {XMLNameStart}{XMLNamePart}*
 "@import"         L C F(tk::AtImport, hi::Meta);
 "@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);
+"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);