Skip to content

Instantly share code, notes, and snippets.

@kmizu
Created March 9, 2016 06:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kmizu/f1dfbda9de1d965dead9 to your computer and use it in GitHub Desktop.
Save kmizu/f1dfbda9de1d965dead9 to your computer and use it in GitHub Desktop.
既に見た修飾子にマッチしない+排他的な修飾子
S = Modifiers(!"", "") !.;
Modifiers(AlreadyLooked, Scope) = (!AlreadyLooked) (
&(Scope) Token("public") Modifiers(AlreadyLooked / "public", "public")
/ &(Scope) Token("protected") Modifiers(AlreadyLooked / "protected", "protected")
/ &(Scope) Token("private") Modifiers(AlreadyLooked / "private", "private")
/ Token("static") Modifiers(AlreadyLooked / "static", Scope)
/ Token("final") Modifiers(AlreadyLooked / "final", Scope)
/ ""
);
Token(t) = t Spacing;
Spacing = " "*;
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment