X-Git-Url: https://git.saurik.com/cycript.git/blobdiff_plain/8b820c00ce6fbca72e14c4922c729289d76f8f8a..142cb9e3c2eaba94e04b43f66178f5c4439bd1a8:/Cycript.l.in?ds=inline diff --git a/Cycript.l.in b/Cycript.l.in index 759a4dd..87a46af 100644 --- a/Cycript.l.in +++ b/Cycript.l.in @@ -1,20 +1,20 @@ /* Cycript - Optimizing JavaScript Compiler/Runtime - * Copyright (C) 2009-2012 Jay Freeman (saurik) + * Copyright (C) 2009-2013 Jay Freeman (saurik) */ -/* GNU Lesser General Public License, Version 3 {{{ */ +/* GNU General Public License, Version 3 {{{ */ /* - * Cycript is free software: you can redistribute it and/or modify it under - * the terms of the GNU Lesser General Public License as published by the - * Free Software Foundation, either version 3 of the License, or (at your - * option) any later version. + * Cycript is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published + * by the Free Software Foundation, either version 3 of the License, + * or (at your option) any later version. * - * Cycript is distributed in the hope that it will be useful, but WITHOUT - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or - * FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public - * License for more details. + * Cycript is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. * - * You should have received a copy of the GNU Lesser General Public License + * You should have received a copy of the GNU General Public License * along with Cycript. If not, see . **/ /* }}} */ @@ -33,7 +33,9 @@ typedef cy::parser::token tk; // do /not/ fold token to the return: this is a macro and the ordering is dependent #define F(value, highlight) do { \ int token(value); \ +@begin ObjectiveC yyextra->no_.AtImplementation = false; \ +@end yyextra->no_.Function = false; \ yyextra->no_.OpenBrace = false; \ yylval->highlight_ = highlight; \ @@ -41,7 +43,7 @@ typedef cy::parser::token tk; } while (false) #define A new($pool) -#define Y apr_pstrmemdup($pool, yytext, yyleng) +#define Y $pool.strmemdup(yytext, yyleng) #define I(type, Type, value, highlight) do { \ yylval->type ## _ = A CY ## Type; \ @@ -265,6 +267,8 @@ XMLName {XMLNameStart}{XMLNamePart}* "YES" L C I(identifier, Identifier("YES"), tk::Identifier_, hi::Constant); "NO" L C I(identifier, Identifier("NO"), tk::Identifier_, 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); @end