{"action":"created","comment":{"url":"https://api.github.com/repos/ethereum/solidity/pulls/comments/72432432","id":72432432,"diff_hunk":"@@ -1,48 +1,96 @@\n-ContractDefinition = ( 'contract' | 'library' ) Identifier\n+ContractDefinition = ('import' Imports ';')*\n+                     ( 'contract' | 'library' ) Identifier\n                      ( 'is' InheritanceSpecifier (',' InheritanceSpecifier )* )?\n                      '{' ContractPart* '}'\n-ContractPart = StateVariableDeclaration | StructDefinition | ModifierDefinition | FunctionDefinition | EnumDefinition\n+\n+Imports = StringLiteral ('as' Identifier)?\n+        | ('*' | Identifier) ('as' Identifier)? 'from' StringLiteral\n+        | '{' Identifier ('as' Identifier)? ( ',' Identifier ('as' Identifier)? )* '}' 'from' StringLiteral\n+\n+ContractPart = StateVariableDecOrDef | UsingDeclaration\n+             | StructDefinition | ModifierDefinition | FunctionDefinition | EventDefinition | EnumDefinition\n \n InheritanceSpecifier = Identifier ( '(' Expression ( ',' Expression )* ')' )?\n+\n+StateVariableDecOrDef = TypeName ( 'public' | 'internal' | 'private' )? Identifier ('=' Expression)? ';'\n+UsingDeclaration = 'using' Identifier 'for' TypeName ';'\n StructDefinition = 'struct' Identifier '{'\n-                     ( VariableDeclaration (';' VariableDeclaration)* )? '}\n-StateVariableDeclaration = TypeName ( 'public' | 'inheritable' | 'private' )? Identifier ';'\n+                     ( VariableDeclaration ';' (VariableDeclaration ';')* )? '}'\n ModifierDefinition = 'modifier' Identifier ParameterList? Block\n FunctionDefinition = 'function' Identifier ParameterList\n-\t\t\t\t\t ( Identifier | 'constant' | 'external' | 'public' | 'inheritable' | 'private' )*\n-                     ( 'returns' ParameterList )? Block\n+                     ( FunctionCall | Identifier | 'constant' | 'external' | 'public' | 'internal' | 'private' )*\n+                     ( 'returns' (ParameterList | TypeParameterList) )? Block\n+EventDefinition = 'event' Identifier (ParameterList | TypeParameterList | IndexedTypeParameterList) 'anonymous'? ';'\n \n EnumValue = Identifier\n-EnumDefinition = 'enum' '{' EnumValue (',' EnumValue)* '}'\n+EnumDefinition = 'enum' Identifier '{' EnumValue? (',' EnumValue)* '}'\n+\n+IndexedTypeParameterList = '(' ( TypeName 'indexed'? Identifier? (',' TypeName 'indexed'? Identifier?)* )? ')'\n+TypeParameterList = '(' ( TypeName (',' TypeName)* )? ')'\n ParameterList = '(' ( VariableDeclaration (',' VariableDeclaration)* )? ')'\n // semantic restriction: mappings and structs (recursively) containing mappings\n // are not allowed in argument lists\n-VariableDeclaration = TypeName Identifier\n-TypeName = ElementaryTypeName | Identifier | Mapping | ArrayTypeName\n+VariableDeclaration = TypeName Identifier | 'var' assignment\n+TypeName = ElementaryTypeName | Identifier StorageLocation? | Mapping | ArrayTypeName\n Mapping = 'mapping' '(' ElementaryTypeName '=>' TypeName ')'\n-ArrayTypeName = TypeName '[' (Expression)? ']'\n+ArrayTypeName = TypeName StorageLocation? '[' Expression? ']'\n+StorageLocation = 'memory' | 'storage'\n \n Block = '{' Statement* '}'\n-Statement = IfStatement | WhileStatement | Block |\n-\t\t\t( Continue | Break | Return | VariableDefinition | ExpressionStatement ) ';'\n+Statement = IfStatement | WhileStatement | ForStatement | Block | PlaceholderStatement |\n+            ( Continue | Break | Return | Throw | VardefOrExprStmt | ExpressionStatement ) ';'\n \n-ExpressionStatement = Expression\n+ExpressionStatement = Expression | VariableDefinition | Assignment | 'delete' Expression\n IfStatement = 'if' '(' Expression ')' Statement ( 'else' Statement )?\n WhileStatement = 'while' '(' Expression ')' Statement\n-VardefOrExprStmt = Variabledefinition | ExpressionStatement\n+PlaceholderStatement = '_'\n+VardefOrExprStmt = VariableDefinition | ExpressionStatement","path":"libsolidity/grammar.txt","position":61,"original_position":61,"commit_id":"e584a8396a3293641d3b9eb0019ceee11cebf892","original_commit_id":"e584a8396a3293641d3b9eb0019ceee11cebf892","user":{"login":"chriseth","id":9073706,"avatar_url":"https://avatars.githubusercontent.com/u/9073706?v=3","gravatar_id":"","url":"https://api.github.com/users/chriseth","html_url":"https://github.com/chriseth","followers_url":"https://api.github.com/users/chriseth/followers","following_url":"https://api.github.com/users/chriseth/following{/other_user}","gists_url":"https://api.github.com/users/chriseth/gists{/gist_id}","starred_url":"https://api.github.com/users/chriseth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/chriseth/subscriptions","organizations_url":"https://api.github.com/users/chriseth/orgs","repos_url":"https://api.github.com/users/chriseth/repos","events_url":"https://api.github.com/users/chriseth/events{/privacy}","received_events_url":"https://api.github.com/users/chriseth/received_events","type":"User","site_admin":false},"body":"This is called `SimpleStatement` in the parser.","created_at":"2016-07-27T12:49:02Z","updated_at":"2016-07-27T12:49:02Z","html_url":"https://github.com/ethereum/solidity/pull/722#discussion_r72432432","pull_request_url":"https://api.github.com/repos/ethereum/solidity/pulls/722","_links":{"self":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/comments/72432432"},"html":{"href":"https://github.com/ethereum/solidity/pull/722#discussion_r72432432"},"pull_request":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/722"}}},"pull_request":{"url":"https://api.github.com/repos/ethereum/solidity/pulls/722","id":77532894,"html_url":"https://github.com/ethereum/solidity/pull/722","diff_url":"https://github.com/ethereum/solidity/pull/722.diff","patch_url":"https://github.com/ethereum/solidity/pull/722.patch","issue_url":"https://api.github.com/repos/ethereum/solidity/issues/722","number":722,"state":"open","locked":false,"title":"Fixes to grammar.txt [WIP]","user":{"login":"NicolaiSoeborg","id":8722223,"avatar_url":"https://avatars.githubusercontent.com/u/8722223?v=3","gravatar_id":"","url":"https://api.github.com/users/NicolaiSoeborg","html_url":"https://github.com/NicolaiSoeborg","followers_url":"https://api.github.com/users/NicolaiSoeborg/followers","following_url":"https://api.github.com/users/NicolaiSoeborg/following{/other_user}","gists_url":"https://api.github.com/users/NicolaiSoeborg/gists{/gist_id}","starred_url":"https://api.github.com/users/NicolaiSoeborg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NicolaiSoeborg/subscriptions","organizations_url":"https://api.github.com/users/NicolaiSoeborg/orgs","repos_url":"https://api.github.com/users/NicolaiSoeborg/repos","events_url":"https://api.github.com/users/NicolaiSoeborg/events{/privacy}","received_events_url":"https://api.github.com/users/NicolaiSoeborg/received_events","type":"User","site_admin":false},"body":"Fixes and missing rules in `grammar.txt`.","created_at":"2016-07-14T21:56:00Z","updated_at":"2016-07-27T12:49:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3c7c6bc3d7f90c49e5a7ca5feaf9379f548f6fc6","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/ethereum/solidity/pulls/722/commits","review_comments_url":"https://api.github.com/repos/ethereum/solidity/pulls/722/comments","review_comment_url":"https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}","comments_url":"https://api.github.com/repos/ethereum/solidity/issues/722/comments","statuses_url":"https://api.github.com/repos/ethereum/solidity/statuses/e584a8396a3293641d3b9eb0019ceee11cebf892","head":{"label":"NicolaiSoeborg:develop","ref":"develop","sha":"e584a8396a3293641d3b9eb0019ceee11cebf892","user":{"login":"NicolaiSoeborg","id":8722223,"avatar_url":"https://avatars.githubusercontent.com/u/8722223?v=3","gravatar_id":"","url":"https://api.github.com/users/NicolaiSoeborg","html_url":"https://github.com/NicolaiSoeborg","followers_url":"https://api.github.com/users/NicolaiSoeborg/followers","following_url":"https://api.github.com/users/NicolaiSoeborg/following{/other_user}","gists_url":"https://api.github.com/users/NicolaiSoeborg/gists{/gist_id}","starred_url":"https://api.github.com/users/NicolaiSoeborg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NicolaiSoeborg/subscriptions","organizations_url":"https://api.github.com/users/NicolaiSoeborg/orgs","repos_url":"https://api.github.com/users/NicolaiSoeborg/repos","events_url":"https://api.github.com/users/NicolaiSoeborg/events{/privacy}","received_events_url":"https://api.github.com/users/NicolaiSoeborg/received_events","type":"User","site_admin":false},"repo":{"id":63369067,"name":"solidity","full_name":"NicolaiSoeborg/solidity","owner":{"login":"NicolaiSoeborg","id":8722223,"avatar_url":"https://avatars.githubusercontent.com/u/8722223?v=3","gravatar_id":"","url":"https://api.github.com/users/NicolaiSoeborg","html_url":"https://github.com/NicolaiSoeborg","followers_url":"https://api.github.com/users/NicolaiSoeborg/followers","following_url":"https://api.github.com/users/NicolaiSoeborg/following{/other_user}","gists_url":"https://api.github.com/users/NicolaiSoeborg/gists{/gist_id}","starred_url":"https://api.github.com/users/NicolaiSoeborg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/NicolaiSoeborg/subscriptions","organizations_url":"https://api.github.com/users/NicolaiSoeborg/orgs","repos_url":"https://api.github.com/users/NicolaiSoeborg/repos","events_url":"https://api.github.com/users/NicolaiSoeborg/events{/privacy}","received_events_url":"https://api.github.com/users/NicolaiSoeborg/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/NicolaiSoeborg/solidity","description":"The Solidity Contract-Oriented Programming Language","fork":true,"url":"https://api.github.com/repos/NicolaiSoeborg/solidity","forks_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/forks","keys_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/teams","hooks_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/hooks","issue_events_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/issues/events{/number}","events_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/events","assignees_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/assignees{/user}","branches_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/branches{/branch}","tags_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/tags","blobs_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/git/refs{/sha}","trees_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/statuses/{sha}","languages_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/languages","stargazers_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/stargazers","contributors_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/contributors","subscribers_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/subscribers","subscription_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/subscription","commits_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/commits{/sha}","git_commits_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/git/commits{/sha}","comments_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/comments{/number}","issue_comment_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/issues/comments{/number}","contents_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/contents/{+path}","compare_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/merges","archive_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/downloads","issues_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/issues{/number}","pulls_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/pulls{/number}","milestones_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/milestones{/number}","notifications_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/labels{/name}","releases_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/releases{/id}","deployments_url":"https://api.github.com/repos/NicolaiSoeborg/solidity/deployments","created_at":"2016-07-14T20:54:37Z","updated_at":"2016-07-14T20:54:38Z","pushed_at":"2016-07-26T13:44:42Z","git_url":"git://github.com/NicolaiSoeborg/solidity.git","ssh_url":"git@github.com:NicolaiSoeborg/solidity.git","clone_url":"https://github.com/NicolaiSoeborg/solidity.git","svn_url":"https://github.com/NicolaiSoeborg/solidity","homepage":"","size":8169,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"develop"}},"base":{"label":"ethereum:develop","ref":"develop","sha":"efad1e05ac97c9460846778af566a7ec7f37d207","user":{"login":"ethereum","id":6250754,"avatar_url":"https://avatars.githubusercontent.com/u/6250754?v=3","gravatar_id":"","url":"https://api.github.com/users/ethereum","html_url":"https://github.com/ethereum","followers_url":"https://api.github.com/users/ethereum/followers","following_url":"https://api.github.com/users/ethereum/following{/other_user}","gists_url":"https://api.github.com/users/ethereum/gists{/gist_id}","starred_url":"https://api.github.com/users/ethereum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ethereum/subscriptions","organizations_url":"https://api.github.com/users/ethereum/orgs","repos_url":"https://api.github.com/users/ethereum/repos","events_url":"https://api.github.com/users/ethereum/events{/privacy}","received_events_url":"https://api.github.com/users/ethereum/received_events","type":"Organization","site_admin":false},"repo":{"id":40892817,"name":"solidity","full_name":"ethereum/solidity","owner":{"login":"ethereum","id":6250754,"avatar_url":"https://avatars.githubusercontent.com/u/6250754?v=3","gravatar_id":"","url":"https://api.github.com/users/ethereum","html_url":"https://github.com/ethereum","followers_url":"https://api.github.com/users/ethereum/followers","following_url":"https://api.github.com/users/ethereum/following{/other_user}","gists_url":"https://api.github.com/users/ethereum/gists{/gist_id}","starred_url":"https://api.github.com/users/ethereum/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ethereum/subscriptions","organizations_url":"https://api.github.com/users/ethereum/orgs","repos_url":"https://api.github.com/users/ethereum/repos","events_url":"https://api.github.com/users/ethereum/events{/privacy}","received_events_url":"https://api.github.com/users/ethereum/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/ethereum/solidity","description":"The Solidity Contract-Oriented Programming Language","fork":false,"url":"https://api.github.com/repos/ethereum/solidity","forks_url":"https://api.github.com/repos/ethereum/solidity/forks","keys_url":"https://api.github.com/repos/ethereum/solidity/keys{/key_id}","collaborators_url":"https://api.github.com/repos/ethereum/solidity/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/ethereum/solidity/teams","hooks_url":"https://api.github.com/repos/ethereum/solidity/hooks","issue_events_url":"https://api.github.com/repos/ethereum/solidity/issues/events{/number}","events_url":"https://api.github.com/repos/ethereum/solidity/events","assignees_url":"https://api.github.com/repos/ethereum/solidity/assignees{/user}","branches_url":"https://api.github.com/repos/ethereum/solidity/branches{/branch}","tags_url":"https://api.github.com/repos/ethereum/solidity/tags","blobs_url":"https://api.github.com/repos/ethereum/solidity/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/ethereum/solidity/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/ethereum/solidity/git/refs{/sha}","trees_url":"https://api.github.com/repos/ethereum/solidity/git/trees{/sha}","statuses_url":"https://api.github.com/repos/ethereum/solidity/statuses/{sha}","languages_url":"https://api.github.com/repos/ethereum/solidity/languages","stargazers_url":"https://api.github.com/repos/ethereum/solidity/stargazers","contributors_url":"https://api.github.com/repos/ethereum/solidity/contributors","subscribers_url":"https://api.github.com/repos/ethereum/solidity/subscribers","subscription_url":"https://api.github.com/repos/ethereum/solidity/subscription","commits_url":"https://api.github.com/repos/ethereum/solidity/commits{/sha}","git_commits_url":"https://api.github.com/repos/ethereum/solidity/git/commits{/sha}","comments_url":"https://api.github.com/repos/ethereum/solidity/comments{/number}","issue_comment_url":"https://api.github.com/repos/ethereum/solidity/issues/comments{/number}","contents_url":"https://api.github.com/repos/ethereum/solidity/contents/{+path}","compare_url":"https://api.github.com/repos/ethereum/solidity/compare/{base}...{head}","merges_url":"https://api.github.com/repos/ethereum/solidity/merges","archive_url":"https://api.github.com/repos/ethereum/solidity/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/ethereum/solidity/downloads","issues_url":"https://api.github.com/repos/ethereum/solidity/issues{/number}","pulls_url":"https://api.github.com/repos/ethereum/solidity/pulls{/number}","milestones_url":"https://api.github.com/repos/ethereum/solidity/milestones{/number}","notifications_url":"https://api.github.com/repos/ethereum/solidity/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/ethereum/solidity/labels{/name}","releases_url":"https://api.github.com/repos/ethereum/solidity/releases{/id}","deployments_url":"https://api.github.com/repos/ethereum/solidity/deployments","created_at":"2015-08-17T12:27:26Z","updated_at":"2016-07-26T04:07:16Z","pushed_at":"2016-07-27T10:15:50Z","git_url":"git://github.com/ethereum/solidity.git","ssh_url":"git@github.com:ethereum/solidity.git","clone_url":"https://github.com/ethereum/solidity.git","svn_url":"https://github.com/ethereum/solidity","homepage":"","size":11098,"stargazers_count":313,"watchers_count":313,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":154,"mirror_url":null,"open_issues_count":160,"forks":154,"open_issues":160,"watchers":313,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/722"},"html":{"href":"https://github.com/ethereum/solidity/pull/722"},"issue":{"href":"https://api.github.com/repos/ethereum/solidity/issues/722"},"comments":{"href":"https://api.github.com/repos/ethereum/solidity/issues/722/comments"},"review_comments":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/722/comments"},"review_comment":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/ethereum/solidity/pulls/722/commits"},"statuses":{"href":"https://api.github.com/repos/ethereum/solidity/statuses/e584a8396a3293641d3b9eb0019ceee11cebf892"}}}}
{"actor":{"display_login":"chriseth"}}