{"action":"created","comment":{"url":"https://api.github.com/repos/micropython/micropython/pulls/comments/58954172","id":58954172,"diff_hunk":"@@ -239,15 +253,27 @@ DEF_RULE(term_op, nc, or(4), tok(OP_STAR), tok(OP_SLASH), tok(OP_PERCENT), tok(O\n DEF_RULE(factor, nc, or(2), rule(factor_2), rule(power))\n DEF_RULE(factor_2, c(factor_2), and(2), rule(factor_op), rule(factor))\n DEF_RULE(factor_op, nc, or(3), tok(OP_PLUS), tok(OP_MINUS), tok(OP_TILDE))\n+#if MICROPY_ASYNC_SYNTAX\n+DEF_RULE(power, c(power), and(2), rule(await_or_atom_expr), opt_rule(power_dbl_star))\n+DEF_RULE(await_or_atom_expr, nc, or(2), rule(await_expr), rule(atom_expr))\n+DEF_RULE(await_expr, c(await_expr), and(3), tok(KW_AWAIT), rule(atom), opt_rule(atom_expr_trailers))\n+DEF_RULE(atom_expr, c(atom_expr), and(2), rule(atom), opt_rule(atom_expr_trailers))","path":"py/grammar.h","position":67,"original_position":67,"commit_id":"3f98c662afe3ac7b98bb0303c135c7d9c8ccc376","original_commit_id":"3f98c662afe3ac7b98bb0303c135c7d9c8ccc376","user":{"login":"dpgeorge","id":6187689,"avatar_url":"https://avatars.githubusercontent.com/u/6187689?v=3","gravatar_id":"","url":"https://api.github.com/users/dpgeorge","html_url":"https://github.com/dpgeorge","followers_url":"https://api.github.com/users/dpgeorge/followers","following_url":"https://api.github.com/users/dpgeorge/following{/other_user}","gists_url":"https://api.github.com/users/dpgeorge/gists{/gist_id}","starred_url":"https://api.github.com/users/dpgeorge/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/dpgeorge/subscriptions","organizations_url":"https://api.github.com/users/dpgeorge/orgs","repos_url":"https://api.github.com/users/dpgeorge/repos","events_url":"https://api.github.com/users/dpgeorge/events{/privacy}","received_events_url":"https://api.github.com/users/dpgeorge/received_events","type":"User","site_admin":false},"body":"Maybe \"atom_expr_normal\".","created_at":"2016-04-07T22:12:37Z","updated_at":"2016-04-07T22:12:37Z","html_url":"https://github.com/micropython/micropython/pull/1800#discussion_r58954172","pull_request_url":"https://api.github.com/repos/micropython/micropython/pulls/1800","_links":{"self":{"href":"https://api.github.com/repos/micropython/micropython/pulls/comments/58954172"},"html":{"href":"https://github.com/micropython/micropython/pull/1800#discussion_r58954172"},"pull_request":{"href":"https://api.github.com/repos/micropython/micropython/pulls/1800"}}},"pull_request":{"url":"https://api.github.com/repos/micropython/micropython/pulls/1800","id":57418908,"html_url":"https://github.com/micropython/micropython/pull/1800","diff_url":"https://github.com/micropython/micropython/pull/1800.diff","patch_url":"https://github.com/micropython/micropython/pull/1800.patch","issue_url":"https://api.github.com/repos/micropython/micropython/issues/1800","number":1800,"state":"open","locked":false,"title":"py: add async/await/async for/async with syntax","user":{"login":"pohmelie","id":2385765,"avatar_url":"https://avatars.githubusercontent.com/u/2385765?v=3","gravatar_id":"","url":"https://api.github.com/users/pohmelie","html_url":"https://github.com/pohmelie","followers_url":"https://api.github.com/users/pohmelie/followers","following_url":"https://api.github.com/users/pohmelie/following{/other_user}","gists_url":"https://api.github.com/users/pohmelie/gists{/gist_id}","starred_url":"https://api.github.com/users/pohmelie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pohmelie/subscriptions","organizations_url":"https://api.github.com/users/pohmelie/orgs","repos_url":"https://api.github.com/users/pohmelie/repos","events_url":"https://api.github.com/users/pohmelie/events{/privacy}","received_events_url":"https://api.github.com/users/pohmelie/received_events","type":"User","site_admin":false},"body":"They are sugar for marking function as generator, \"yield from\"\r\nand pep492 python \"semantically equivalents\" respectively.\r\n\r\n#### Code size\r\n##### unix before:\r\n```\r\nLINK micropython\r\n   text    data     bss     dec     hex filename\r\n 353064    1544    2176  356784   571b0 micropython\r\n```\r\nmicropython file size = 359472 bytes\r\n##### unix after:\r\n```\r\nLINK micropython\r\ntext    data     bss     dec     hex filename\r\n356192    1544    2176  359912   57de8 micropython\r\n```\r\nmicropython file size = 363568 bytes\r\n##### stmhal before:\r\n```\r\nLINK build-PYBV10/firmware.elf\r\n   text    data     bss     dec     hex filename\r\n 284132     336   28500  312968   4c688 build-PYBV10/firmware.elf\r\n```\r\nfirmware.elf file size = 565025 bytes\r\n##### stmhal after:\r\n```\r\nLINK build-PYBV10/firmware.elf\r\n   text    data     bss     dec     hex filename\r\n 285732     336   28500  314568   4ccc8 build-PYBV10/firmware.elf\r\n```\r\nfirmware.elf file size = 565561 byte","created_at":"2016-01-27T20:37:53Z","updated_at":"2016-04-07T22:12:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"0332116a0a5f4ac238708e5524dcb94f620c83e0","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/micropython/micropython/pulls/1800/commits","review_comments_url":"https://api.github.com/repos/micropython/micropython/pulls/1800/comments","review_comment_url":"https://api.github.com/repos/micropython/micropython/pulls/comments{/number}","comments_url":"https://api.github.com/repos/micropython/micropython/issues/1800/comments","statuses_url":"https://api.github.com/repos/micropython/micropython/statuses/3f98c662afe3ac7b98bb0303c135c7d9c8ccc376","head":{"label":"pohmelie:add-async-await-syntax","ref":"add-async-await-syntax","sha":"3f98c662afe3ac7b98bb0303c135c7d9c8ccc376","user":{"login":"pohmelie","id":2385765,"avatar_url":"https://avatars.githubusercontent.com/u/2385765?v=3","gravatar_id":"","url":"https://api.github.com/users/pohmelie","html_url":"https://github.com/pohmelie","followers_url":"https://api.github.com/users/pohmelie/followers","following_url":"https://api.github.com/users/pohmelie/following{/other_user}","gists_url":"https://api.github.com/users/pohmelie/gists{/gist_id}","starred_url":"https://api.github.com/users/pohmelie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pohmelie/subscriptions","organizations_url":"https://api.github.com/users/pohmelie/orgs","repos_url":"https://api.github.com/users/pohmelie/repos","events_url":"https://api.github.com/users/pohmelie/events{/privacy}","received_events_url":"https://api.github.com/users/pohmelie/received_events","type":"User","site_admin":false},"repo":{"id":48999643,"name":"micropython","full_name":"pohmelie/micropython","owner":{"login":"pohmelie","id":2385765,"avatar_url":"https://avatars.githubusercontent.com/u/2385765?v=3","gravatar_id":"","url":"https://api.github.com/users/pohmelie","html_url":"https://github.com/pohmelie","followers_url":"https://api.github.com/users/pohmelie/followers","following_url":"https://api.github.com/users/pohmelie/following{/other_user}","gists_url":"https://api.github.com/users/pohmelie/gists{/gist_id}","starred_url":"https://api.github.com/users/pohmelie/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pohmelie/subscriptions","organizations_url":"https://api.github.com/users/pohmelie/orgs","repos_url":"https://api.github.com/users/pohmelie/repos","events_url":"https://api.github.com/users/pohmelie/events{/privacy}","received_events_url":"https://api.github.com/users/pohmelie/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/pohmelie/micropython","description":"MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems","fork":true,"url":"https://api.github.com/repos/pohmelie/micropython","forks_url":"https://api.github.com/repos/pohmelie/micropython/forks","keys_url":"https://api.github.com/repos/pohmelie/micropython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/pohmelie/micropython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/pohmelie/micropython/teams","hooks_url":"https://api.github.com/repos/pohmelie/micropython/hooks","issue_events_url":"https://api.github.com/repos/pohmelie/micropython/issues/events{/number}","events_url":"https://api.github.com/repos/pohmelie/micropython/events","assignees_url":"https://api.github.com/repos/pohmelie/micropython/assignees{/user}","branches_url":"https://api.github.com/repos/pohmelie/micropython/branches{/branch}","tags_url":"https://api.github.com/repos/pohmelie/micropython/tags","blobs_url":"https://api.github.com/repos/pohmelie/micropython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/pohmelie/micropython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/pohmelie/micropython/git/refs{/sha}","trees_url":"https://api.github.com/repos/pohmelie/micropython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/pohmelie/micropython/statuses/{sha}","languages_url":"https://api.github.com/repos/pohmelie/micropython/languages","stargazers_url":"https://api.github.com/repos/pohmelie/micropython/stargazers","contributors_url":"https://api.github.com/repos/pohmelie/micropython/contributors","subscribers_url":"https://api.github.com/repos/pohmelie/micropython/subscribers","subscription_url":"https://api.github.com/repos/pohmelie/micropython/subscription","commits_url":"https://api.github.com/repos/pohmelie/micropython/commits{/sha}","git_commits_url":"https://api.github.com/repos/pohmelie/micropython/git/commits{/sha}","comments_url":"https://api.github.com/repos/pohmelie/micropython/comments{/number}","issue_comment_url":"https://api.github.com/repos/pohmelie/micropython/issues/comments{/number}","contents_url":"https://api.github.com/repos/pohmelie/micropython/contents/{+path}","compare_url":"https://api.github.com/repos/pohmelie/micropython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/pohmelie/micropython/merges","archive_url":"https://api.github.com/repos/pohmelie/micropython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/pohmelie/micropython/downloads","issues_url":"https://api.github.com/repos/pohmelie/micropython/issues{/number}","pulls_url":"https://api.github.com/repos/pohmelie/micropython/pulls{/number}","milestones_url":"https://api.github.com/repos/pohmelie/micropython/milestones{/number}","notifications_url":"https://api.github.com/repos/pohmelie/micropython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/pohmelie/micropython/labels{/name}","releases_url":"https://api.github.com/repos/pohmelie/micropython/releases{/id}","deployments_url":"https://api.github.com/repos/pohmelie/micropython/deployments","created_at":"2016-01-04T13:47:49Z","updated_at":"2016-01-29T09:09:42Z","pushed_at":"2016-04-03T20:15:41Z","git_url":"git://github.com/pohmelie/micropython.git","ssh_url":"git@github.com:pohmelie/micropython.git","clone_url":"https://github.com/pohmelie/micropython.git","svn_url":"https://github.com/pohmelie/micropython","homepage":"","size":24944,"stargazers_count":0,"watchers_count":0,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"info"}},"base":{"label":"micropython:master","ref":"master","sha":"b8945517723efaafa63df9ce52bb9d3fa3fceda5","user":{"login":"micropython","id":6298560,"avatar_url":"https://avatars.githubusercontent.com/u/6298560?v=3","gravatar_id":"","url":"https://api.github.com/users/micropython","html_url":"https://github.com/micropython","followers_url":"https://api.github.com/users/micropython/followers","following_url":"https://api.github.com/users/micropython/following{/other_user}","gists_url":"https://api.github.com/users/micropython/gists{/gist_id}","starred_url":"https://api.github.com/users/micropython/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/micropython/subscriptions","organizations_url":"https://api.github.com/users/micropython/orgs","repos_url":"https://api.github.com/users/micropython/repos","events_url":"https://api.github.com/users/micropython/events{/privacy}","received_events_url":"https://api.github.com/users/micropython/received_events","type":"Organization","site_admin":false},"repo":{"id":15337142,"name":"micropython","full_name":"micropython/micropython","owner":{"login":"micropython","id":6298560,"avatar_url":"https://avatars.githubusercontent.com/u/6298560?v=3","gravatar_id":"","url":"https://api.github.com/users/micropython","html_url":"https://github.com/micropython","followers_url":"https://api.github.com/users/micropython/followers","following_url":"https://api.github.com/users/micropython/following{/other_user}","gists_url":"https://api.github.com/users/micropython/gists{/gist_id}","starred_url":"https://api.github.com/users/micropython/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/micropython/subscriptions","organizations_url":"https://api.github.com/users/micropython/orgs","repos_url":"https://api.github.com/users/micropython/repos","events_url":"https://api.github.com/users/micropython/events{/privacy}","received_events_url":"https://api.github.com/users/micropython/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/micropython/micropython","description":"MicroPython - a lean and efficient Python implementation for microcontrollers and constrained systems","fork":false,"url":"https://api.github.com/repos/micropython/micropython","forks_url":"https://api.github.com/repos/micropython/micropython/forks","keys_url":"https://api.github.com/repos/micropython/micropython/keys{/key_id}","collaborators_url":"https://api.github.com/repos/micropython/micropython/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/micropython/micropython/teams","hooks_url":"https://api.github.com/repos/micropython/micropython/hooks","issue_events_url":"https://api.github.com/repos/micropython/micropython/issues/events{/number}","events_url":"https://api.github.com/repos/micropython/micropython/events","assignees_url":"https://api.github.com/repos/micropython/micropython/assignees{/user}","branches_url":"https://api.github.com/repos/micropython/micropython/branches{/branch}","tags_url":"https://api.github.com/repos/micropython/micropython/tags","blobs_url":"https://api.github.com/repos/micropython/micropython/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/micropython/micropython/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/micropython/micropython/git/refs{/sha}","trees_url":"https://api.github.com/repos/micropython/micropython/git/trees{/sha}","statuses_url":"https://api.github.com/repos/micropython/micropython/statuses/{sha}","languages_url":"https://api.github.com/repos/micropython/micropython/languages","stargazers_url":"https://api.github.com/repos/micropython/micropython/stargazers","contributors_url":"https://api.github.com/repos/micropython/micropython/contributors","subscribers_url":"https://api.github.com/repos/micropython/micropython/subscribers","subscription_url":"https://api.github.com/repos/micropython/micropython/subscription","commits_url":"https://api.github.com/repos/micropython/micropython/commits{/sha}","git_commits_url":"https://api.github.com/repos/micropython/micropython/git/commits{/sha}","comments_url":"https://api.github.com/repos/micropython/micropython/comments{/number}","issue_comment_url":"https://api.github.com/repos/micropython/micropython/issues/comments{/number}","contents_url":"https://api.github.com/repos/micropython/micropython/contents/{+path}","compare_url":"https://api.github.com/repos/micropython/micropython/compare/{base}...{head}","merges_url":"https://api.github.com/repos/micropython/micropython/merges","archive_url":"https://api.github.com/repos/micropython/micropython/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/micropython/micropython/downloads","issues_url":"https://api.github.com/repos/micropython/micropython/issues{/number}","pulls_url":"https://api.github.com/repos/micropython/micropython/pulls{/number}","milestones_url":"https://api.github.com/repos/micropython/micropython/milestones{/number}","notifications_url":"https://api.github.com/repos/micropython/micropython/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/micropython/micropython/labels{/name}","releases_url":"https://api.github.com/repos/micropython/micropython/releases{/id}","deployments_url":"https://api.github.com/repos/micropython/micropython/deployments","created_at":"2013-12-20T11:47:07Z","updated_at":"2016-04-07T19:53:39Z","pushed_at":"2016-04-07T22:02:51Z","git_url":"git://github.com/micropython/micropython.git","ssh_url":"git@github.com:micropython/micropython.git","clone_url":"https://github.com/micropython/micropython.git","svn_url":"https://github.com/micropython/micropython","homepage":"","size":55820,"stargazers_count":2924,"watchers_count":2924,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":588,"mirror_url":null,"open_issues_count":252,"forks":588,"open_issues":252,"watchers":2924,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/micropython/micropython/pulls/1800"},"html":{"href":"https://github.com/micropython/micropython/pull/1800"},"issue":{"href":"https://api.github.com/repos/micropython/micropython/issues/1800"},"comments":{"href":"https://api.github.com/repos/micropython/micropython/issues/1800/comments"},"review_comments":{"href":"https://api.github.com/repos/micropython/micropython/pulls/1800/comments"},"review_comment":{"href":"https://api.github.com/repos/micropython/micropython/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/micropython/micropython/pulls/1800/commits"},"statuses":{"href":"https://api.github.com/repos/micropython/micropython/statuses/3f98c662afe3ac7b98bb0303c135c7d9c8ccc376"}}}}