{"action":"created","issue":{"url":"https://api.github.com/repos/opal/opal/issues/1465","repository_url":"https://api.github.com/repos/opal/opal","labels_url":"https://api.github.com/repos/opal/opal/issues/1465/labels{/name}","comments_url":"https://api.github.com/repos/opal/opal/issues/1465/comments","events_url":"https://api.github.com/repos/opal/opal/issues/1465/events","html_url":"https://github.com/opal/opal/pull/1465","id":152852624,"number":1465,"title":"Replace Opal::Parser/Opal::Lexer/Opal::Sexp with parser/ast gems.","user":{"login":"iliabylich","id":1265492,"avatar_url":"https://avatars.githubusercontent.com/u/1265492?v=3","gravatar_id":"","url":"https://api.github.com/users/iliabylich","html_url":"https://github.com/iliabylich","followers_url":"https://api.github.com/users/iliabylich/followers","following_url":"https://api.github.com/users/iliabylich/following{/other_user}","gists_url":"https://api.github.com/users/iliabylich/gists{/gist_id}","starred_url":"https://api.github.com/users/iliabylich/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iliabylich/subscriptions","organizations_url":"https://api.github.com/users/iliabylich/orgs","repos_url":"https://api.github.com/users/iliabylich/repos","events_url":"https://api.github.com/users/iliabylich/events{/privacy}","received_events_url":"https://api.github.com/users/iliabylich/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/opal/opal/labels/WIP","name":"WIP","color":"888888"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":5,"created_at":"2016-05-03T19:15:28Z","updated_at":"2016-05-04T20:14:47Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/opal/opal/pulls/1465","html_url":"https://github.com/opal/opal/pull/1465","diff_url":"https://github.com/opal/opal/pull/1465.diff","patch_url":"https://github.com/opal/opal/pull/1465.patch"},"body":"For now:\r\n+ I can compile and run corelib locally :smile: `opal -A -e 'p 123'`\r\n+ A lot of edge cases are not covered yet, didn't have a chance to compile and run stdlib yet.\r\n+ Compiler contains some mass assignment stuff that must be resolved before compiling `opal-parser`\r\n+ After this _probably_ we can even run some ruby specs (at least from `/language` dir)\r\n+ There is a serious difference in generated AST between opal/parser parsers. We definitely can remove some nodes after migrating to `parser`\r\n+ Stuff like `.JS.` and `.JS[]` can be easily implemented through spacial calls, it's just a chain of two `:send` nodes.\r\n+ /cc @elia One of the items in #1235 was literally \"to not break source maps\". I've never used sourcemap stuff, so I have no idea how to fix/check it. Could you try it locally/point to the missing place in the source code?\r\n+ @opal/core Patches/code reviews are always welcome\r\n\r\nI'll create a more detailed todo list a little bit later."},"comment":{"url":"https://api.github.com/repos/opal/opal/issues/comments/216987792","html_url":"https://github.com/opal/opal/pull/1465#issuecomment-216987792","issue_url":"https://api.github.com/repos/opal/opal/issues/1465","id":216987792,"user":{"login":"whitequark","id":54771,"avatar_url":"https://avatars.githubusercontent.com/u/54771?v=3","gravatar_id":"","url":"https://api.github.com/users/whitequark","html_url":"https://github.com/whitequark","followers_url":"https://api.github.com/users/whitequark/followers","following_url":"https://api.github.com/users/whitequark/following{/other_user}","gists_url":"https://api.github.com/users/whitequark/gists{/gist_id}","starred_url":"https://api.github.com/users/whitequark/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/whitequark/subscriptions","organizations_url":"https://api.github.com/users/whitequark/orgs","repos_url":"https://api.github.com/users/whitequark/repos","events_url":"https://api.github.com/users/whitequark/events{/privacy}","received_events_url":"https://api.github.com/users/whitequark/received_events","type":"User","site_admin":false},"created_at":"2016-05-04T20:14:47Z","updated_at":"2016-05-04T20:14:47Z","body":"The `module_eval` invocation is only used for nice line numbers in backtraces. I actually don't think it's even necessary in release builds."}}