Advertisement
Guest User

tempsave

a guest
Feb 15th, 2019
242
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
BNF 1.21 KB | None | 0 0
  1. {
  2.   parserClass="com.simpleplugin.parser.SimpleParser"
  3.   parserUtilClass="com.simpleplugin.parser.SimpleParserUtil"
  4.  
  5.   extends="com.intellij.extapi.psi.ASTWrapperPsiElement"
  6.  
  7.   psiClassPrefix="Simple"
  8.   psiImplClassSuffix="Impl"
  9.   psiPackage="com.simpleplugin.psi"
  10.   psiImplPackage="com.simpleplugin.psi.impl"
  11.  
  12.   elementTypeHolderClass="com.simpleplugin.psi.SimpleTypes"
  13.   elementTypeClass="com.simpleplugin.psi.SimpleElementType"
  14.   tokenTypeClass="com.simpleplugin.psi.SimpleTokenType"
  15.  
  16.   psiImplUtilClass="com.simpleplugin.psi.impl.SimplePsiImplUtil"
  17.  
  18.   tokens = [
  19.     LP="regexp:\("
  20.     RP="regexp:\)"
  21.  
  22.     COMMENT="regexp:(#|:|%|//).*"
  23.     CRLF="regexp:\n"
  24.     KEY="regexp:(\w+\.)*(\w+)"
  25.   ]
  26. }
  27.  
  28. simpleFile ::= item_*
  29.  
  30. // a properties file can contain properties, comments and line breaks.
  31. private item_ ::= (property|COMMENT|CRLF)
  32.  
  33. property ::=  methodName lp params rp| KEY | (KEY? SEPARATOR VALUE?)
  34.  
  35.  
  36.  methodName ::= KEY
  37.         {mixin="com.simpleplugin.psi.impl.SimpleNamedElementImpl"
  38.          implements="com.simpleplugin.psi.SimpleNamedElement"
  39.          methods=[getKeyTwo getValue getName setName getNameIdentifier getReferences]}
  40.  
  41. private lp ::= LP
  42.  params ::= KEY*
  43. private rp ::= RP
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement