{ psiPackage = 'org.jetbrains.markdown' psiImplPackage = 'org.jetbrains.markdown.impl' parserClass="org.jetbrains.markdown.MarkdownParser" parserUtilClass="org.jetbrains.dokka.Markdown.GeneratedParserUtilBase" elementTypeHolderClass = 'org.jetbrains.markdown.MarkdownElementTypes' tokenTypeClass = 'org.jetbrains.dokka.Markdown.MarkdownTokenType' tokens=[ LINE_WS='regexp:[\ \t\f]' EOL='"\r"|"\n"|"\r\n"' BOM = '\357\273\277' number='regexp:\d+(\.\d*)?' String='regexp:[^~\*_`&\[\]()> LineBreak ::= " " NormalEndline Indent ::= "\t" | " " // ---- BLOCKS ---- Block ::= BlankLine* ( Para | Plain | OrderedList | BulletList ) Para ::= NonindentSpace Inlines (BlankLine+ | TerminalEndline) Plain ::= Inlines HorizontalRule ::= NonindentSpace ( '*' OptionalSpace '*' OptionalSpace '*' (OptionalSpace '*')* | '-' OptionalSpace '-' OptionalSpace '-' (OptionalSpace '-')* | '_' OptionalSpace '_' OptionalSpace '_' (OptionalSpace '_')*) OptionalSpace Newline BlankLine+ Bullet ::= !HorizontalRule NonindentSpace ('+' | '*' | '-') Spacechar+ Enumerator ::= NonindentSpace number '.' Spacechar+ BulletList ::= &Bullet List OrderedList ::= &Enumerator List List ::= (ListItem BlankLine*)+ ListItem ::= (Bullet | Enumerator) ListBlock ( ListContinuationBlock )* ListBlock ::= !BlankLine Plain ( ListBlockLine )* ListBlockLine ::= !BlankLine !(Indent? (Bullet | Enumerator)) !HorizontalRule Indent? Plain ListContinuationBlock ::= BlankLine* (Indent ListBlock)+ // ---- INLINES ---- Inlines ::= (!EndLine Inline | EndLine &Inline )+ EndLine? Inline ::= String | EndLine | RequiredSpace | Strong | Emph | Link Emph ::= EmphStar | EmphUnderscore EmphStar ::= '*' !Whitespace (!'*' Inline)+ '*' EmphUnderscore ::= '_' !Whitespace (!'_' Inline)+ '_' Strong ::= StrongStar | StrongUnderscore StrongStar ::= '**' !Whitespace (!'**' Inline)+ '**' StrongUnderscore ::= '__' !Whitespace (!'__' Inline)+ '__' Link ::= ReferenceLink ReferenceLink ::= ReferenceLinkSingle ReferenceLinkSingle ::= '[' Target ']' Target ::= String