]> git.saurik.com Git - cycript.git/log
cycript.git
8 years agoProvide access to errno (though not from console).
Jay Freeman (saurik) [Wed, 23 Dec 2015 16:31:40 +0000 (08:31 -0800)] 
Provide access to errno (though not from console).

8 years agoImplement synchronous lstat: node.js binding demo.
Jay Freeman (saurik) [Wed, 23 Dec 2015 16:23:12 +0000 (08:23 -0800)] 
Implement synchronous lstat: node.js binding demo.

8 years agoGenerate functions to "bind" parameterized macros.
Jay Freeman (saurik) [Wed, 23 Dec 2015 16:14:43 +0000 (08:14 -0800)] 
Generate functions to "bind" parameterized macros.

8 years agoAbstract pulling original file code into function.
Jay Freeman (saurik) [Wed, 23 Dec 2015 15:56:03 +0000 (07:56 -0800)] 
Abstract pulling original file code into function.

8 years agoWork around libclang to find parameterized macros.
Jay Freeman (saurik) [Wed, 23 Dec 2015 15:54:37 +0000 (07:54 -0800)] 
Work around libclang to find parameterized macros.

8 years agoMove pre-cached bridge data into the bridge cache.
Jay Freeman (saurik) [Wed, 23 Dec 2015 13:57:49 +0000 (13:57 +0000)] 
Move pre-cached bridge data into the bridge cache.

8 years agoFix bridge cache (it must be *below* Cycript.all).
Jay Freeman (saurik) [Wed, 23 Dec 2015 13:54:13 +0000 (13:54 +0000)] 
Fix bridge cache (it must be *below* Cycript.all).

8 years agoCYPoolCode put the code in the wrong (local) pool.
Jay Freeman (saurik) [Wed, 23 Dec 2015 13:40:52 +0000 (05:40 -0800)] 
CYPoolCode put the code in the wrong (local) pool.

8 years agoAvoid clang_tokenize and just get the source file.
Jay Freeman (saurik) [Wed, 23 Dec 2015 13:27:14 +0000 (05:27 -0800)] 
Avoid clang_tokenize and just get the source file.

8 years agoConvert static inline functions into bridge stubs.
Jay Freeman (saurik) [Wed, 23 Dec 2015 12:04:23 +0000 (04:04 -0800)] 
Convert static inline functions into bridge stubs.

8 years agoMove brackets from parts to pattern: it's simpler.
Jay Freeman (saurik) [Wed, 23 Dec 2015 08:25:37 +0000 (00:25 -0800)] 
Move brackets from parts to pattern: it's simpler.

8 years agoUse CXCursor_AsmLabelAttr to fix $INODE64 on stat.
Jay Freeman (saurik) [Wed, 23 Dec 2015 08:22:57 +0000 (00:22 -0800)] 
Use CXCursor_AsmLabelAttr to fix $INODE64 on stat.

8 years agoBoth tighten and correct alignment of pool malloc.
Jay Freeman (saurik) [Wed, 23 Dec 2015 02:01:08 +0000 (02:01 +0000)] 
Both tighten and correct alignment of pool malloc.

8 years agoSupport (ignore) __restrict/restrict and throw ().
Jay Freeman (saurik) [Wed, 23 Dec 2015 01:04:08 +0000 (17:04 -0800)] 
Support (ignore) __restrict/restrict and throw ().

8 years agoStruct field access must be mindful of alignments.
Jay Freeman (saurik) [Tue, 22 Dec 2015 15:31:44 +0000 (07:31 -0800)] 
Struct field access must be mindful of alignments.

8 years agoAutomatically generate FFI bridges using libclang.
Jay Freeman (saurik) [Tue, 22 Dec 2015 15:27:34 +0000 (07:27 -0800)] 
Automatically generate FFI bridges using libclang.

8 years agoAdd struct definitions and namespace struct names.
Jay Freeman (saurik) [Tue, 22 Dec 2015 06:48:05 +0000 (22:48 -0800)] 
Add struct definitions and namespace struct names.

8 years agoMemory allocated by new will be garbage collected.
Jay Freeman (saurik) [Tue, 22 Dec 2015 01:50:44 +0000 (17:50 -0800)] 
Memory allocated by new will be garbage collected.

8 years agoCache crazy dlopen/dladdr library path gymnastics.
Jay Freeman (saurik) [Mon, 21 Dec 2015 14:31:47 +0000 (06:31 -0800)] 
Cache crazy dlopen/dladdr library path gymnastics.

8 years agoForgot to include license header in libcycript.cy.
Jay Freeman (saurik) [Mon, 21 Dec 2015 14:28:40 +0000 (06:28 -0800)] 
Forgot to include license header in libcycript.cy.

8 years agoPrint the sort-of stack trace from JavaScriptCore.
Jay Freeman (saurik) [Mon, 21 Dec 2015 14:25:50 +0000 (06:25 -0800)] 
Print the sort-of stack trace from JavaScriptCore.

8 years agoSupport requiring simple modules installed by npm.
Jay Freeman (saurik) [Mon, 21 Dec 2015 14:14:20 +0000 (06:14 -0800)] 
Support requiring simple modules installed by npm.

8 years agoTransform ECMAScript 6 import as CommonJS require.
Jay Freeman (saurik) [Mon, 21 Dec 2015 09:47:16 +0000 (01:47 -0800)] 
Transform ECMAScript 6 import as CommonJS require.

8 years agoAllow extern "C" {} and limit semicolon insertion.
Jay Freeman (saurik) [Sun, 20 Dec 2015 12:21:23 +0000 (04:21 -0800)] 
Allow extern "C" {} and limit semicolon insertion.

8 years agoUse dladdr to improve toCYON of pointers/functors.
Jay Freeman (saurik) [Sun, 20 Dec 2015 11:57:15 +0000 (03:57 -0800)] 
Use dladdr to improve toCYON of pointers/functors.

8 years agoSupport cast and call of pointer-to-function type.
Jay Freeman (saurik) [Sun, 20 Dec 2015 11:33:36 +0000 (03:33 -0800)] 
Support cast and call of pointer-to-function type.

8 years agoFix quote when stringifying C/Objective-C strings.
Jay Freeman (saurik) [Sun, 20 Dec 2015 10:19:11 +0000 (02:19 -0800)] 
Fix quote when stringifying C/Objective-C strings.

8 years agoDo not allow loss of precision due to double cast.
Jay Freeman (saurik) [Sun, 20 Dec 2015 10:12:35 +0000 (02:12 -0800)] 
Do not allow loss of precision due to double cast.

8 years agoImplement toPointer for CString, Pointer, Functor.
Jay Freeman (saurik) [Sun, 20 Dec 2015 09:52:22 +0000 (01:52 -0800)] 
Implement toPointer for CString, Pointer, Functor.

8 years agoDisallow void values and support (void) arguments.
Jay Freeman (saurik) [Sat, 19 Dec 2015 15:34:19 +0000 (07:34 -0800)] 
Disallow void values and support (void) arguments.

8 years agoInclude type in toCYON for opaque Pointer address.
Jay Freeman (saurik) [Sat, 19 Dec 2015 14:29:16 +0000 (06:29 -0800)] 
Include type in toCYON for opaque Pointer address.

8 years agoMake char * extend String and cast well to void *.
Jay Freeman (saurik) [Sat, 19 Dec 2015 13:55:05 +0000 (05:55 -0800)] 
Make char * extend String and cast well to void *.

8 years agoPort Error.toCYON() to JS and write Date.toCYON().
Jay Freeman (saurik) [Sat, 19 Dec 2015 10:09:58 +0000 (02:09 -0800)] 
Port Error.toCYON() to JS and write Date.toCYON().

8 years agoTry to use std::streambuf instead of std::istream.
Jay Freeman (saurik) [Sat, 19 Dec 2015 09:43:37 +0000 (01:43 -0800)] 
Try to use std::streambuf instead of std::istream.

8 years agoMove uses of super/return stack next to Lex rules.
Jay Freeman (saurik) [Sat, 19 Dec 2015 09:20:33 +0000 (01:20 -0800)] 
Move uses of super/return stack next to Lex rules.

8 years agoCorrect even more bugs in no line terminator code.
Jay Freeman (saurik) [Sat, 19 Dec 2015 08:55:12 +0000 (00:55 -0800)] 
Correct even more bugs in no line terminator code.

8 years agoAdd __proto__ as token, only for syntax highlight.
Jay Freeman (saurik) [Sat, 19 Dec 2015 07:10:34 +0000 (23:10 -0800)] 
Add __proto__ as token, only for syntax highlight.

8 years agoFinally provide totally legit support for structs.
Jay Freeman (saurik) [Sat, 19 Dec 2015 05:57:13 +0000 (21:57 -0800)] 
Finally provide totally legit support for structs.

8 years agoImplement output of Objective-C class field lists.
Jay Freeman (saurik) [Sat, 19 Dec 2015 04:21:08 +0000 (20:21 -0800)] 
Implement output of Objective-C class field lists.

8 years agoMove TypedIdentifier assertions to separate rules.
Jay Freeman (saurik) [Sat, 19 Dec 2015 02:33:15 +0000 (18:33 -0800)] 
Move TypedIdentifier assertions to separate rules.

8 years agoAdd typedef-expressions syntax to replace @encode.
Jay Freeman (saurik) [Sat, 19 Dec 2015 02:23:20 +0000 (18:23 -0800)] 
Add typedef-expressions syntax to replace @encode.

8 years agoWe need to disallow newlines after extern/typedef.
Jay Freeman (saurik) [Sat, 19 Dec 2015 01:28:17 +0000 (17:28 -0800)] 
We need to disallow newlines after extern/typedef.

8 years agoRemove Cycript's auto keyword (even I don't care).
Jay Freeman (saurik) [Fri, 18 Dec 2015 14:11:56 +0000 (06:11 -0800)] 
Remove Cycript's auto keyword (even I don't care).

8 years agoThe inside of a template span protects us from in.
Jay Freeman (saurik) [Fri, 18 Dec 2015 14:10:37 +0000 (06:10 -0800)] 
The inside of a template span protects us from in.

8 years agoParse array binding patterns (I skipped these :/).
Jay Freeman (saurik) [Fri, 18 Dec 2015 13:44:32 +0000 (05:44 -0800)] 
Parse array binding patterns (I skipped these :/).

8 years agoReplace \n-tokens with LexNewLine and held tokens.
Jay Freeman (saurik) [Fri, 18 Dec 2015 12:50:58 +0000 (04:50 -0800)] 
Replace \n-tokens with LexNewLine and held tokens.

8 years agoFix various bugs with using "of" as an identifier.
Jay Freeman (saurik) [Fri, 18 Dec 2015 09:24:39 +0000 (01:24 -0800)] 
Fix various bugs with using "of" as an identifier.

8 years agoRemove LexSetRegExp now that it is no longer used.
Jay Freeman (saurik) [Fri, 18 Dec 2015 05:04:55 +0000 (21:04 -0800)] 
Remove LexSetRegExp now that it is no longer used.

8 years agoRename everything now that we are on Bison >= 2.5.
Jay Freeman (saurik) [Fri, 18 Dec 2015 04:58:30 +0000 (20:58 -0800)] 
Rename everything now that we are on Bison >= 2.5.

8 years agoUse Lex rules to force "let of" to parse as CYLet.
Jay Freeman (saurik) [Fri, 18 Dec 2015 02:18:59 +0000 (18:18 -0800)] 
Use Lex rules to force "let of" to parse as CYLet.

8 years agoMove all "regular" LexPushInOff/LexPopIn to lexer.
Jay Freeman (saurik) [Thu, 17 Dec 2015 11:01:22 +0000 (03:01 -0800)] 
Move all "regular" LexPushInOff/LexPopIn to lexer.

8 years agoUse syntax-directed lexing to remove LexSetRegExp.
Jay Freeman (saurik) [Thu, 17 Dec 2015 10:06:15 +0000 (02:06 -0800)] 
Use syntax-directed lexing to remove LexSetRegExp.

8 years agoUse macros to simplify semantic actions for lexer.
Jay Freeman (saurik) [Thu, 17 Dec 2015 08:22:30 +0000 (00:22 -0800)] 
Use macros to simplify semantic actions for lexer.

8 years agoUse Lex rules to guide let [/{ parse in for loops.
Jay Freeman (saurik) [Thu, 17 Dec 2015 08:17:40 +0000 (00:17 -0800)] 
Use Lex rules to guide let [/{ parse in for loops.

8 years agoAvoid token precedence as Ruby blocks requirement.
Jay Freeman (saurik) [Wed, 16 Dec 2015 15:21:08 +0000 (07:21 -0800)] 
Avoid token precedence as Ruby blocks requirement.

8 years agoMove lexer hacks for ++ and -- to LexCrement rule.
Jay Freeman (saurik) [Wed, 16 Dec 2015 14:39:31 +0000 (06:39 -0800)] 
Move lexer hacks for ++ and -- to LexCrement rule.

8 years agoRemove precedence information of ++ and -- tokens.
Jay Freeman (saurik) [Wed, 16 Dec 2015 14:31:55 +0000 (06:31 -0800)] 
Remove precedence information of ++ and -- tokens.

8 years agoMove return lexer hack to grammar semantic action.
Jay Freeman (saurik) [Wed, 16 Dec 2015 13:41:41 +0000 (05:41 -0800)] 
Move return lexer hack to grammar semantic action.

8 years agoMove lexer hacks for \n=> and \n{ into Lex* rules.
Jay Freeman (saurik) [Wed, 16 Dec 2015 13:35:27 +0000 (05:35 -0800)] 
Move lexer hacks for \n=> and \n{ into Lex* rules.

8 years agoMove non-RegEx lexer hacks from Scanner to Parser.
Jay Freeman (saurik) [Wed, 16 Dec 2015 12:31:34 +0000 (04:31 -0800)] 
Move non-RegEx lexer hacks from Scanner to Parser.

8 years agoVerify lexer tokens are always default reductions.
Jay Freeman (saurik) [Wed, 16 Dec 2015 12:08:19 +0000 (04:08 -0800)] 
Verify lexer tokens are always default reductions.

8 years agoUsage of with needs to create a new damaged scope.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:38:29 +0000 (16:38 -0800)] 
Usage of with needs to create a new damaged scope.

8 years agoMagic identifiers can still be overridden by vars.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:37:09 +0000 (16:37 -0800)] 
Magic identifiers can still be overridden by vars.

8 years agoThe arguments variable needs to be declared Magic.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:37:00 +0000 (16:37 -0800)] 
The arguments variable needs to be declared Magic.

8 years agoWe aren't allowed to treat Infinity as keyword ;P.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:35:03 +0000 (16:35 -0800)] 
We aren't allowed to treat Infinity as keyword ;P.

8 years agoPrecedence and RightHand have to represent Output.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:34:26 +0000 (16:34 -0800)] 
Precedence and RightHand have to represent Output.

8 years ago"new"."target" did not parse as it wasn't a token.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:33:41 +0000 (16:33 -0800)] 
"new"."target" did not parse as it wasn't a token.

8 years agoRemove "!super" hack: "super" is always a keyword.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:31:36 +0000 (16:31 -0800)] 
Remove "!super" hack: "super" is always a keyword.

8 years agoCommit this @else code, as it seems useful-ish ;P.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:30:54 +0000 (16:30 -0800)] 
Commit this @else code, as it seems useful-ish ;P.

8 years agoAlways assign methods (to support JavaScriptCore).
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:30:13 +0000 (16:30 -0800)] 
Always assign methods (to support JavaScriptCore).

8 years agoSupport Unicode line ends in single-line comments.
Jay Freeman (saurik) [Wed, 16 Dec 2015 00:26:56 +0000 (16:26 -0800)] 
Support Unicode line ends in single-line comments.

8 years agoDetect dpkg-deb -Z flags and prepare for fakeroot.
Jay Freeman (saurik) [Tue, 15 Dec 2015 22:27:42 +0000 (14:27 -0800)] 
Detect dpkg-deb -Z flags and prepare for fakeroot.

8 years agoFix parse of yield keywords without an expression.
Jay Freeman (saurik) [Tue, 15 Dec 2015 15:50:53 +0000 (07:50 -0800)] 
Fix parse of yield keywords without an expression.

8 years agoAvoid using NULL-terminated strings when possible.
Jay Freeman (saurik) [Tue, 15 Dec 2015 15:47:23 +0000 (07:47 -0800)] 
Avoid using NULL-terminated strings when possible.

8 years agoThrow SyntaxError, not Error, for Cycript.compile.
Jay Freeman (saurik) [Tue, 15 Dec 2015 15:23:06 +0000 (07:23 -0800)] 
Throw SyntaxError, not Error, for Cycript.compile.

8 years agoRestrict to valid escape sequences in identifiers.
Jay Freeman (saurik) [Tue, 15 Dec 2015 10:31:21 +0000 (02:31 -0800)] 
Restrict to valid escape sequences in identifiers.

8 years agoThe smarttab code wasn't used at ends of commands.
Jay Freeman (saurik) [Sun, 13 Dec 2015 11:48:20 +0000 (03:48 -0800)] 
The smarttab code wasn't used at ends of commands.

8 years agoFix for-of comprehensions (got broken by scoping).
Jay Freeman (saurik) [Sun, 13 Dec 2015 11:44:17 +0000 (03:44 -0800)] 
Fix for-of comprehensions (got broken by scoping).

8 years agoAllow scanner to backtrack (for UTF-8 whitespace).
Jay Freeman (saurik) [Sun, 13 Dec 2015 01:57:37 +0000 (17:57 -0800)] 
Allow scanner to backtrack (for UTF-8 whitespace).

8 years agoSupport Infinity (syntax highlighting and output).
Jay Freeman (saurik) [Sat, 12 Dec 2015 23:45:22 +0000 (15:45 -0800)] 
Support Infinity (syntax highlighting and output).

8 years agoSupport ECMAScript 1-5 for-in initializers syntax.
Jay Freeman (saurik) [Sat, 12 Dec 2015 14:47:18 +0000 (06:47 -0800)] 
Support ECMAScript 1-5 for-in initializers syntax.

8 years agoSolidify formatting of ->* uses in global Replace.
Jay Freeman (saurik) [Sat, 12 Dec 2015 14:15:39 +0000 (06:15 -0800)] 
Solidify formatting of ->* uses in global Replace.

8 years agoExtract ForInitializer as a subclass of Statement.
Jay Freeman (saurik) [Sat, 12 Dec 2015 14:13:05 +0000 (06:13 -0800)] 
Extract ForInitializer as a subclass of Statement.

8 years agoCatch errors during replace and output to console.
Jay Freeman (saurik) [Sat, 12 Dec 2015 14:07:07 +0000 (06:07 -0800)] 
Catch errors during replace and output to console.

8 years agoReboot variable renaming for lexical name scoping.
Jay Freeman (saurik) [Sat, 12 Dec 2015 13:56:41 +0000 (05:56 -0800)] 
Reboot variable renaming for lexical name scoping.

8 years agoSort-of improve multi-line editor when in vi mode.
Jay Freeman (saurik) [Fri, 11 Dec 2015 01:13:04 +0000 (17:13 -0800)] 
Sort-of improve multi-line editor when in vi mode.

8 years agoSimplify command return by avoiding extra newline.
Jay Freeman (saurik) [Thu, 10 Dec 2015 22:20:05 +0000 (14:20 -0800)] 
Simplify command return by avoiding extra newline.

8 years agoAvoid breaking normal down-arrow cursor semantics.
Jay Freeman (saurik) [Wed, 9 Dec 2015 21:51:30 +0000 (13:51 -0800)] 
Avoid breaking normal down-arrow cursor semantics.

8 years agoCommit line on return inside single-line commands.
Jay Freeman (saurik) [Wed, 9 Dec 2015 20:51:16 +0000 (12:51 -0800)] 
Commit line on return inside single-line commands.

8 years agoCall rl_newline instead of attempting to simulate.
Jay Freeman (saurik) [Wed, 9 Dec 2015 20:50:40 +0000 (12:50 -0800)] 
Call rl_newline instead of attempting to simulate.

8 years agoAllow use of up/down arrows in multi-line command.
Jay Freeman (saurik) [Wed, 9 Dec 2015 20:01:37 +0000 (12:01 -0800)] 
Allow use of up/down arrows in multi-line command.

8 years agoAvoid breaking ^C-for-cancel after tab completion.
Jay Freeman (saurik) [Wed, 9 Dec 2015 09:21:19 +0000 (01:21 -0800)] 
Avoid breaking ^C-for-cancel after tab completion.

8 years agoAllow multi-line editing and drop libedit support.
Jay Freeman (saurik) [Wed, 9 Dec 2015 09:20:17 +0000 (01:20 -0800)] 
Allow multi-line editing and drop libedit support.

8 years agoRemove ?syntax and set failure exit code on throw.
Jay Freeman (saurik) [Tue, 8 Dec 2015 12:16:31 +0000 (04:16 -0800)] 
Remove ?syntax and set failure exit code on throw.

8 years agoMove LexSetRegEx to new "post-lookahead" paradigm.
Jay Freeman (saurik) [Tue, 8 Dec 2015 05:42:09 +0000 (21:42 -0800)] 
Move LexSetRegEx to new "post-lookahead" paradigm.

8 years agoSupport tab completion on unenumerable properties.
Jay Freeman (saurik) [Mon, 7 Dec 2015 10:35:12 +0000 (02:35 -0800)] 
Support tab completion on unenumerable properties.

8 years agoRemove CYLetStatement and provide a stub of CYLet.
Jay Freeman (saurik) [Mon, 7 Dec 2015 10:13:33 +0000 (02:13 -0800)] 
Remove CYLetStatement and provide a stub of CYLet.

8 years agoUse Object.defineProperty as ES6 class visibility.
Jay Freeman (saurik) [Mon, 7 Dec 2015 09:22:20 +0000 (01:22 -0800)] 
Use Object.defineProperty as ES6 class visibility.

8 years agoImplement ECMAScript 6 class syntax (sort of?...).
Jay Freeman (saurik) [Mon, 7 Dec 2015 08:49:07 +0000 (00:49 -0800)] 
Implement ECMAScript 6 class syntax (sort of?...).

8 years agoFix support for multiple "block lambda" arguments.
Jay Freeman (saurik) [Sun, 6 Dec 2015 22:27:43 +0000 (14:27 -0800)] 
Fix support for multiple "block lambda" arguments.