]> git.saurik.com Git - cycript.git/commitdiff
Further factored out Objective-C aspects of Cycript grammar and fixed dylib->$(dll).
authorJay Freeman (saurik) <saurik@saurik.com>
Thu, 22 Oct 2009 07:31:38 +0000 (07:31 +0000)
committerJay Freeman (saurik) <saurik@saurik.com>
Thu, 22 Oct 2009 07:31:38 +0000 (07:31 +0000)
Cycript.y.in
makefile

index 0823b7a7fda7f757fc301eb39c28d860d4f29306..4d47834078d29b928075eb6f3555b49fd86cfb88 100644 (file)
@@ -63,7 +63,6 @@ typedef struct {
         CYBoolean *boolean_;
         CYClause *clause_;
         CYCatch *catch_;
-        CYClassName *className_;
         CYComprehension *comprehension_;
         CYCompound *compound_;
         CYDeclaration *declaration_;
@@ -71,7 +70,6 @@ typedef struct {
         CYElement *element_;
         CYExpression *expression_;
         CYFalse *false_;
-        CYField *field_;
         CYFinally *finally_;
         CYForInitialiser *for_;
         CYForInInitialiser *forin_;
@@ -92,6 +90,8 @@ typedef struct {
         CYWord *word_;
 
 @begin ObjC
+        CYClassName *className_;
+        CYField *field_;
         CYMessage *message_;
         CYMessageParameter *messageParameter_;
         CYSelectorPart *selector_;
@@ -304,15 +304,6 @@ int cylex(YYSTYPE *lvalp, cy::location *llocp, void *scanner);
 %type <clause_> CaseClause
 %type <clause_> CaseClausesOpt
 %type <catch_> CatchOpt
-%type <statement_> CategoryStatement
-%type <expression_> ClassExpression
-%type <message_> ClassMessageDeclaration
-%type <message_> ClassMessageDeclarationListOpt
-%type <className_> ClassName
-%type <className_> ClassNameOpt
-%type <statement_> ClassStatement
-%type <expression_> ClassSuperOpt
-%type <field_> ClassFieldList
 %type <comprehension_> ComprehensionList
 %type <comprehension_> ComprehensionListOpt
 %type <expression_> ConditionalExpression
@@ -373,11 +364,6 @@ int cylex(YYSTYPE *lvalp, cy::location *llocp, void *scanner);
 %type <expression_> MemberExpression
 %type <expression_> MemberExpression_
 %type <expression_> MemberExpressionNoBF
-%type <messageParameter_> MessageParameter
-%type <messageParameter_> MessageParameters
-%type <messageParameter_> MessageParameterList
-%type <messageParameter_> MessageParameterListOpt
-%type <bool_> MessageScope
 %type <expression_> MultiplicativeExpression
 %type <expression_> MultiplicativeExpressionNoBF
 %type <expression_> NewExpression
@@ -403,9 +389,6 @@ int cylex(YYSTYPE *lvalp, cy::location *llocp, void *scanner);
 %type <expression_> RelationalExpressionNoIn
 %type <infix_> RelationalExpressionNoIn_
 %type <statement_> ReturnStatement
-%type <selector_> SelectorExpression
-%type <selector_> SelectorExpression_
-%type <selector_> SelectorExpressionOpt
 %type <expression_> ShiftExpression
 %type <expression_> ShiftExpressionNoBF
 %type <statement_> SourceElement
@@ -417,7 +400,6 @@ int cylex(YYSTYPE *lvalp, cy::location *llocp, void *scanner);
 %type <statement_> SwitchStatement
 %type <statement_> ThrowStatement
 %type <statement_> TryStatement
-%type <expression_> TypeOpt
 %type <expression_> UnaryExpression
 %type <expression_> UnaryExpression_
 %type <expression_> UnaryExpressionNoBF
@@ -430,14 +412,34 @@ int cylex(YYSTYPE *lvalp, cy::location *llocp, void *scanner);
 %type <statement_> VariableStatement
 %type <statement_> WhileStatement
 %type <statement_> WithStatement
-%type <word_> Word
-%type <word_> WordOpt
 
+@begin ObjC
+%type <statement_> CategoryStatement
+%type <expression_> ClassExpression
+%type <statement_> ClassStatement
+%type <expression_> ClassSuperOpt
+%type <field_> ClassFieldList
+%type <message_> ClassMessageDeclaration
+%type <message_> ClassMessageDeclarationListOpt
+%type <className_> ClassName
+%type <className_> ClassNameOpt
 %type <expression_> MessageExpression
+%type <messageParameter_> MessageParameter
+%type <messageParameter_> MessageParameters
+%type <messageParameter_> MessageParameterList
+%type <messageParameter_> MessageParameterListOpt
+%type <bool_> MessageScope
 %type <argument_> SelectorCall
 %type <argument_> SelectorCall_
+%type <selector_> SelectorExpression
+%type <selector_> SelectorExpression_
+%type <selector_> SelectorExpressionOpt
 %type <argument_> SelectorList
+%type <expression_> TypeOpt
 %type <argument_> VariadicCall
+%type <word_> Word
+%type <word_> WordOpt
+@end
 
 %left "*" "/" "%"
 %left "+" "-"
@@ -483,6 +485,7 @@ Terminator
     |
     ;*/
 
+@begin ObjC
 NewLineOpt
     : "\n"
     |
@@ -532,6 +535,7 @@ Word
     | "while" { $$ = $1; }
     | "with" { $$ = $1; }
     ;
+@end
 
 Identifier
     : Identifier_ { $$ = $1; }
index 99ef08de3b468376e3f9a914f66cf7ea7c9b9c6e..8b4711b28610f1061b45e6b9b357376bfb66a7ba 100644 (file)
--- a/makefile
+++ b/makefile
@@ -50,9 +50,9 @@ $(deb): $(all)
            cp -a Settings.plist package/Library/PreferenceLoader/Preferences/Cycript.plist; \
        fi
        if [[ -e Tweak.plist ]]; then cp -a Tweak.plist package/Library/MobileSubstrate/DynamicLibraries/Cycript.plist; fi
-       cp -a Cycript.dylib package/Library/MobileSubstrate/DynamicLibraries
+       cp -a Cycript.$(dll) package/Library/MobileSubstrate/DynamicLibraries
        mkdir -p package/usr/{bin,lib,sbin}
-       cp -a libcycript.dylib package/usr/lib
+       cp -a libcycript.$(dll) package/usr/lib
        cp -a cycript package/usr/bin
        #cp -a cyrver package/usr/sbin
        cp -a libcycript.plist package/usr/lib
@@ -62,7 +62,7 @@ endif
 all: $(all)
 
 clean:
-       rm -f *.o libcycript.dylib cycript libcycript.plist Struct.hpp lex.cy.c Cycript.tab.cc Cycript.tab.hh location.hh position.hh stack.hh cyrver
+       rm -f *.o libcycript.$(dll) cycript libcycript.plist Struct.hpp lex.cy.c Cycript.tab.cc Cycript.tab.hh location.hh position.hh stack.hh cyrver Cycript.y
 
 libcycript.plist: Bridge.def
        { \
@@ -110,7 +110,7 @@ cyrver: Server.o
 
 libcycript.$(dll): $(code)
        $(target)g++ $(flags) -dynamiclib -o $@ $(filter %.o,$^) \
-           -install_name /usr/lib/libcycript.dylib \
+           -install_name /usr/lib/libcycript.$(dll) \
            -lobjc -lapr-1 -lffi -lsubstrate \
            -framework CoreFoundation -framework Foundation \
            -framework CFNetwork \