]> git.saurik.com Git - cycript.git/blobdiff - Scanner.lpp.in
Improve support for char values (from JS strings).
[cycript.git] / Scanner.lpp.in
index 04d0580f9ace83e39b0ddb3025efbc3c22d21323..d9614df0b2c5c4e316d1cf123abfecb46e9dae0d 100644 (file)
@@ -345,7 +345,6 @@ XMLName {XMLNameStart}{XMLNamePart}*
 
 @begin E4X ObjectiveC
 "@"    L F(tk::At, hi::Operator);
-"#"    L F(tk::Pound, hi::Operator);
 @end
 
 "&"    L F(tk::Ampersand, hi::Operator);
@@ -395,6 +394,7 @@ XMLName {XMLNameStart}{XMLNamePart}*
 ","    L F(tk::Comma, hi::Structure);
 "?"    L F(tk::Question, hi::Structure);
 ";"    L F(tk::SemiColon, hi::Structure);
+"#"    L F(tk::Pound, hi::Operator);
 
 "("    L F(tk::OpenParen, hi::Structure);
 ")"    L F(tk::CloseParen, hi::Structure);
@@ -482,6 +482,7 @@ XMLName {XMLNameStart}{XMLNamePart}*
 "Infinity"        L /*III*/ F(tk::_Infinity_, hi::Constant);
 "instanceof"      L /*KKK*/ F(tk::_instanceof_, hi::Operator);
 "int"             L /*FII*/ F(tk::_int_, hi::Type);
+"__int128"        L /*III*/ F(tk::___int128_, hi::Type);
 "interface"       L /*FSS*/ F(tk::_interface_, hi::Meta);
 "let"             L /*IS?*/ F(tk::_let_, hi::Meta);
 "long"            L /*FII*/ F(tk::_long_, hi::Type);
@@ -605,8 +606,10 @@ XMLName {XMLNameStart}{XMLNamePart}*
     "$" R CYLexBufferUnit('$');
 
     {PlateCharacter}+ R CYLexBufferUnits(yytext, yyleng);
-    {PlateCharacter}*{LineTerminatorSequence} R E("invalid newline");
     {PlateCharacter}*{UnicodeScrap} R E("invalid character");
+
+    {PlateCharacter}*{LineTerminatorSequence} yylloc->end.Lines(); CYLexBufferUnits(yytext, yyleng);
+    \\{LineTerminatorSequence} yylloc->end.Lines();
 }
     /* }}} */
     /* Escapes {{{ */