Commit graph

  • 7fbde0269c Fix indentation typo (cosmetic) Sei Lisa 2019-01-04 19:35:36 +01:00
  • 1946acf3a4 Proper fix for unwanted substitutions in function calls Sei Lisa 2019-01-03 02:31:08 +01:00
  • 454d44e85f Optimize chains of assignments Sei Lisa 2019-01-02 20:41:14 +01:00
  • 5a5635358f Add an assertion where we expect sym['W'] to have a symbol Sei Lisa 2019-01-02 20:40:24 +01:00
  • aca4cc2721 OKtoRemoveSymbol: Return the symbol as specified, instead of True Sei Lisa 2019-01-02 20:37:30 +01:00
  • 8322284faa Rename SymbolReplacedOrDeleted to OKtoRemoveSymbol Sei Lisa 2019-01-02 18:32:58 +01:00
  • ffe55b38c3 Add the capability to show scope info to the output module Sei Lisa 2019-01-02 15:05:21 +01:00
  • ad71303eb0 Fix lack of 'ref' in symbol table entries for labels Sei Lisa 2019-01-02 13:33:58 +01:00
  • 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
  • 6fb51a8b6a Add year 2019 to copyright Sei Lisa 2019-01-02 00:01:03 +01:00
  • 761d7a5f73 Update for version 0.3.0 Sei Lisa 2019-01-02 00:00:48 +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
  • 0d8c8a6e5b More wording changes (suggested by Cindy Renaud) Sei Lisa 2018-05-11 23:16:59 +02:00
  • f9bf9a5870 Minor wording fixes Sei Lisa 2018-05-11 23:14:13 +02:00
  • 02f9e0a157 Fix lslint link, change seftable.txt to fndata.txt with explanation Sei Lisa 2018-05-11 23:11:12 +02:00
  • 558ee6c259 Add chcp 65001 advice Sei Lisa 2018-05-11 22:55:56 +02:00
  • ca2e0a3797 Add documentation about --bom and UTF-8 Sei Lisa 2018-05-11 22:44:14 +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
  • 78e164fa6f Bump copyright year Sei Lisa 2018-03-23 16:15:46 +01:00
  • a1f1f13739 Better optimization of (non-)equality comparisons. Sei Lisa 2018-03-23 16:04:18 +01:00
  • fd7446ce00 Update with the latest additions. Sei Lisa 2018-01-18 16:41:40 +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