package Ġcom . lf ro been . dat alog . lang . parser ĊĊ Ċ import Ġcom . intellij . lang .* Ċ import Ġcom . intellij . lexer . Lexer Ċ import Ġcom . intellij . openapi . project . Project Ċ import Ġcom . intellij . psi .* Ċ import Ġcom . intellij . psi . tree .* Ċ import Ġcom . lf ro been . dat alog . lang . D atalog Language Ċ import Ġcom . lf ro been . dat alog . lang . lexer . D atalog Lexer Ċ import Ġcom . lf ro been . dat alog . lang . psi . D atalog ElementType Ċ import Ġcom . lf ro been . dat alog . lang . psi . D atalog Psi File Ċ import Ġcom . lf ro been . dat alog . lang . psi . D atalog Types Ċ Ċ class ĠD atalog Parser Definition Ġ: ĠParser Definition Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Lexer ( project : ĠProject ): ĠLex er Ġ= ĠD atalog Lexer () ĊĊĠĠĠ Ġoverride Ġfun Ġget Whitespace Tokens (): ĠToken Set Ġ= ĠWH ITE _ SP ACES ĊĊĠĠĠ Ġoverride Ġfun Ġget Comment Tokens (): ĠToken Set Ġ= ĠCOMMENT S ĊĊĠĠĠ Ġoverride Ġfun ĠgetString Literal Elements (): ĠToken Set Ġ= ĠSTRING _ LITERAL S ĊĊĠĠĠ Ġoverride Ġfun Ġcreate Parser ( project : ĠProject ): ĠPsi Parser Ġ= ĠD atalog Parser () ĊĊĠĠĠ Ġoverride Ġfun ĠgetFile NodeType (): ĠI File ElementType Ġ= ĠFILE ĊĊĠĠĠ Ġoverride Ġfun Ġcreate File ( view Provider : ĠFile View Provider ): ĠPsi File Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD atalog Psi File ( view Provider ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġspace Ex istence Type Between Tokens ( left : ĠAST Node , Ġright : ĠAST Node ): ĠParser Definition . Space Requirements Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠParser Definition . Space Requirements . MAY ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠcreateElement ( node : ĠAST Node ): ĠPsi Element Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠD atalog Types . Factory . createElement ( node ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġval ĠWH ITE _ SP ACES Ġ= ĠToken Set . create ( TokenType . WHITE _ SPACE ) ĊĠĠĠĠĠĠĠ Ġval ĠSTRING _ LITERAL S Ġ= ĠToken Set . create ( D atalog Types . STRING ) ĊĠĠĠĠĠĠĠ Ġval ĠCOMMENT S Ġ= ĠToken Set . create ( ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD atalog Types . COMMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD atalog ElementType . DOC _ COMMENT , ĊĠĠĠĠĠĠĠĠĠĠĠ ĠD atalog ElementType . EXT _ COMMENT ĊĠĠĠĠĠĠĠ Ġ) ĊĊĠĠĠĠĠĠĠ Ġval ĠFILE Ġ= ĠI File ElementType ( D atalog Language ) ĊĠĠĠ Ġ} Ċ }