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
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