]> git.saurik.com Git - cycript.git/log
cycript.git
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.

8 years agoSlightly improve syntax hierarchy near CYFunction.
Jay Freeman (saurik) [Fri, 4 Dec 2015 09:35:12 +0000 (01:35 -0800)] 
Slightly improve syntax hierarchy near CYFunction.

8 years agoAvoid crashing when the user types a mismatched }.
Jay Freeman (saurik) [Thu, 3 Dec 2015 05:14:39 +0000 (21:14 -0800)] 
Avoid crashing when the user types a mismatched }.

8 years agoAdd libuv to the build (static linking for Apple).
Jay Freeman (saurik) [Thu, 3 Dec 2015 04:22:05 +0000 (20:22 -0800)] 
Add libuv to the build (static linking for Apple).

8 years agoFix "fat arrow" functions that have no parameters.
Jay Freeman (saurik) [Wed, 2 Dec 2015 11:19:38 +0000 (03:19 -0800)] 
Fix "fat arrow" functions that have no parameters.

8 years agoFinally implemented *entire* ECMAScript 6 grammar.
Jay Freeman (saurik) [Wed, 2 Dec 2015 10:30:22 +0000 (02:30 -0800)] 
Finally implemented *entire* ECMAScript 6 grammar.

8 years agoUse fauxsu (from DHowett) to fix .deb permissions.
Jay Freeman (saurik) [Wed, 2 Dec 2015 09:11:18 +0000 (01:11 -0800)] 
Use fauxsu (from DHowett) to fix .deb permissions.

8 years agoCompress lexer tables for usual download in Cydia.
Jay Freeman (saurik) [Wed, 2 Dec 2015 08:59:09 +0000 (00:59 -0800)] 
Compress lexer tables for usual download in Cydia.

8 years agoThe grammar and lexer should not share a filename.
Jay Freeman (saurik) [Wed, 2 Dec 2015 08:58:31 +0000 (00:58 -0800)] 
The grammar and lexer should not share a filename.

8 years agoFlex drove me crazy with "you just got jammed" :/.
Jay Freeman (saurik) [Wed, 2 Dec 2015 07:43:24 +0000 (23:43 -0800)] 
Flex drove me crazy with "you just got jammed" :/.

8 years agoUse start conditions to parse regular expressions.
Jay Freeman (saurik) [Wed, 2 Dec 2015 07:32:39 +0000 (23:32 -0800)] 
Use start conditions to parse regular expressions.

8 years agoLimit recompilation of files upon changed grammar.
Jay Freeman (saurik) [Wed, 2 Dec 2015 03:09:29 +0000 (19:09 -0800)] 
Limit recompilation of files upon changed grammar.

8 years agoStub all of ECMAScript 6, but leave unimplemented.
Jay Freeman (saurik) [Wed, 2 Dec 2015 01:29:51 +0000 (17:29 -0800)] 
Stub all of ECMAScript 6, but leave unimplemented.

8 years agoAvoid ECMAScript6 conflicts with RubyBlock syntax.
Jay Freeman (saurik) [Wed, 2 Dec 2015 00:44:37 +0000 (16:44 -0800)] 
Avoid ECMAScript6 conflicts with RubyBlock syntax.

8 years agoOS X 10.11 on 64-bit now supports non-pointer isa.
Jay Freeman (saurik) [Tue, 1 Dec 2015 23:47:19 +0000 (15:47 -0800)] 
OS X 10.11 on 64-bit now supports non-pointer isa.

8 years agoFix lexer hack correctness check when more spaces.
Jay Freeman (saurik) [Tue, 1 Dec 2015 21:56:01 +0000 (13:56 -0800)] 
Fix lexer hack correctness check when more spaces.

8 years agoPut back YYABORT, just after we've called error().
Jay Freeman (saurik) [Tue, 1 Dec 2015 21:53:34 +0000 (13:53 -0800)] 
Put back YYABORT, just after we've called error().

8 years agoUse forced lookahead to move "No" hacks to parser.
Jay Freeman (saurik) [Tue, 1 Dec 2015 00:13:18 +0000 (16:13 -0800)] 
Use forced lookahead to move "No" hacks to parser.

8 years agoDrop support for ObjC @implementation expressions.
Jay Freeman (saurik) [Mon, 30 Nov 2015 21:27:16 +0000 (13:27 -0800)] 
Drop support for ObjC @implementation expressions.

8 years agoParse (but ignore) ECMAScript 6 "spread elements".
Jay Freeman (saurik) [Mon, 30 Nov 2015 21:20:35 +0000 (13:20 -0800)] 
Parse (but ignore) ECMAScript 6 "spread elements".

8 years agoMassive changes to lexer to get template literals.
Jay Freeman (saurik) [Mon, 30 Nov 2015 14:16:22 +0000 (06:16 -0800)] 
Massive changes to lexer to get template literals.

8 years agoMove tokens that aren't Words into IdentifierName.
Jay Freeman (saurik) [Sun, 29 Nov 2015 21:41:18 +0000 (13:41 -0800)] 
Move tokens that aren't Words into IdentifierName.

8 years agoReorganize grammar to match the ECMAScript 6 spec.
Jay Freeman (saurik) [Sun, 29 Nov 2015 21:38:02 +0000 (13:38 -0800)] 
Reorganize grammar to match the ECMAScript 6 spec.

8 years agoRemove all non-%union fields from semantic values.
Jay Freeman (saurik) [Sun, 29 Nov 2015 19:11:16 +0000 (11:11 -0800)] 
Remove all non-%union fields from semantic values.

8 years agoAttempt to make all the identifiers look the same.
Jay Freeman (saurik) [Sun, 29 Nov 2015 10:53:01 +0000 (10:53 +0000)] 
Attempt to make all the identifiers look the same.

8 years agoThis %union field has been obsolete for six years.
Jay Freeman (saurik) [Sun, 29 Nov 2015 09:42:48 +0000 (09:42 +0000)] 
This %union field has been obsolete for six years.

8 years agoMove non-tk::Identifier_ CYIdentifiers to grammar.
Jay Freeman (saurik) [Sun, 29 Nov 2015 09:24:50 +0000 (09:24 +0000)] 
Move non-tk::Identifier_ CYIdentifiers to grammar.

8 years agoCommit a generally useful -gtiming implementation.
Jay Freeman (saurik) [Sun, 29 Nov 2015 08:31:41 +0000 (00:31 -0800)] 
Commit a generally useful -gtiming implementation.

8 years agoRemove flex/gperf hacks (this was fixed upstream).
Jay Freeman (saurik) [Sun, 29 Nov 2015 07:14:11 +0000 (23:14 -0800)] 
Remove flex/gperf hacks (this was fixed upstream).

8 years agoOrganize tokens into something more of a database.
Jay Freeman (saurik) [Sat, 28 Nov 2015 12:35:50 +0000 (04:35 -0800)] 
Organize tokens into something more of a database.

8 years agoRemove seemingly-unneccessary CYBlank from parser.
Jay Freeman (saurik) [Sat, 28 Nov 2015 12:25:15 +0000 (04:25 -0800)] 
Remove seemingly-unneccessary CYBlank from parser.

8 years agoCleanly separate words and keywords using grammar.
Jay Freeman (saurik) [Sat, 28 Nov 2015 10:54:35 +0000 (02:54 -0800)] 
Cleanly separate words and keywords using grammar.

8 years agoRemove all (ignored!) destructors from Parser.hpp.
Jay Freeman (saurik) [Sat, 28 Nov 2015 09:18:53 +0000 (01:18 -0800)] 
Remove all (ignored!) destructors from Parser.hpp.

8 years agoMaybe thread local storage is a performance issue.
Jay Freeman (saurik) [Thu, 26 Nov 2015 10:17:14 +0000 (02:17 -0800)] 
Maybe thread local storage is a performance issue.

8 years agoAdd a way to clean all of the Apple architectures.
Jay Freeman (saurik) [Thu, 26 Nov 2015 10:03:36 +0000 (02:03 -0800)] 
Add a way to clean all of the Apple architectures.

8 years agoCYPool's reservation policy was a stub/mistake :/.
Jay Freeman (saurik) [Thu, 26 Nov 2015 10:02:28 +0000 (02:02 -0800)] 
CYPool's reservation policy was a stub/mistake :/.

8 years agoMaintain all the flags through apple-configure.sh.
Jay Freeman (saurik) [Thu, 26 Nov 2015 10:01:05 +0000 (02:01 -0800)] 
Maintain all the flags through apple-configure.sh.

8 years agoCYPool::str*dup was leaking memory via global new.
Jay Freeman (saurik) [Thu, 26 Nov 2015 05:53:39 +0000 (21:53 -0800)] 
CYPool::str*dup was leaking memory via global new.

8 years agoUse -fvisibility=hidden to avoid slow symbol stub.
Jay Freeman (saurik) [Thu, 26 Nov 2015 05:49:01 +0000 (21:49 -0800)] 
Use -fvisibility=hidden to avoid slow symbol stub.

8 years agoStub alternative (vector) implementation of Stack.
Jay Freeman (saurik) [Thu, 26 Nov 2015 03:25:40 +0000 (19:25 -0800)] 
Stub alternative (vector) implementation of Stack.

8 years agoPort to Linux: g++ 4.8 and JavaScriptCoreGTK+ 4.0.
Jay Freeman (saurik) [Thu, 26 Nov 2015 01:50:39 +0000 (17:50 -0800)] 
Port to Linux: g++ 4.8 and JavaScriptCoreGTK+ 4.0.

8 years agoBison does not actually care about the stack size.
Jay Freeman (saurik) [Thu, 26 Nov 2015 00:59:33 +0000 (16:59 -0800)] 
Bison does not actually care about the stack size.

8 years agoBison's stack was using up *half* my parsing time.
Jay Freeman (saurik) [Thu, 26 Nov 2015 00:03:14 +0000 (16:03 -0800)] 
Bison's stack was using up *half* my parsing time.

8 years agoProvide an easier way to run the debugger on OS X.
Jay Freeman (saurik) [Thu, 26 Nov 2015 00:02:12 +0000 (16:02 -0800)] 
Provide an easier way to run the debugger on OS X.

8 years agoFix =>, yield, and throw with respect to newlines.
Jay Freeman (saurik) [Wed, 25 Nov 2015 14:32:27 +0000 (06:32 -0800)] 
Fix =>, yield, and throw with respect to newlines.

8 years agoSupport most of the Unicode stuff in ECMAScript 6.
Jay Freeman (saurik) [Wed, 25 Nov 2015 13:54:12 +0000 (05:54 -0800)] 
Support most of the Unicode stuff in ECMAScript 6.

8 years agoAvoid syntax error on alphabetic @box expressions.
Jay Freeman (saurik) [Wed, 25 Nov 2015 01:34:08 +0000 (17:34 -0800)] 
Avoid syntax error on alphabetic @box expressions.

9 years agoOutput a smaller representation of true and false.
Jay Freeman (saurik) [Tue, 24 Nov 2015 11:08:12 +0000 (03:08 -0800)] 
Output a smaller representation of true and false.

9 years agoBlock lambda functions should output |parameters|.
Jay Freeman (saurik) [Tue, 24 Nov 2015 10:30:07 +0000 (02:30 -0800)] 
Block lambda functions should output |parameters|.

9 years agoDrastically improve pretty printed code structure.
Jay Freeman (saurik) [Tue, 24 Nov 2015 10:21:23 +0000 (02:21 -0800)] 
Drastically improve pretty printed code structure.

9 years agoRegular expressions cannot have alphabetic follow.
Jay Freeman (saurik) [Tue, 24 Nov 2015 08:41:46 +0000 (00:41 -0800)] 
Regular expressions cannot have alphabetic follow.

9 years agoImplement all of the crazy ECMAScript octal stuff.
Jay Freeman (saurik) [Tue, 24 Nov 2015 08:20:06 +0000 (00:20 -0800)] 
Implement all of the crazy ECMAScript octal stuff.

9 years agoSupport implicit return from block_lambda_revival.
Jay Freeman (saurik) [Tue, 24 Nov 2015 00:33:49 +0000 (16:33 -0800)] 
Support implicit return from block_lambda_revival.

9 years agoSimplify Block, Compound, and (new) Parenthetical.
Jay Freeman (saurik) [Mon, 23 Nov 2015 23:56:10 +0000 (15:56 -0800)] 
Simplify Block, Compound, and (new) Parenthetical.