Commit Graph

  • f5d150f7c9 Fix typo in IsBool and add coverage test. Report and fix by Code Violet. Sei Lisa 2015-06-17 02:51:46 +02:00
  • 52ebe20a67 Refine a comment Sei Lisa 2015-06-17 02:31:58 +02:00
  • e35431cecf Forgot to truncate llSqrt to F32. Sei Lisa 2015-06-16 04:41:36 +02:00
  • bfabcd16db Fix parser bug where list = anytype was accepted. Fix also the test suite. Sei Lisa 2015-06-16 04:16:59 +02:00
  • cdc3a63179 Fix problem due to not copying a node. It still needs more analysis, but this patch is an improvement in that it fixes known problematic cases and doesn't seem to introduce new ones. Sei Lisa 2015-06-14 05:11:32 +02:00
  • aaa8d3b7f4 Fix crash when a global was optimized out and another global depended on it. Sei Lisa 2015-06-14 03:36:54 +02:00
  • e1d0753fec When a state is removed, remove its global declaration too. Sei Lisa 2015-06-13 02:19:15 +02:00
  • 8ca88013a8 Minor fixes (remove deprecated .message, delete a variable at the right point, delete another variable) Sei Lisa 2015-06-04 22:57:13 +02:00
  • d8629f9200 Update behaviour of llListFindList for LSO. Sei Lisa 2015-05-24 04:22:31 +02:00
  • aad73fb71d Added command line option to display the preprocessor output. Sei Lisa 2015-05-06 02:45:37 +02:00
  • 7d0ee20058 Option -p needs an argument. Sei Lisa 2015-05-05 22:50:28 +02:00
  • faf296fa74 Fix bug with scripts that have UTF-8 characters. Sei Lisa 2015-05-03 05:19:14 +02:00
  • 621b29b0cc New upstream version of builtins.txt Sei Lisa 2015-05-02 23:07:28 +02:00
  • dc2ab29a5c Update URL. Sei Lisa 2015-04-29 00:49:34 +02:00
  • 4302ea846d Don't fall through after optimizing a negable comparison, as it's folded already and the variables were incorrectly set and broke our invariants. Sei Lisa 2015-04-21 06:09:57 +02:00
  • d58bc2d350 Implement library function parameter optimization. Sei Lisa 2015-04-21 04:56:09 +02:00
  • 595286f22a New keywords. Sei Lisa 2015-04-21 04:26:18 +02:00
  • 17bf0b7a1e Fix recently introduced bug: function renaming failed. Sei Lisa 2015-04-17 03:37:24 +02:00
  • 1c16355187 Small wording change. Sei Lisa 2015-04-15 22:52:49 +02:00
  • be86216124 Do -(b + -c) -> -b+c. Also when a-b is transformed to a+-b, fold -b. Sei Lisa 2015-03-29 06:09:26 +02:00
  • a859b3e8e4 Loop over (0, 1) instead of duplicating the code. Sei Lisa 2015-03-29 05:43:38 +02:00
  • a19d49d193 Implement optimization of a>=const -> a>const-1 and similar, and fix cases where | -> & or a<0 -> a&0x80000000 is counter-productive. Sei Lisa 2015-03-29 03:47:54 +02:00
  • 274b563390 No need to simplify !!! to ! as FoldCond already takes care of that. Sei Lisa 2015-03-29 01:27:08 +01:00
  • 9aae475125 Implement bool(x < 0) -> bool(x & 0x80000000) w/ function domain check. Sei Lisa 2015-03-29 00:16:17 +01:00
  • 2cb9ad6fe5 Implement a first version of IsBool and use it to optimize && -> & Sei Lisa 2015-03-28 23:49:10 +01:00
  • 08f48a5c32 Make program flow more consistent, add TODO, refine another TODO. Sei Lisa 2015-03-28 23:47:45 +01:00
  • 01d8bba3f4 Don't always output a space after the unary minus, only when necessary. Sei Lisa 2015-03-28 23:35:08 +01:00
  • 4fbbda60a7 Elaborate on the TODO. Sei Lisa 2015-03-28 23:34:07 +01:00
  • b8a7e88f1a Add TODO item Sei Lisa 2015-03-28 23:31:11 +01:00
  • c154d5eb0d Deal with a number of issues in some expressions. Sei Lisa 2015-03-28 20:23:47 +01:00
  • de33c2df01 Simplify operands of bitwise OR expressions as booleans. Deals with a TODO in a more general way. Sei Lisa 2015-03-28 20:16:06 +01:00
  • 6813bb0458 Make the second pass of FoldScript look a bit more logic. Sei Lisa 2015-03-28 20:14:17 +01:00
  • 2a617b34d0 Fix bug where a<<1 was not immediately optimized, and other minor changes. Sei Lisa 2015-03-28 14:43:11 +01:00
  • edbc240408 Remove 'Local' from symbol table; add note about an unimplemented feature; improve symbol table documentation; rename a helper variable. Sei Lisa 2015-03-27 02:12:32 +01:00
  • 921955f321 Implement function overriding syntax extension, fixing a bug on the way. Sei Lisa 2015-03-27 00:26:56 +01:00
  • 3839863a21 EInternal is no longer reused. Sei Lisa 2015-03-26 23:26:36 +01:00
  • e21173170e Simplify the builtins.txt parser REs by checking the types in the code. Sei Lisa 2015-03-26 23:08:54 +01:00
  • 29d003b108 Add a comment about C backslash-return behaviour. Sei Lisa 2015-03-24 21:56:35 +01:00
  • 47eee0312b Revamp and fixes of REs for pre-preprocessing. Sei Lisa 2015-03-20 17:45:38 +01:00
  • cd1826e9e0 Bump version. Sei Lisa 2015-03-19 04:31:47 +01:00
  • df8a8b4e9e Revamp command line options to add mcpp mode with defaults. Sei Lisa 2015-03-19 04:11:29 +01:00
  • 226f382c4f Switch the predefined macros to variadic, to allow commas. Sei Lisa 2015-03-17 19:41:36 +01:00
  • aea101a823 Add --precmd, bump version, report 'version N' instead of 'vN' on --version Sei Lisa 2015-03-15 20:28:53 +01:00
  • f93e6d65a4 Deal with encoding issues, and simplify subprocess poll loop. Sei Lisa 2015-03-15 20:01:41 +01:00
  • c8bec32242 Add a comment to prevent mistakes. Sei Lisa 2015-03-15 19:49:52 +01:00
  • 56f40a9c76 Ensure the script is Unicode before parsing. Sei Lisa 2015-03-15 19:19:57 +01:00
  • 31b7048fc9 Remove debug info left by mistake. Sei Lisa 2015-03-15 19:19:10 +01:00
  • 3c962ef32b Add external preprocessor invocation. Sei Lisa 2015-03-15 06:18:55 +01:00
  • b8f73bb5e1 Don't open the script in binary mode, open it in text mode. Sei Lisa 2015-03-15 02:18:01 +01:00
  • 9e0ed0521b Reorganize main to use getopt. Implement -o for output file and -O help. Sei Lisa 2015-03-14 23:17:15 +01:00
  • 5b105e5772 Some enhancements to README.md Sei Lisa 2015-03-14 11:33:43 +01:00
  • aa0d84e01b Another link fix *sigh* Sei Lisa 2015-03-14 04:11:11 +01:00
  • a462b6b41d Fix link. Sei Lisa 2015-03-14 04:10:11 +01:00
  • a947b63730 README.md: Move documentation to seis.shop.tm Sei Lisa 2015-03-14 03:53:44 +01:00
  • 9bd66dd6fa Optimize out function calls to SEF functions with non-SEF arguments. Sei Lisa 2015-03-13 23:48:24 +01:00
  • df31a69465 In functions that end in 'return;', remove the 'return;'. Sei Lisa 2015-03-13 23:46:23 +01:00
  • 9cb02839bc Remove extra code. Sei Lisa 2015-03-13 23:45:56 +01:00
  • f6b472133a Optimize [elem] -> (list)elem on output. Saves us headaches. Sei Lisa 2015-03-13 22:42:00 +01:00
  • 2948399bf8 Revert 3b7e461d82, as it introduced bugs. Sei Lisa 2015-03-13 22:13:00 +01:00
  • f7556e7a66 Remove globals from symbol table when no longer necessary. Sei Lisa 2015-03-13 20:11:57 +01:00
  • 5ca8e3db3f Expand README.md with optimization explanations and an intro to the features. Sei Lisa 2015-03-13 19:01:13 +01:00
  • 2e2975ef95 Fix unit tests. Sei Lisa 2015-03-13 16:56:32 +01:00
  • fc7abc7d99 Fix bug broken by 562154e7aa. Sei Lisa 2015-03-13 16:49:31 +01:00
  • 3d965f13e0 Fix bug with the scope of function calls. Sei Lisa 2015-03-13 16:20:54 +01:00
  • 890e960b57 Implement Lazy List reading. Update docs according to last changes (in FS too). Sei Lisa 2015-03-13 06:38:35 +01:00
  • 535dc8434c Allow a code block instead of a ':' as terminator for 'case' and 'default'. Sei Lisa 2015-03-13 05:16:22 +01:00
  • 39b6036671 Remove 'Scope' from functions in symbol table. Function scope is always 0. Sei Lisa 2015-03-13 05:12:09 +01:00
  • 4f8d2979aa Fix typo in EParseFunctionMismatch. Sei Lisa 2015-03-13 03:28:51 +01:00
  • 4065fa95bb FS's optimizer now sucks a bit less thanks to the author's contributions. Sei Lisa 2015-03-11 06:10:41 +01:00
  • 63e3021a6d Comment tweaking. Sei Lisa 2015-03-09 13:20:37 +01:00
  • 9c926b6fec Fix obsolete comment. Sei Lisa 2015-03-09 01:07:55 +01:00
  • 6a0eebf157 Implement a couple subtleties of the lexer in the handling of strings. Sei Lisa 2015-03-08 16:53:58 +01:00
  • defa9fde97 Typo in help Sei Lisa 2015-03-07 22:55:25 +01:00
  • 1e8b77bf50 Rather than generating random identifiers for locals, prefix them with 'loc_'. Sei Lisa 2015-03-07 14:51:51 +01:00
  • a292846d28 Fix missing scope table index when generating the call to lazy_list_set. Sei Lisa 2015-03-07 14:50:25 +01:00
  • 562154e7aa Remove the symbol table entry too when removing a global state/function/var. Sei Lisa 2015-03-07 14:33:11 +01:00
  • b112494311 Support for other IDEs Sei Lisa 2015-03-07 13:52:44 +01:00
  • 2b56d06e60 Comment on lack of location info of warnings. Sei Lisa 2015-03-07 13:41:20 +01:00
  • 59cdd64228 Warn about float constants that can't be represented in globals. Also don't duplicate the globals warnings. Sei Lisa 2015-03-06 23:26:58 +01:00
  • c1d837674c Forgot to exclude globals from this optimization somehow. Sei Lisa 2015-03-06 22:55:28 +01:00
  • 7c35cf64df Mention OS X command to pipe to clipboard. Sei Lisa 2015-03-06 20:35:05 +01:00
  • a9179f2779 Read the data files from the same path where the script resides. Sei Lisa 2015-03-06 20:29:54 +01:00
  • ac9f0c30a5 More tweaks to README.md Sei Lisa 2015-03-06 20:26:44 +01:00
  • 109d2b4324 README.md tweaks++ Sei Lisa 2015-03-06 19:03:03 +01:00
  • e9d8af6e11 llGetKey example replaced with llGetOwner. Sei Lisa 2015-03-06 03:44:21 +01:00
  • 9e9997bc98 More README.md tweaks Sei Lisa 2015-03-06 03:42:11 +01:00
  • 7cedd7e157 Improvements to README.md Sei Lisa 2015-03-06 03:22:06 +01:00
  • a304cf989c Add README.md Sei Lisa 2015-03-06 02:58:29 +01:00
  • 50c2787ef4 Reorder the help lines to make better sense. Sei Lisa 2015-03-06 02:56:58 +01:00
  • ed17d3330d Updated builtins.txt and builtins.txt.dat Sei Lisa 2015-03-05 23:37:22 +01:00
  • c68a1f4ad6 Add copyright notices to all files, to prepare the program for release. Sei Lisa 2015-03-05 23:18:41 +01:00
  • d164b0fa44 Tweak the main help text. Sei Lisa 2015-03-05 20:45:38 +01:00
  • 33de6c0efc Comment typo, brackets->braces. Sei Lisa 2015-03-05 20:18:13 +01:00
  • 308ca7c8ff Add support for 'break n;' and 'continue n;'. Also simplify the break/continue stacks handling code and fix some bugs. Sei Lisa 2015-03-05 20:12:32 +01:00
  • d4035b0723 Add incompatibility note on JSON. Sei Lisa 2015-03-05 18:48:28 +01:00
  • e5cb37dfe4 For now, enable the RE Sei Lisa 2015-03-05 14:42:02 +01:00
  • f730843762 More TODO tweaking. Sei Lisa 2015-03-05 06:20:11 +01:00
  • 7fb345b222 'case' needed to be in the list of 4-char words to avoid. Also tweak a comment. Sei Lisa 2015-03-05 06:18:53 +01:00
  • cbcf60767a Implement break/continue and switch(). Sei Lisa 2015-03-05 01:37:32 +01:00
  • a36715f121 Add reference source, comments. Sei Lisa 2015-03-04 02:01:03 +01:00