Commit Graph

  • 2d583bb7e3 Fix scope of variables in inlined functions Sei Lisa 2019-01-02 12:34:00 +01:00
  • 42750c56d7 Fix some comments Sei Lisa 2019-01-02 00:38:44 +01:00
  • f243f3a3c1 New copyright year Sei Lisa 2019-01-01 22:44:54 +01:00
  • a4986f21df Add 'inline' directive to forcibly inline function calls Sei Lisa 2019-01-01 22:29:12 +01:00
  • 7bb07ecf38 Refine the places where void expressions are allowed Sei Lisa 2019-01-01 20:03:02 +01:00
  • 660dcff65b Remove the symbol table's parent pointer Sei Lisa 2018-12-29 17:55:07 +01:00
  • 76f483fc11 Add scope field to {} nodes Sei Lisa 2018-12-26 19:47:22 +01:00
  • 3542824d51 Add spaces after commas in vector/rotation constructors Sei Lisa 2018-12-27 23:25:51 +01:00
  • 6f32b4710a Remove handling of corner cases that we decided to not support Sei Lisa 2018-12-26 19:23:24 +01:00
  • b329b2b28e Avoid a possibly unnecessary expansion Sei Lisa 2018-12-24 17:10:36 +01:00
  • c9f73bd429 Extend an optimization to cover some (admittedly rare) cases. Sei Lisa 2018-12-24 17:04:30 +01:00
  • 141301d7ff Reformatting Sei Lisa 2018-12-24 12:41:04 +01:00
  • e123866e6e Apply DeMorgan in some cases that were not caught. Sei Lisa 2018-12-24 11:44:03 +01:00
  • fa547cd9e8 Add blank lines to make the output somewhat prettier Sei Lisa 2018-12-23 17:33:45 +01:00
  • fab3ce4d24 Add note on removal of comments in help text Sei Lisa 2018-12-22 16:02:08 +01:00
  • 0855b8ad1d Add 'listto' to fndata.txt; remove more magic names from the code Sei Lisa 2018-12-22 15:44:14 +01:00
  • a052bf499c Reorganize the checks, and eliminate the fn call check Sei Lisa 2018-11-22 23:31:50 +01:00
  • 0a6155bb13 Apply an associativity rule to strings Sei Lisa 2018-11-19 19:05:41 +01:00
  • e2d01e7825 Extend the 1-element optimization of llDumpList2String to non-SEF first arg Sei Lisa 2018-11-19 18:47:50 +01:00
  • d4bcafa1f7 Add proper detection of functions inside the list Sei Lisa 2018-11-19 14:13:10 +01:00
  • e5c2c4057e Always cast the separator to string when expanding Sei Lisa 2018-11-19 14:07:42 +01:00
  • 1ebd029931 llDumpList2String: Always optimize SEF lists of 1 element Sei Lisa 2018-11-19 02:23:23 +01:00
  • 64c9c1db8b Optimize llDumpList2String for some non-constant cases Sei Lisa 2018-11-17 10:19:43 +01:00
  • 59df033fe0 Remove spaces inside parentheses in fndata.txt Sei Lisa 2018-12-22 10:19:21 +01:00
  • 155a35ff8f Upstream version of builtins.txt; update fndata.txt Sei Lisa 2018-12-08 19:28:37 +01:00
  • b9fe0b6c85 Add TODO item about side-effect analysis of UDFs Sei Lisa 2018-11-19 21:15:52 +01:00
  • 18d19b4653 Fix bug where 1 + (2 + function) was folded as 4 + function Sei Lisa 2018-11-19 20:25:05 +01:00
  • 2740306b6c New upstream version of KWDB Sei Lisa 2018-11-09 19:07:48 +01:00
  • 1207275a1e Make --prenodef work more sensibly, remove caveat Sei Lisa 2018-10-15 21:11:46 +02:00
  • 73599e0b04 More 32-bit negation-related overflow hazards patched. Sei Lisa 2018-07-26 02:31:51 +02:00
  • 960cbfaa09 Fix "Value of unknown type" on bit shift optimization Sei Lisa 2018-07-25 15:59:04 +02:00
  • 21cecc46f8 Add new Animesh functions Sei Lisa 2018-06-26 03:16:05 +02:00
  • 6502a1a0b6 Remove TODO because there was nothing to do after checking. Sei Lisa 2018-06-08 00:14:16 +02:00
  • e88e39127b Save a comparison (fixes a FIXME) Sei Lisa 2018-06-08 00:07:36 +02:00
  • 0808938894 Optimizations based on addition algebra for floats and integers Sei Lisa 2018-06-06 01:03:24 +02:00
  • ac254efb77 Minor details Sei Lisa 2018-06-02 17:28:09 +02:00
  • a33dc8540f Implement ~-~-~-expr -> expr + -3 Sei Lisa 2018-06-02 16:47:07 +02:00
  • 464797020a Remove commented-out print_node function (superseded by nr.__str__) Sei Lisa 2018-05-18 02:00:36 +02:00
  • fa73348dc6 Fix test case that was broken since 2b14acc Sei Lisa 2018-06-07 02:13:26 +02:00
  • 33fc38e42d Fix bug with key variable in list within globals Sei Lisa 2018-05-17 19:05:00 +02:00
  • 89c627b0c0 Remove jumps that just go to the next statement Sei Lisa 2018-05-17 09:46:06 +02:00
  • 285c7172fd Get rid of DoesSomething() in favour of SEF Sei Lisa 2018-05-17 08:12:33 +02:00
  • a93ea0ca19 Delete statements in a {} block when they are SEF Sei Lisa 2018-05-17 06:33:01 +02:00
  • caf50c4e14 Change while (cond) /*empty*/; into do /*empty*/; while (cond); Sei Lisa 2018-05-17 06:19:35 +02:00
  • 8f93386108 Get rid of label checks in some situations no longer supported Sei Lisa 2018-05-17 06:18:20 +02:00
  • 1d7142a698 Add --bom command-line option to prefix the script with a BOM Sei Lisa 2018-05-11 22:37:09 +02:00
  • c3be2bd216 New functions llName2Key() and llRequestUserKey() Sei Lisa 2018-05-09 19:06:25 +02:00
  • c62773ad3f Refine the denormal check for Mono Sei Lisa 2018-05-09 19:04:09 +02:00
  • 091f06cccc Fix threshold value for denormal to be taken as 0 Sei Lisa 2018-04-27 23:44:27 +02:00
  • 1afe1643c0 Allow lists to contain void elements if not optimizing and not lazy Sei Lisa 2018-04-09 18:42:31 +02:00
  • 4a554d60e8 Remove a TODO item that was already done Sei Lisa 2018-04-02 13:42:28 +02:00
  • 6ef4c03994 Remove support for labels as immediate children of IF/ELSE/WHILE/FOR/DO. Sei Lisa 2018-04-01 20:05:35 +02:00
  • 27698a92ef Remove TODO from fndata.txt Sei Lisa 2018-04-01 19:07:53 +02:00
  • 4ebd84f0ed Raise EParseSyntax on wrong minus sign (not followed by int or float) Sei Lisa 2018-03-31 19:31:07 +02:00
  • dc30d461e2 Format some docstrings better; make one more precise about the grammar Sei Lisa 2018-03-31 03:19:26 +02:00
  • 8d0b995f07 Accept library function names as vars in simple_expr in globals Sei Lisa 2018-03-31 03:10:49 +02:00
  • 8289c14c81 Fix bug where types of expressions in vectors/rotations were not checked Sei Lisa 2018-03-31 02:02:36 +02:00
  • 075d3aba0c Change the AST node type from dict to object Sei Lisa 2018-03-28 00:19:08 +02:00
  • d890f0b5fa Comment-at-eol cleanup Sei Lisa 2018-03-27 13:29:04 +02:00
  • f3c87299c2 Move comment to its correct place Sei Lisa 2018-03-23 22:05:05 +01:00
  • 2b14acc8a0 Follow-up fix to 82081b2 (#3) Sei Lisa 2018-03-23 21:57:33 +01:00
  • 877d5fc10c Optimize -a == -b, !(a - b), !(a + b) Sei Lisa 2018-03-23 18:15:28 +01:00
  • d0d6d6744b Bump copyright year Sei Lisa 2018-03-23 16:36:45 +01:00
  • a1f1f13739 Better optimization of (non-)equality comparisons. Sei Lisa 2018-03-23 16:04:18 +01:00
  • b284f95f98 Bump version to 0.2.2beta Sei Lisa 2018-01-18 16:02:38 +01:00
  • d34ae73949 Update link to point to lsl.blacktulip-virtual.com instead of lsl.project.zone Sei Lisa 2018-01-18 15:41:28 +01:00
  • aad4cf3bee Fix the fix for the bug introduced in 097c054 Sei Lisa 2017-12-14 21:19:13 +01:00
  • ed05a2e022 Make PreparePreproc Unicode-aware. Sei Lisa 2017-11-26 14:10:33 +01:00
  • eba4df6903 Add preproc user args before internal args, rather than after them. Sei Lisa 2017-11-26 14:02:04 +01:00
  • e2de571f98 Allow --prenodef to be used anywhere in the command line. Sei Lisa 2017-11-26 13:34:37 +01:00
  • 26c4770bab Remove mcpp_mode. Sei Lisa 2017-11-26 13:33:18 +01:00
  • f492d3e291 Add --prettify option, to reformat a script (losing comments). Sei Lisa 2017-11-19 19:48:35 +01:00
  • e42479756b Fix bug with nested if's; fix missing EXPR wrap. Sei Lisa 2017-11-13 03:50:05 +01:00
  • a4b3c1eadd Handle list+list more sanely. Sei Lisa 2017-11-04 22:49:02 +01:00
  • 0b1ad7c110 Add more results of operating an expression with itself. Sei Lisa 2017-11-03 00:45:11 +01:00
  • 4251d4c7f9 Improve CompareTrees. Sei Lisa 2017-11-03 00:12:10 +01:00
  • 1cdf9f7ff0 Collect used library functions as reusable names for the renamer. Sei Lisa 2017-11-02 23:19:33 +01:00
  • 93828b9286 Move a block. No functionality changes. Sei Lisa 2017-11-02 21:50:55 +01:00
  • 9c66380972 Add some early returns for performance. Sei Lisa 2017-11-02 21:49:29 +01:00
  • a87022b73f Get rid of StSw craziness and use lsllastpass to make another pass. Sei Lisa 2017-11-02 16:39:12 +01:00
  • e4eaab9e84 Move the print_node() subtree dump debug function to lslcommon. Sei Lisa 2017-11-02 16:34:35 +01:00
  • ef6ed30536 Fix EParseCantChangeState so that it is always properly reported. Sei Lisa 2017-11-02 13:31:06 +01:00
  • 097c054494 Optimize 'if' statements better. Sei Lisa 2017-10-30 18:45:56 +01:00
  • ed49170d87 Remove empty SEF events. Sei Lisa 2017-10-30 16:55:00 +01:00
  • e13f210695 Make DoesSomething apply to labels optionally. Sei Lisa 2017-10-29 13:18:35 +01:00
  • f2a6243695 Reuse state names for function parameters; restart UsedNames. Sei Lisa 2017-10-28 22:30:16 +02:00
  • 70f39d7f5e Remove "magic names" where possible, using new data from fndata.txt Sei Lisa 2017-10-27 21:13:07 +02:00
  • b80b157489 Add a space between a minus sign and a negative constant. Sei Lisa 2017-10-27 19:53:38 +02:00
  • 14b13dc4e5 Implement flags aimed at removing "magic names" in the code. Sei Lisa 2017-10-27 18:49:58 +02:00
  • 3bb5102f06 Improve llStringLength detection, to catch more cases. Sei Lisa 2017-10-27 16:07:36 +02:00
  • 4c8227bae5 Set min for llStringLength and llGetListLength to 0. Sei Lisa 2017-10-27 11:25:18 +02:00
  • 1dde2a1fb9 Use lslfuncs.less instead of > >= < <= to ensure proper type handling. Sei Lisa 2017-10-27 11:20:42 +02:00
  • c0176ad738 Fix order change in comparisons when one side is not SEF. Sei Lisa 2017-10-27 11:03:35 +02:00
  • 106bb81543 Refine a comment. Sei Lisa 2017-10-26 01:07:48 +02:00
  • 4ba71993a4 Optimize min/max in comparisons; undo problematic optimization. Sei Lisa 2017-10-25 20:58:46 +02:00
  • 22e057e2ec Move side-effect-free check for functions to a method. Sei Lisa 2017-10-25 19:24:12 +02:00
  • 0bbfb08234 Add some missing but important minimum values. Sei Lisa 2017-10-25 18:36:48 +02:00
  • 2580248c17 Minor reorganization and documentation of a section. Sei Lisa 2017-10-25 18:04:27 +02:00
  • d5f5ab8b88 Add side-effect-free information for events. Sei Lisa 2017-10-25 17:46:50 +02:00
  • 2d823d8eae Fix Unicode in one error message. Sei Lisa 2017-10-25 14:11:34 +02:00