Commit Graph

  • f8ae3aac8d doc/README: fix markdown syntax for publication master mappu 2020-06-10 19:10:01 +1200
  • f7d9556b34 doc: update README status mappu 2020-06-10 19:07:08 +1200
  • 3ed24028f4 node: support php predefined constants mappu 2020-04-16 19:13:23 +1200
  • 9b88dee9ef node: implement func_get_contents mappu 2020-04-16 18:56:11 +1200
  • ac093a05a3 node: add a common arityErr{} mappu 2020-04-16 18:55:47 +1200
  • c29a4894ce node: simplify some substr->slice expressions mappu 2020-04-16 18:55:27 +1200
  • 23e06f517c node: implement var_dump, var_export, print_r, max, min, floor, substr, rename mappu 2020-04-16 18:38:38 +1200
  • a839ceaf30 node: add heuristic for breaking array/map literals onto multiple lines mappu 2020-04-16 18:38:21 +1200
  • fd59ff9bb4 node: better handling for unquoting heredoc fragments mappu 2020-04-16 18:38:05 +1200
  • fe654d70cc node: fix whitespace in generated comments mappu 2020-04-16 18:37:27 +1200
  • ae04fa73ef hoist: new hoisting context inside closures and loops; don't hoist loop vars mappu 2020-04-16 18:37:16 +1200
  • a9dfd3d6b9 hoist: add experimental support for postincrement too mappu 2020-04-16 18:36:59 +1200
  • fc0008a208 gotype: support function types mappu 2020-04-16 18:36:34 +1200
  • 3f8377d9fe add hoisting pass for preincrement rvalue expressions mappu 2020-04-15 19:55:31 +1200
  • abc031683e cleanup dead imports mappu 2020-04-15 19:14:45 +1200
  • 02cbd3997a doc: support transformations on AltFor/Foreach/Switch/While mappu 2020-04-15 19:14:06 +1200
  • 4d333fc297 doc: update status in README mappu 2020-04-15 19:08:24 +1200
  • e95a5a1162 node: prototype of regularising the parse emission context mappu 2020-04-15 19:08:18 +1200
  • 979049ae42 node: implement float literals mappu 2020-04-15 19:06:28 +1200
  • 9253058a73 node: add bailout cases for eval() and extract() mappu 2020-04-15 19:06:09 +1200
  • 2fdd3a919c move miniwalker to parseutil package mappu 2020-04-15 19:05:55 +1200
  • 739db2c444 move MutatingWalker to new subpackage, exhaustively implement all cases mappu 2020-04-12 14:42:01 +1200
  • 78bd54ad13 node: implement switch, break, continue (basic) mappu 2020-04-12 14:41:23 +1200
  • cbcfb46de7 node: fix node.Identifier appearing outside of resolveName() calls mappu 2020-04-12 14:41:08 +1200
  • 8af07570cd node: implement UnaryPlus/UnaryMinus mappu 2020-04-12 14:40:57 +1200
  • 3c76a68843 node: convert comments to /* */ format, to fix non-statement contexts mappu 2020-04-12 14:40:46 +1200
  • df0061041f node: implement heredocs + string interpolation mappu 2020-04-12 14:40:19 +1200
  • 5ba0185bcb node: use multiline quoting logic consistently in all places mappu 2020-04-12 14:39:38 +1200
  • 4ed8bfd72d doc: update README status mappu 2020-04-11 13:34:31 +1200
  • f6362c4ebf node: implement sprintf, trim, rtrim, ltrim, strtolower, strtoupper, file_put_contents, str_replace mappu 2020-04-11 13:11:39 +1200
  • 1188a769ce node: fix panic in explode/implode parameter reordering mappu 2020-04-11 13:11:07 +1200
  • b2ef112f50 node: implement shorthand assignment operators, callable rvalues mappu 2020-04-11 12:51:09 +1200
  • 86266ae676 gotype: initial commit of Go type abstraction mappu 2020-04-11 12:49:08 +1200
  • 71a4efbbda node: elide some more parens in assignment expressions mappu 2020-04-11 12:47:37 +1200
  • 5105293ce6 node: basic support for *expr.Closure mappu 2020-04-11 12:46:28 +1200
  • 6b8d4d879a node: handle trailing commas in array literals mappu 2020-04-11 12:45:26 +1200
  • 48f3014429 node: add more diagnostics for mixed array/map literals mappu 2020-04-11 12:45:05 +1200
  • d3d3d34116 node: emit static ::class as class name string literal mappu 2020-04-11 12:44:37 +1200
  • 3fba39b562 doc: update current README status mappu 2020-04-10 20:10:09 +1200
  • 7461bfe187 node: convert use of strlen/cound/sizeof/explode/implode mappu 2020-04-10 20:08:40 +1200
  • 92abcfe5b9 node: implement *expr.Ternary (a hoisting pass would be better) mappu 2020-04-10 20:08:15 +1200
  • ce3cd1065d node: implement *expr.BooleanNot mappu 2020-04-10 20:07:57 +1200
  • 199654f552 node: make sure transferred comments do not comment out legitimate source lines(!) mappu 2020-04-10 20:07:45 +1200
  • 475ddeb13c create an exhaustive switch interface for node.Node mappu 2020-04-10 18:23:42 +1200
  • df2fc21324 implement walkMutate(*node); completely transform AltIf->If mappu 2020-04-10 17:37:59 +1200
  • 6d9aa8b022 add normalisation pass (WIP) mappu 2020-04-10 17:20:54 +1200
  • 94fe16f681 miniwalker: add interface assertion (noop) mappu 2020-04-10 16:20:47 +1200
  • 8986937340 node/error: handle the case where no position is available for inner node mappu 2020-04-10 16:20:38 +1200
  • 75b13e0842 test: add if/else fixture including AltIf mappu 2020-04-10 11:23:47 +1200
  • f1b7f301cc stmt/if: collapse `else if` from else(if( into elseif( mappu 2020-04-10 11:23:37 +1200
  • 72b8da5e4a stmt/if: fix generated else on newline causing parse error mappu 2020-04-10 11:23:08 +1200
  • e82a4bb1c4 doc: update README status mappu 2020-04-09 19:55:03 +1200
  • f86631880b doc: update README status mappu 2020-04-09 19:40:36 +1200
  • 91e39e7e2f node: elide some extra parentheses for commutative binary ops (plus/concat) mappu 2020-04-09 19:40:18 +1200
  • 314d65a459 node: support magic __FILE__, __LINE__ etc constants mappu 2020-04-09 19:39:23 +1200
  • 0dfabadcf2 node: remove outdated FIXME comment mappu 2020-04-09 19:39:06 +1200
  • e3295e1368 test: add fixture for global scalars mappu 2020-04-08 20:34:00 +1200
  • 4f86ec11e7 node: transform null->nil; normalise case for true/false mappu 2020-04-08 20:33:53 +1200
  • fc41691e4a node: rename ret variable mappu 2020-04-08 20:33:37 +1200
  • 2a9d079216 doc: update current README status mappu 2020-04-08 20:26:08 +1200
  • c580f8a8e1 node: remove unlikely check for rvalue super() calls mappu 2020-04-08 20:24:59 +1200
  • 750bfd9bb2 node: support define() mappu 2020-04-08 20:24:44 +1200
  • 142e26bbfe node: support const and class const mappu 2020-04-08 20:24:36 +1200
  • 9b5b72392f test: add (failing) test for different types of const define mappu 2020-04-08 20:02:45 +1200
  • 885d100fbf node: implement stmt.ConstList mappu 2020-04-08 20:02:30 +1200
  • 51ca4ecd77 node: fix issue with lvalue err ordering mappu 2020-04-08 19:58:56 +1200
  • 760d1ddbbd node: elide parentheses in some cases mappu 2020-04-08 19:58:35 +1200
  • 334db21fd6 node: support die() mappu 2020-04-08 19:58:09 +1200
  • daf5000404 node: support namespace, support tracking package imports mappu 2020-04-08 19:57:59 +1200
  • 48c58898ab doc: update README status mappu 2020-04-07 23:26:58 +1200
  • c52acb7249 node/try-catch: group err vars; simplify names; treat Exception as base case mappu 2020-04-07 23:26:44 +1200
  • e9aa553216 stmt: propagate err checks to top-level function calls and assignment calls mappu 2020-04-07 23:25:43 +1200
  • 52ccea5d65 node: initial try/catch support, track the error handler (WIP) mappu 2020-04-07 22:52:42 +1200
  • 0d7024dbee node: remove `throw ""` -> `errors.New("")` transform, as PHP cannot throw scalars mappu 2020-04-07 22:52:12 +1200
  • d6cd0e8191 node: parse and requote php single-quoted strings mappu 2020-04-07 22:51:31 +1200
  • 70021d7e6d doc: update extra README status mappu 2020-04-07 21:53:15 +1200
  • 642711b09f node: add some TODO markers mappu 2020-04-07 21:53:07 +1200
  • 19d7cc469a node: support interfaces mappu 2020-04-07 21:53:00 +1200
  • 8752e8349c test: disable (XFAIL) the interface-assertion test case mappu 2020-04-07 21:52:19 +1200
  • d1874b288e node: cleanup imports mappu 2020-04-07 18:52:40 +1200
  • 315174c79a node: bail out upon assignment inside if-expression mappu 2020-04-07 18:52:30 +1200
  • 49241e7a8c node: preserve comments mappu 2020-04-07 18:27:20 +1200
  • 2568412a50 stmt: add failing test for assignment expressions (need hoisting) mappu 2020-04-05 19:41:21 +1200
  • 628e4c1781 stmt/if: implement if/elif/else mappu 2020-04-05 19:41:02 +1200
  • 8533e72047 doc: update progress in README mappu 2020-04-05 19:26:49 +1200
  • c6f70b1e66 stmt/class: support `self::` calling our renamed static methods mappu 2020-04-05 19:26:36 +1200
  • 564be76bef stmt/class: elide extra scope when calling parent ctor mappu 2020-04-05 19:12:42 +1200
  • 28937fc384 stmt/class: support super() calls mappu 2020-04-05 19:11:05 +1200
  • 45b694434d stmt: track conversion state in a struct mappu 2020-04-05 18:45:14 +1200
  • 2a00699b2f doc: update progress in README mappu 2020-04-05 18:24:31 +1200
  • 5344bbe078 stmt/class: support extends (single inheritance) by struct embedding mappu 2020-04-05 18:24:14 +1200
  • 67932cd296 stmt/class: support static calls mappu 2020-04-05 18:23:52 +1200
  • 6b40079884 stmt: remove extra newlines in output mappu 2020-04-05 18:23:28 +1200
  • cdfa7df4fa stmt: support static methods mappu 2020-04-05 18:05:32 +1200
  • cdeea4c09c stmt/html: switch to backtick-delimited string for large multiline cases mappu 2020-04-05 17:46:25 +1200
  • 68b554a6ec stmt: initial array support mappu 2020-04-05 17:39:22 +1200
  • 3743866d9f test: ensure fixtures are processed in order mappu 2020-04-05 17:11:20 +1200
  • 1224a5906a node: support leaving php context mappu 2020-04-05 17:11:11 +1200
  • d3f238cf01 binary: implement all remaining binary operators mappu 2020-04-05 17:05:37 +1200
  • 8f921436ed stmt: group node* definitions together mappu 2020-04-05 17:05:22 +1200