{"action":"created","comment":{"url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/comments/48492006","id":48492006,"diff_hunk":"@@ -0,0 +1,82 @@\n+%token EOF \n+%token COMMA SEMICOLON LBRACE RBRACE\n+%token CLASS PUBLIC PROTECTED PRIVATE ABSTRACT STATIC FINAL STRICTFP\n+%token INT FLOAT\n+%token <string> IDENT\n+%token <float> NUMBER\n+\n+%start <string> compilationUnitList\n+\n+%%\n+\n+(* expressionList:\n+    e=expression EOF { e }\n+    |  e=expression el=expressionList EOF { e^\"\\n\"^el } \n+*)\n+\n+classBody:\n+    LBRACE cbd=classBodyDeclaration RBRACE { \" {\"^cbd^\" }\" }\n+\n+classBodyDeclaration:\n+    cmd=classMemberDeclaration { cmd }\n+\n+classDeclaration:\n+    ncd=normalClassDeclaration { ncd }\n+\n+classMemberDeclaration:\n+      fd=fieldDeclaration { fd } \n+    | SEMICOLON { \";\" } \n+    \n+classModifier:\n+      PUBLIC { \"public\" }\n+    | PROTECTED { \"protected\" }\n+    | PRIVATE { \"private\" }\n+    | ABSTRACT { \"abstract\" }\n+    | STATIC { \"static\" }\n+    | FINAL { \"final\" }\n+    | STRICTFP { \"strictfp\" }\n+\n+compilationUnitList: \n+      tp=typeDeclaration EOF { tp } \n+    | tp=typeDeclaration cul=compilationUnitList EOF { tp^\"\\n\"^cul }  \n+\n+fieldDeclaration:\n+    ut=unannType vdl=variableDeclaratorList SEMICOLON { ut^\" \"^vdl^\";\"}\n+\n+floatingPointType:","path":"Parsing/parser.mly","position":46,"original_position":46,"commit_id":"716e03aa398095770f303da0ddee56eb72497314","original_commit_id":"716e03aa398095770f303da0ddee56eb72497314","user":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"body":"Tu veux mettre compilationUnitList au plus haut, et le reste qui en découle en bas ? \r\n\r\nJe comprends l'avantage, ça a aussi le désavantage que si t'as la règle A qui peut être formé par B ou par Z. Tu peux avoir plein de règles depuis B jusqu'à un token terminal, et plein de règles de Z jusqu'à un token terminal. Du coup, on a les trucs vachement dispatchés, ça peut aussi rendre la recherche un peu difficile. \r\n\r\nMais, je pense que tu as raison. C'est pas une règle qui peut s'appliquer dans l'absolue, mais je ferai la modif. ","created_at":"2015-12-28T17:11:12Z","updated_at":"2015-12-28T17:11:12Z","html_url":"https://github.com/Nairolf21/miniJava-compiler/pull/8#discussion_r48492006","pull_request_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8","_links":{"self":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/comments/48492006"},"html":{"href":"https://github.com/Nairolf21/miniJava-compiler/pull/8#discussion_r48492006"},"pull_request":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8"}}},"pull_request":{"url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8","id":54602840,"html_url":"https://github.com/Nairolf21/miniJava-compiler/pull/8","diff_url":"https://github.com/Nairolf21/miniJava-compiler/pull/8.diff","patch_url":"https://github.com/Nairolf21/miniJava-compiler/pull/8.patch","issue_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/8","number":8,"state":"open","locked":false,"title":"Unification of lexer and parser","user":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"body":"Je pense qu'il est nécessaire d'avoir le lexer dans un seul et même fichier, et le parser dans un seul et même fichier. Ce sera plus simple à compiler ( voir `compile.mll`). Et les règles de grammaires forment un *tout*. \r\n\r\nL'idée initialement était de séparer les parties pour pouvoir travailler plus facilement et éviter les conflits, mais je pense qu'il n'y en aura pas tant que cela. Tout le monde peut toujours écrire les règles de grammaire concernant sa propre partie de Java. \r\n","created_at":"2015-12-26T14:12:39Z","updated_at":"2015-12-28T17:11:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c74ce5c169d0501deae617ef9ffe4db7b3491c8b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8/commits","review_comments_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8/comments","review_comment_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/comments{/number}","comments_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/8/comments","statuses_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/statuses/716e03aa398095770f303da0ddee56eb72497314","head":{"label":"Nairolf21:florian_unification","ref":"florian_unification","sha":"716e03aa398095770f303da0ddee56eb72497314","user":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"repo":{"id":47681035,"name":"miniJava-compiler","full_name":"Nairolf21/miniJava-compiler","owner":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Nairolf21/miniJava-compiler","description":"Ocaml Compiler for mini-Java","fork":false,"url":"https://api.github.com/repos/Nairolf21/miniJava-compiler","forks_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/forks","keys_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/teams","hooks_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/hooks","issue_events_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/events{/number}","events_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/events","assignees_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/assignees{/user}","branches_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/branches{/branch}","tags_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/tags","blobs_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/refs{/sha}","trees_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/statuses/{sha}","languages_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/languages","stargazers_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/stargazers","contributors_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/contributors","subscribers_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/subscribers","subscription_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/subscription","commits_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/commits{/sha}","git_commits_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/commits{/sha}","comments_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/comments{/number}","issue_comment_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/comments{/number}","contents_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/contents/{+path}","compare_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/merges","archive_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/downloads","issues_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues{/number}","pulls_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls{/number}","milestones_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/milestones{/number}","notifications_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/labels{/name}","releases_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/releases{/id}","created_at":"2015-12-09T09:19:32Z","updated_at":"2015-12-15T10:58:52Z","pushed_at":"2015-12-28T16:56:05Z","git_url":"git://github.com/Nairolf21/miniJava-compiler.git","ssh_url":"git@github.com:Nairolf21/miniJava-compiler.git","clone_url":"https://github.com/Nairolf21/miniJava-compiler.git","svn_url":"https://github.com/Nairolf21/miniJava-compiler","homepage":"","size":37,"stargazers_count":2,"watchers_count":2,"language":"OCaml","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":2,"default_branch":"develop"}},"base":{"label":"Nairolf21:develop","ref":"develop","sha":"88d3c45f0dfbcdcbae39901dc0042e6a7ad69dce","user":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"repo":{"id":47681035,"name":"miniJava-compiler","full_name":"Nairolf21/miniJava-compiler","owner":{"login":"Nairolf21","id":8713428,"avatar_url":"https://avatars.githubusercontent.com/u/8713428?v=3","gravatar_id":"","url":"https://api.github.com/users/Nairolf21","html_url":"https://github.com/Nairolf21","followers_url":"https://api.github.com/users/Nairolf21/followers","following_url":"https://api.github.com/users/Nairolf21/following{/other_user}","gists_url":"https://api.github.com/users/Nairolf21/gists{/gist_id}","starred_url":"https://api.github.com/users/Nairolf21/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Nairolf21/subscriptions","organizations_url":"https://api.github.com/users/Nairolf21/orgs","repos_url":"https://api.github.com/users/Nairolf21/repos","events_url":"https://api.github.com/users/Nairolf21/events{/privacy}","received_events_url":"https://api.github.com/users/Nairolf21/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Nairolf21/miniJava-compiler","description":"Ocaml Compiler for mini-Java","fork":false,"url":"https://api.github.com/repos/Nairolf21/miniJava-compiler","forks_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/forks","keys_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/teams","hooks_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/hooks","issue_events_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/events{/number}","events_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/events","assignees_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/assignees{/user}","branches_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/branches{/branch}","tags_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/tags","blobs_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/refs{/sha}","trees_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/statuses/{sha}","languages_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/languages","stargazers_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/stargazers","contributors_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/contributors","subscribers_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/subscribers","subscription_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/subscription","commits_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/commits{/sha}","git_commits_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/git/commits{/sha}","comments_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/comments{/number}","issue_comment_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/comments{/number}","contents_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/contents/{+path}","compare_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/merges","archive_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/downloads","issues_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues{/number}","pulls_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls{/number}","milestones_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/milestones{/number}","notifications_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/labels{/name}","releases_url":"https://api.github.com/repos/Nairolf21/miniJava-compiler/releases{/id}","created_at":"2015-12-09T09:19:32Z","updated_at":"2015-12-15T10:58:52Z","pushed_at":"2015-12-28T16:56:05Z","git_url":"git://github.com/Nairolf21/miniJava-compiler.git","ssh_url":"git@github.com:Nairolf21/miniJava-compiler.git","clone_url":"https://github.com/Nairolf21/miniJava-compiler.git","svn_url":"https://github.com/Nairolf21/miniJava-compiler","homepage":"","size":37,"stargazers_count":2,"watchers_count":2,"language":"OCaml","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":2,"forks":0,"open_issues":2,"watchers":2,"default_branch":"develop"}},"_links":{"self":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8"},"html":{"href":"https://github.com/Nairolf21/miniJava-compiler/pull/8"},"issue":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/8"},"comments":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/issues/8/comments"},"review_comments":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8/comments"},"review_comment":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/pulls/8/commits"},"statuses":{"href":"https://api.github.com/repos/Nairolf21/miniJava-compiler/statuses/716e03aa398095770f303da0ddee56eb72497314"}}}}