{"action":"created","comment":{"url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/comments/49695511","id":49695511,"diff_hunk":"@@ -0,0 +1,544 @@\n+grammar Lizard;\n+\n+// module rules\n+start_rule:\n+      module EOF\n+    ;\n+\n+module:\n+\t  import_list class_decl\n+\t| import_list interface_decl\n+\t;\n+\n+import_list:\n+      ('import' fully_qualified_name ';')*\n+    ;\n+\n+fully_qualified_name:\n+      (package_name '.')+ class_identifier\n+    ;\n+\n+visibility:\n+      'public'\n+    | 'protected'\n+    ;\n+\n+abstract_keyword:\n+      'abstract'\n+    ;\n+\n+final_keyword:\n+      'final'\n+    ;\n+\n+class_qualifier:\n+      visibility abstract_keyword? final_keyword?\n+    ;\n+\n+class_decl:\n+\t  class_qualifier 'class' class_name generics_list? ('inherits' class_name generics_list?)?\n+\t        ('implements' class_name generics_list?)?'{' class_member_list '}'\n+\t;\n+\n+generics_list:\n+      '<' generic_arg (',' generic_arg)* '>'\n+    ;\n+\n+generic_arg:\n+      class_name\n+    | '?' ( ( 'inherits' | 'super' ) class_name )?\n+    ;\n+\n+interface_decl:\n+      class_qualifier 'interface' class_name generics_list? ('inherits' class_name generics_list?)? '{'\n+            interface_member_list '}'\n+    ;\n+\n+class_member_list:\n+\t  ( field_decl\n+\t  | enum_def\n+\t  | method_def\n+\t  | method_prototype\n+\t  | const_decl\n+\t  | invariant )*\n+\t;\n+\n+interface_member_list:\n+      ( method_prototype\n+      | const_decl )*\n+    ;\n+\n+// rules inside a class\n+\n+static_keyword:\n+      'static'\n+    ;\n+\n+inline:\n+      'inline'\n+    ;\n+\n+init:\n+      'init'\n+    ;\n+\n+override:\n+      'override'\n+    ;\n+\n+free:\n+      'free'\n+    ;\n+\n+extern:\n+      'extern'\n+    ;\n+\n+method_decl_qualifier:\n+      visibility static_keyword? ( abstract_keyword | extern ) inline? init?\n+    ;\n+\n+method_prototype:\n+      method_decl_qualifier generics_list? ( type | 'void') method_identifier\n+      \t\t\t( '(' formal_param_list ')' )? ';'\n+    ;\n+\n+nullable:\n+      'nullable'\n+    ;\n+\n+field_qualifier:\n+      visibility final_keyword?\n+    ;\n+\n+field_decl:\n+      field_qualifier var_decl\n+    ;\n+\n+enum_qualifier:\n+      visibility\n+    ;\n+\n+enum_def:\n+      enum_qualifier 'enum' class_name '{'\n+        const_name (',' const_name)* '}'\n+    ;\n+\n+const_qualifier:\n+      visibility static_keyword? final_keyword\n+    ;\n+\n+const_decl:\n+      const_qualifier const_init\n+    ;\n+\n+const_init:\n+      type const_name '=' expr ';'\n+    ;\n+\n+local_qualifier:\n+      nullable?\n+    ;\n+\n+local_decl:\n+      local_qualifier var_decl\n+    | local_qualifier var_init\n+    ;\n+\n+var_decl:\n+      type var_name (',' var_name)* ';'\n+    ;\n+\n+var_init:\n+      type var_name '=' expr ';'\n+    ;\n+\n+formal_param_list:\n+      type var_name (',' type var_name)*\n+    ;\n+\n+method_qualifier:\n+      visibility static_keyword? inline? final_keyword? ( init | free )? override?\n+    ;\n+\n+method_def:\n+      method_qualifier generics_list? ( type | 'void') method_identifier\n+\t\t\t( '(' formal_param_list ')' )? stmt_list postcondition?\n+\n+\t| method_qualifier generics_list? ( type | 'void') method_identifier\n+\t        ( '(' formal_param_list ')' )?\n+\t        precondition stmt_list postcondition?\n+    ;\n+\n+precondition:\n+      '==>' clause*\n+    ;\n+\n+postcondition:\n+      '<==' clause*\n+    ;\n+\n+invariant:\n+      'invariant' clause*\n+    ;\n+\n+loop_contracts:\n+      loop_invariant? loop_variant?\n+    ;\n+\n+loop_invariant:\n+      '===' expr+","path":"grammar/Lizard.g4","position":197,"original_position":190,"commit_id":"a56b76d663c8048c9a2671e35d5eab4c32794022","original_commit_id":"a28be070269f3b9a9fc3ac25d6305b1dcb153f91","user":{"login":"F1rst-Unicorn","id":10399648,"avatar_url":"https://avatars.githubusercontent.com/u/10399648?v=3","gravatar_id":"","url":"https://api.github.com/users/F1rst-Unicorn","html_url":"https://github.com/F1rst-Unicorn","followers_url":"https://api.github.com/users/F1rst-Unicorn/followers","following_url":"https://api.github.com/users/F1rst-Unicorn/following{/other_user}","gists_url":"https://api.github.com/users/F1rst-Unicorn/gists{/gist_id}","starred_url":"https://api.github.com/users/F1rst-Unicorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/F1rst-Unicorn/subscriptions","organizations_url":"https://api.github.com/users/F1rst-Unicorn/orgs","repos_url":"https://api.github.com/users/F1rst-Unicorn/repos","events_url":"https://api.github.com/users/F1rst-Unicorn/events{/privacy}","received_events_url":"https://api.github.com/users/F1rst-Unicorn/received_events","type":"User","site_admin":false},"body":"I thought no, because they have less documentation purpose but more correctness. But we can add it","created_at":"2016-01-14T07:43:37Z","updated_at":"2016-01-14T07:43:37Z","html_url":"https://github.com/lizard-project/lizard-language/pull/23#discussion_r49695511","pull_request_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23","_links":{"self":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/comments/49695511"},"html":{"href":"https://github.com/lizard-project/lizard-language/pull/23#discussion_r49695511"},"pull_request":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23"}}},"pull_request":{"url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23","id":55078018,"html_url":"https://github.com/lizard-project/lizard-language/pull/23","diff_url":"https://github.com/lizard-project/lizard-language/pull/23.diff","patch_url":"https://github.com/lizard-project/lizard-language/pull/23.patch","issue_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/23","number":23,"state":"open","locked":false,"title":"Grammar","user":{"login":"F1rst-Unicorn","id":10399648,"avatar_url":"https://avatars.githubusercontent.com/u/10399648?v=3","gravatar_id":"","url":"https://api.github.com/users/F1rst-Unicorn","html_url":"https://github.com/F1rst-Unicorn","followers_url":"https://api.github.com/users/F1rst-Unicorn/followers","following_url":"https://api.github.com/users/F1rst-Unicorn/following{/other_user}","gists_url":"https://api.github.com/users/F1rst-Unicorn/gists{/gist_id}","starred_url":"https://api.github.com/users/F1rst-Unicorn/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/F1rst-Unicorn/subscriptions","organizations_url":"https://api.github.com/users/F1rst-Unicorn/orgs","repos_url":"https://api.github.com/users/F1rst-Unicorn/repos","events_url":"https://api.github.com/users/F1rst-Unicorn/events{/privacy}","received_events_url":"https://api.github.com/users/F1rst-Unicorn/received_events","type":"User","site_admin":false},"body":"Completed first version of the ANTLR grammar\r\nAdded several test programs to review look and feel of the language\r\nAdded parse script to easily test the sample programs\r\nNOT ENFORCING INDENTATION","created_at":"2016-01-05T10:54:34Z","updated_at":"2016-01-14T07:43:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d0e8132cd5dc32ee6f9d0cf981e183926496034e","assignee":{"login":"ntruessel","id":12136827,"avatar_url":"https://avatars.githubusercontent.com/u/12136827?v=3","gravatar_id":"","url":"https://api.github.com/users/ntruessel","html_url":"https://github.com/ntruessel","followers_url":"https://api.github.com/users/ntruessel/followers","following_url":"https://api.github.com/users/ntruessel/following{/other_user}","gists_url":"https://api.github.com/users/ntruessel/gists{/gist_id}","starred_url":"https://api.github.com/users/ntruessel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ntruessel/subscriptions","organizations_url":"https://api.github.com/users/ntruessel/orgs","repos_url":"https://api.github.com/users/ntruessel/repos","events_url":"https://api.github.com/users/ntruessel/events{/privacy}","received_events_url":"https://api.github.com/users/ntruessel/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/lizard-project/lizard-language/milestones/1","html_url":"https://github.com/lizard-project/lizard-language/milestones/First%20Grammar","labels_url":"https://api.github.com/repos/lizard-project/lizard-language/milestones/1/labels","id":1468543,"number":1,"title":"First Grammar","description":"","creator":{"login":"ntruessel","id":12136827,"avatar_url":"https://avatars.githubusercontent.com/u/12136827?v=3","gravatar_id":"","url":"https://api.github.com/users/ntruessel","html_url":"https://github.com/ntruessel","followers_url":"https://api.github.com/users/ntruessel/followers","following_url":"https://api.github.com/users/ntruessel/following{/other_user}","gists_url":"https://api.github.com/users/ntruessel/gists{/gist_id}","starred_url":"https://api.github.com/users/ntruessel/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ntruessel/subscriptions","organizations_url":"https://api.github.com/users/ntruessel/orgs","repos_url":"https://api.github.com/users/ntruessel/repos","events_url":"https://api.github.com/users/ntruessel/events{/privacy}","received_events_url":"https://api.github.com/users/ntruessel/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":2,"state":"open","created_at":"2015-12-20T19:04:27Z","updated_at":"2016-01-05T10:55:01Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23/commits","review_comments_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23/comments","review_comment_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls/comments{/number}","comments_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/23/comments","statuses_url":"https://api.github.com/repos/lizard-project/lizard-language/statuses/a56b76d663c8048c9a2671e35d5eab4c32794022","head":{"label":"lizard-project:grammar","ref":"grammar","sha":"a56b76d663c8048c9a2671e35d5eab4c32794022","user":{"login":"lizard-project","id":16334794,"avatar_url":"https://avatars.githubusercontent.com/u/16334794?v=3","gravatar_id":"","url":"https://api.github.com/users/lizard-project","html_url":"https://github.com/lizard-project","followers_url":"https://api.github.com/users/lizard-project/followers","following_url":"https://api.github.com/users/lizard-project/following{/other_user}","gists_url":"https://api.github.com/users/lizard-project/gists{/gist_id}","starred_url":"https://api.github.com/users/lizard-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lizard-project/subscriptions","organizations_url":"https://api.github.com/users/lizard-project/orgs","repos_url":"https://api.github.com/users/lizard-project/repos","events_url":"https://api.github.com/users/lizard-project/events{/privacy}","received_events_url":"https://api.github.com/users/lizard-project/received_events","type":"Organization","site_admin":false},"repo":{"id":48166852,"name":"lizard-language","full_name":"lizard-project/lizard-language","owner":{"login":"lizard-project","id":16334794,"avatar_url":"https://avatars.githubusercontent.com/u/16334794?v=3","gravatar_id":"","url":"https://api.github.com/users/lizard-project","html_url":"https://github.com/lizard-project","followers_url":"https://api.github.com/users/lizard-project/followers","following_url":"https://api.github.com/users/lizard-project/following{/other_user}","gists_url":"https://api.github.com/users/lizard-project/gists{/gist_id}","starred_url":"https://api.github.com/users/lizard-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lizard-project/subscriptions","organizations_url":"https://api.github.com/users/lizard-project/orgs","repos_url":"https://api.github.com/users/lizard-project/repos","events_url":"https://api.github.com/users/lizard-project/events{/privacy}","received_events_url":"https://api.github.com/users/lizard-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lizard-project/lizard-language","description":"The Lizard Programming Language","fork":false,"url":"https://api.github.com/repos/lizard-project/lizard-language","forks_url":"https://api.github.com/repos/lizard-project/lizard-language/forks","keys_url":"https://api.github.com/repos/lizard-project/lizard-language/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lizard-project/lizard-language/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lizard-project/lizard-language/teams","hooks_url":"https://api.github.com/repos/lizard-project/lizard-language/hooks","issue_events_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/events{/number}","events_url":"https://api.github.com/repos/lizard-project/lizard-language/events","assignees_url":"https://api.github.com/repos/lizard-project/lizard-language/assignees{/user}","branches_url":"https://api.github.com/repos/lizard-project/lizard-language/branches{/branch}","tags_url":"https://api.github.com/repos/lizard-project/lizard-language/tags","blobs_url":"https://api.github.com/repos/lizard-project/lizard-language/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lizard-project/lizard-language/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lizard-project/lizard-language/git/refs{/sha}","trees_url":"https://api.github.com/repos/lizard-project/lizard-language/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lizard-project/lizard-language/statuses/{sha}","languages_url":"https://api.github.com/repos/lizard-project/lizard-language/languages","stargazers_url":"https://api.github.com/repos/lizard-project/lizard-language/stargazers","contributors_url":"https://api.github.com/repos/lizard-project/lizard-language/contributors","subscribers_url":"https://api.github.com/repos/lizard-project/lizard-language/subscribers","subscription_url":"https://api.github.com/repos/lizard-project/lizard-language/subscription","commits_url":"https://api.github.com/repos/lizard-project/lizard-language/commits{/sha}","git_commits_url":"https://api.github.com/repos/lizard-project/lizard-language/git/commits{/sha}","comments_url":"https://api.github.com/repos/lizard-project/lizard-language/comments{/number}","issue_comment_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/comments{/number}","contents_url":"https://api.github.com/repos/lizard-project/lizard-language/contents/{+path}","compare_url":"https://api.github.com/repos/lizard-project/lizard-language/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lizard-project/lizard-language/merges","archive_url":"https://api.github.com/repos/lizard-project/lizard-language/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lizard-project/lizard-language/downloads","issues_url":"https://api.github.com/repos/lizard-project/lizard-language/issues{/number}","pulls_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls{/number}","milestones_url":"https://api.github.com/repos/lizard-project/lizard-language/milestones{/number}","notifications_url":"https://api.github.com/repos/lizard-project/lizard-language/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lizard-project/lizard-language/labels{/name}","releases_url":"https://api.github.com/repos/lizard-project/lizard-language/releases{/id}","created_at":"2015-12-17T10:03:23Z","updated_at":"2015-12-17T14:18:08Z","pushed_at":"2016-01-14T07:40:07Z","git_url":"git://github.com/lizard-project/lizard-language.git","ssh_url":"git@github.com:lizard-project/lizard-language.git","clone_url":"https://github.com/lizard-project/lizard-language.git","svn_url":"https://github.com/lizard-project/lizard-language","homepage":null,"size":964,"stargazers_count":2,"watchers_count":2,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":22,"forks":0,"open_issues":22,"watchers":2,"default_branch":"master"}},"base":{"label":"lizard-project:spec","ref":"spec","sha":"bd4b1f3258436e6ec531120ad8c0ca91eaad77e2","user":{"login":"lizard-project","id":16334794,"avatar_url":"https://avatars.githubusercontent.com/u/16334794?v=3","gravatar_id":"","url":"https://api.github.com/users/lizard-project","html_url":"https://github.com/lizard-project","followers_url":"https://api.github.com/users/lizard-project/followers","following_url":"https://api.github.com/users/lizard-project/following{/other_user}","gists_url":"https://api.github.com/users/lizard-project/gists{/gist_id}","starred_url":"https://api.github.com/users/lizard-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lizard-project/subscriptions","organizations_url":"https://api.github.com/users/lizard-project/orgs","repos_url":"https://api.github.com/users/lizard-project/repos","events_url":"https://api.github.com/users/lizard-project/events{/privacy}","received_events_url":"https://api.github.com/users/lizard-project/received_events","type":"Organization","site_admin":false},"repo":{"id":48166852,"name":"lizard-language","full_name":"lizard-project/lizard-language","owner":{"login":"lizard-project","id":16334794,"avatar_url":"https://avatars.githubusercontent.com/u/16334794?v=3","gravatar_id":"","url":"https://api.github.com/users/lizard-project","html_url":"https://github.com/lizard-project","followers_url":"https://api.github.com/users/lizard-project/followers","following_url":"https://api.github.com/users/lizard-project/following{/other_user}","gists_url":"https://api.github.com/users/lizard-project/gists{/gist_id}","starred_url":"https://api.github.com/users/lizard-project/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lizard-project/subscriptions","organizations_url":"https://api.github.com/users/lizard-project/orgs","repos_url":"https://api.github.com/users/lizard-project/repos","events_url":"https://api.github.com/users/lizard-project/events{/privacy}","received_events_url":"https://api.github.com/users/lizard-project/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/lizard-project/lizard-language","description":"The Lizard Programming Language","fork":false,"url":"https://api.github.com/repos/lizard-project/lizard-language","forks_url":"https://api.github.com/repos/lizard-project/lizard-language/forks","keys_url":"https://api.github.com/repos/lizard-project/lizard-language/keys{/key_id}","collaborators_url":"https://api.github.com/repos/lizard-project/lizard-language/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/lizard-project/lizard-language/teams","hooks_url":"https://api.github.com/repos/lizard-project/lizard-language/hooks","issue_events_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/events{/number}","events_url":"https://api.github.com/repos/lizard-project/lizard-language/events","assignees_url":"https://api.github.com/repos/lizard-project/lizard-language/assignees{/user}","branches_url":"https://api.github.com/repos/lizard-project/lizard-language/branches{/branch}","tags_url":"https://api.github.com/repos/lizard-project/lizard-language/tags","blobs_url":"https://api.github.com/repos/lizard-project/lizard-language/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/lizard-project/lizard-language/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/lizard-project/lizard-language/git/refs{/sha}","trees_url":"https://api.github.com/repos/lizard-project/lizard-language/git/trees{/sha}","statuses_url":"https://api.github.com/repos/lizard-project/lizard-language/statuses/{sha}","languages_url":"https://api.github.com/repos/lizard-project/lizard-language/languages","stargazers_url":"https://api.github.com/repos/lizard-project/lizard-language/stargazers","contributors_url":"https://api.github.com/repos/lizard-project/lizard-language/contributors","subscribers_url":"https://api.github.com/repos/lizard-project/lizard-language/subscribers","subscription_url":"https://api.github.com/repos/lizard-project/lizard-language/subscription","commits_url":"https://api.github.com/repos/lizard-project/lizard-language/commits{/sha}","git_commits_url":"https://api.github.com/repos/lizard-project/lizard-language/git/commits{/sha}","comments_url":"https://api.github.com/repos/lizard-project/lizard-language/comments{/number}","issue_comment_url":"https://api.github.com/repos/lizard-project/lizard-language/issues/comments{/number}","contents_url":"https://api.github.com/repos/lizard-project/lizard-language/contents/{+path}","compare_url":"https://api.github.com/repos/lizard-project/lizard-language/compare/{base}...{head}","merges_url":"https://api.github.com/repos/lizard-project/lizard-language/merges","archive_url":"https://api.github.com/repos/lizard-project/lizard-language/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/lizard-project/lizard-language/downloads","issues_url":"https://api.github.com/repos/lizard-project/lizard-language/issues{/number}","pulls_url":"https://api.github.com/repos/lizard-project/lizard-language/pulls{/number}","milestones_url":"https://api.github.com/repos/lizard-project/lizard-language/milestones{/number}","notifications_url":"https://api.github.com/repos/lizard-project/lizard-language/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/lizard-project/lizard-language/labels{/name}","releases_url":"https://api.github.com/repos/lizard-project/lizard-language/releases{/id}","created_at":"2015-12-17T10:03:23Z","updated_at":"2015-12-17T14:18:08Z","pushed_at":"2016-01-14T07:40:07Z","git_url":"git://github.com/lizard-project/lizard-language.git","ssh_url":"git@github.com:lizard-project/lizard-language.git","clone_url":"https://github.com/lizard-project/lizard-language.git","svn_url":"https://github.com/lizard-project/lizard-language","homepage":null,"size":964,"stargazers_count":2,"watchers_count":2,"language":"TeX","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":22,"forks":0,"open_issues":22,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23"},"html":{"href":"https://github.com/lizard-project/lizard-language/pull/23"},"issue":{"href":"https://api.github.com/repos/lizard-project/lizard-language/issues/23"},"comments":{"href":"https://api.github.com/repos/lizard-project/lizard-language/issues/23/comments"},"review_comments":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23/comments"},"review_comment":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/lizard-project/lizard-language/pulls/23/commits"},"statuses":{"href":"https://api.github.com/repos/lizard-project/lizard-language/statuses/a56b76d663c8048c9a2671e35d5eab4c32794022"}}}}