diff options
Diffstat (limited to 'gen/org/jetbrains/markdown')
-rw-r--r-- | gen/org/jetbrains/markdown/MarkdownElementTypes.java | 10 | ||||
-rw-r--r-- | gen/org/jetbrains/markdown/MarkdownParser.java | 386 | ||||
-rw-r--r-- | gen/org/jetbrains/markdown/lexer/_MarkdownLexer.flex | 42 | ||||
-rw-r--r-- | gen/org/jetbrains/markdown/lexer/_MarkdownLexer.java | 14 |
4 files changed, 288 insertions, 164 deletions
diff --git a/gen/org/jetbrains/markdown/MarkdownElementTypes.java b/gen/org/jetbrains/markdown/MarkdownElementTypes.java index 757cc62f..8c2d77ba 100644 --- a/gen/org/jetbrains/markdown/MarkdownElementTypes.java +++ b/gen/org/jetbrains/markdown/MarkdownElementTypes.java @@ -6,7 +6,9 @@ import org.jetbrains.dokka.Markdown.MarkdownTokenType; public interface MarkdownElementTypes { + IElementType ANONYMOUS_SECTION = new IElementType("ANONYMOUS_SECTION", null); IElementType BLANK_LINE = new IElementType("BLANK_LINE", null); + IElementType BLOCK = new IElementType("BLOCK", null); IElementType BULLET = new IElementType("BULLET", null); IElementType BULLET_LIST = new IElementType("BULLET_LIST", null); IElementType EMPH = new IElementType("EMPH", null); @@ -14,22 +16,22 @@ public interface MarkdownElementTypes { IElementType ENUMERATOR = new IElementType("ENUMERATOR", null); IElementType HORIZONTAL_RULE = new IElementType("HORIZONTAL_RULE", null); IElementType HREF = new IElementType("HREF", null); - IElementType INDENTED_LINE = new IElementType("INDENTED_LINE", null); + IElementType INLINE = new IElementType("INLINE", null); IElementType LINK = new IElementType("LINK", null); IElementType LIST_BLOCK = new IElementType("LIST_BLOCK", null); IElementType LIST_BLOCK_LINE = new IElementType("LIST_BLOCK_LINE", null); IElementType LIST_CONTINUATION_BLOCK = new IElementType("LIST_CONTINUATION_BLOCK", null); IElementType LIST_ITEM = new IElementType("LIST_ITEM", null); - IElementType NONBLANK_INDENTED_LINE = new IElementType("NONBLANK_INDENTED_LINE", null); + IElementType NAMED_SECTION = new IElementType("NAMED_SECTION", null); IElementType ORDERED_LIST = new IElementType("ORDERED_LIST", null); IElementType PARA = new IElementType("PARA", null); IElementType PLAIN_TEXT = new IElementType("PLAIN_TEXT", null); + IElementType SECTION_BODY = new IElementType("SECTION_BODY", null); + IElementType SECTION_NAME = new IElementType("SECTION_NAME", null); IElementType STRONG = new IElementType("STRONG", null); IElementType STRONG_STAR = new IElementType("STRONG_STAR", null); IElementType STRONG_UNDERSCORE = new IElementType("STRONG_UNDERSCORE", null); IElementType TARGET = new IElementType("TARGET", null); - IElementType VERBATIM = new IElementType("VERBATIM", null); - IElementType VERBATIM_ITEM = new IElementType("VERBATIM_ITEM", null); IElementType WHITESPACE = new IElementType("WHITESPACE", null); IElementType ANYCHAR = new MarkdownTokenType("AnyChar"); diff --git a/gen/org/jetbrains/markdown/MarkdownParser.java b/gen/org/jetbrains/markdown/MarkdownParser.java index 90c69985..09c4a0f9 100644 --- a/gen/org/jetbrains/markdown/MarkdownParser.java +++ b/gen/org/jetbrains/markdown/MarkdownParser.java @@ -22,9 +22,15 @@ public class MarkdownParser implements PsiParser { boolean result_; builder_ = adapt_builder_(root_, builder_, this, null); Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null); - if (root_ == BLANK_LINE) { + if (root_ == ANONYMOUS_SECTION) { + result_ = AnonymousSection(builder_, 0); + } + else if (root_ == BLANK_LINE) { result_ = BlankLine(builder_, 0); } + else if (root_ == BLOCK) { + result_ = Block(builder_, 0); + } else if (root_ == BULLET) { result_ = Bullet(builder_, 0); } @@ -46,8 +52,8 @@ public class MarkdownParser implements PsiParser { else if (root_ == HREF) { result_ = Href(builder_, 0); } - else if (root_ == INDENTED_LINE) { - result_ = IndentedLine(builder_, 0); + else if (root_ == INLINE) { + result_ = Inline(builder_, 0); } else if (root_ == LINK) { result_ = Link(builder_, 0); @@ -64,8 +70,8 @@ public class MarkdownParser implements PsiParser { else if (root_ == LIST_ITEM) { result_ = ListItem(builder_, 0); } - else if (root_ == NONBLANK_INDENTED_LINE) { - result_ = NonblankIndentedLine(builder_, 0); + else if (root_ == NAMED_SECTION) { + result_ = NamedSection(builder_, 0); } else if (root_ == ORDERED_LIST) { result_ = OrderedList(builder_, 0); @@ -76,6 +82,12 @@ public class MarkdownParser implements PsiParser { else if (root_ == PLAIN_TEXT) { result_ = PlainText(builder_, 0); } + else if (root_ == SECTION_BODY) { + result_ = SectionBody(builder_, 0); + } + else if (root_ == SECTION_NAME) { + result_ = SectionName(builder_, 0); + } else if (root_ == STRONG) { result_ = Strong(builder_, 0); } @@ -88,12 +100,6 @@ public class MarkdownParser implements PsiParser { else if (root_ == TARGET) { result_ = Target(builder_, 0); } - else if (root_ == VERBATIM) { - result_ = Verbatim(builder_, 0); - } - else if (root_ == VERBATIM_ITEM) { - result_ = VerbatimItem(builder_, 0); - } else if (root_ == WHITESPACE) { result_ = Whitespace(builder_, 0); } @@ -108,6 +114,17 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ + // SectionBody + public static boolean AnonymousSection(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "AnonymousSection")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<anonymous section>"); + result_ = SectionBody(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, ANONYMOUS_SECTION, result_, false, null); + return result_; + } + + /* ********************************************************** */ // OptionalSpace Newline public static boolean BlankLine(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "BlankLine")) return false; @@ -122,19 +139,18 @@ public class MarkdownParser implements PsiParser { /* ********************************************************** */ // BlankLine* ( - // Para - // | Verbatim - // | OrderedList - // | BulletList - // | Inlines - // ) - static boolean Block(PsiBuilder builder_, int level_) { + // OrderedList + // | BulletList + // | HorizontalRule + // | Para + // ) + public static boolean Block(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Block")) return false; boolean result_; - Marker marker_ = enter_section_(builder_); + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<block>"); result_ = Block_0(builder_, level_ + 1); result_ = result_ && Block_1(builder_, level_ + 1); - exit_section_(builder_, marker_, null, result_); + exit_section_(builder_, level_, marker_, BLOCK, result_, false, null); return result_; } @@ -150,20 +166,18 @@ public class MarkdownParser implements PsiParser { return true; } - // Para - // | Verbatim - // | OrderedList - // | BulletList - // | Inlines + // OrderedList + // | BulletList + // | HorizontalRule + // | Para private static boolean Block_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Block_1")) return false; boolean result_; Marker marker_ = enter_section_(builder_); - result_ = Para(builder_, level_ + 1); - if (!result_) result_ = Verbatim(builder_, level_ + 1); - if (!result_) result_ = OrderedList(builder_, level_ + 1); + result_ = OrderedList(builder_, level_ + 1); if (!result_) result_ = BulletList(builder_, level_ + 1); - if (!result_) result_ = Inlines(builder_, level_ + 1); + if (!result_) result_ = HorizontalRule(builder_, level_ + 1); + if (!result_) result_ = Para(builder_, level_ + 1); exit_section_(builder_, marker_, null, result_); return result_; } @@ -243,13 +257,15 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // BOM? ( Block )* + // BOM? Whitespace* AnonymousSection? (Whitespace* NamedSection)* static boolean Document(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Document")) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = Document_0(builder_, level_ + 1); result_ = result_ && Document_1(builder_, level_ + 1); + result_ = result_ && Document_2(builder_, level_ + 1); + result_ = result_ && Document_3(builder_, level_ + 1); exit_section_(builder_, marker_, null, result_); return result_; } @@ -261,28 +277,60 @@ public class MarkdownParser implements PsiParser { return true; } - // ( Block )* + // Whitespace* private static boolean Document_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Document_1")) return false; int pos_ = current_position_(builder_); while (true) { - if (!Document_1_0(builder_, level_ + 1)) break; + if (!Whitespace(builder_, level_ + 1)) break; if (!empty_element_parsed_guard_(builder_, "Document_1", pos_)) break; pos_ = current_position_(builder_); } return true; } - // ( Block ) - private static boolean Document_1_0(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "Document_1_0")) return false; + // AnonymousSection? + private static boolean Document_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Document_2")) return false; + AnonymousSection(builder_, level_ + 1); + return true; + } + + // (Whitespace* NamedSection)* + private static boolean Document_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Document_3")) return false; + int pos_ = current_position_(builder_); + while (true) { + if (!Document_3_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "Document_3", pos_)) break; + pos_ = current_position_(builder_); + } + return true; + } + + // Whitespace* NamedSection + private static boolean Document_3_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Document_3_0")) return false; boolean result_; Marker marker_ = enter_section_(builder_); - result_ = Block(builder_, level_ + 1); + result_ = Document_3_0_0(builder_, level_ + 1); + result_ = result_ && NamedSection(builder_, level_ + 1); exit_section_(builder_, marker_, null, result_); return result_; } + // Whitespace* + private static boolean Document_3_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Document_3_0_0")) return false; + int pos_ = current_position_(builder_); + while (true) { + if (!Whitespace(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "Document_3_0_0", pos_)) break; + pos_ = current_position_(builder_); + } + return true; + } + /* ********************************************************** */ // EmphStar | EmphUnderscore public static boolean Emph(PsiBuilder builder_, int level_) { @@ -663,28 +711,16 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // Indent PlainText - public static boolean IndentedLine(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "IndentedLine")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_, level_, _NONE_, "<indented line>"); - result_ = Indent(builder_, level_ + 1); - result_ = result_ && PlainText(builder_, level_ + 1); - exit_section_(builder_, level_, marker_, INDENTED_LINE, result_, false, null); - return result_; - } - - /* ********************************************************** */ // Strong | Emph | Link | PlainText - static boolean Inline(PsiBuilder builder_, int level_) { + public static boolean Inline(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Inline")) return false; boolean result_; - Marker marker_ = enter_section_(builder_); + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<inline>"); result_ = Strong(builder_, level_ + 1); if (!result_) result_ = Emph(builder_, level_ + 1); if (!result_) result_ = Link(builder_, level_ + 1); if (!result_) result_ = PlainText(builder_, level_ + 1); - exit_section_(builder_, marker_, null, result_); + exit_section_(builder_, level_, marker_, INLINE, result_, false, null); return result_; } @@ -1052,24 +1088,14 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // !BlankLine IndentedLine - public static boolean NonblankIndentedLine(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "NonblankIndentedLine")) return false; + // SectionHeader SectionBody + public static boolean NamedSection(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "NamedSection")) return false; boolean result_; - Marker marker_ = enter_section_(builder_, level_, _NONE_, "<nonblank indented line>"); - result_ = NonblankIndentedLine_0(builder_, level_ + 1); - result_ = result_ && IndentedLine(builder_, level_ + 1); - exit_section_(builder_, level_, marker_, NONBLANK_INDENTED_LINE, result_, false, null); - return result_; - } - - // !BlankLine - private static boolean NonblankIndentedLine_0(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "NonblankIndentedLine_0")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_, level_, _NOT_, null); - result_ = !BlankLine(builder_, level_ + 1); - exit_section_(builder_, level_, marker_, null, result_, false, null); + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<named section>"); + result_ = SectionHeader(builder_, level_ + 1); + result_ = result_ && SectionBody(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, NAMED_SECTION, result_, false, null); return result_; } @@ -1094,22 +1120,21 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // OptionalSpace Newline !BlankLine + // Newline !BlankLine static boolean NormalEndline(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "NormalEndline")) return false; - if (!nextTokenIs(builder_, "", NEWLINE, SPACECHAR)) return false; + if (!nextTokenIs(builder_, NEWLINE)) return false; boolean result_; Marker marker_ = enter_section_(builder_); - result_ = OptionalSpace(builder_, level_ + 1); - result_ = result_ && consumeToken(builder_, NEWLINE); - result_ = result_ && NormalEndline_2(builder_, level_ + 1); + result_ = consumeToken(builder_, NEWLINE); + result_ = result_ && NormalEndline_1(builder_, level_ + 1); exit_section_(builder_, marker_, null, result_); return result_; } // !BlankLine - private static boolean NormalEndline_2(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "NormalEndline_2")) return false; + private static boolean NormalEndline_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "NormalEndline_1")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NOT_, null); result_ = !BlankLine(builder_, level_ + 1); @@ -1153,21 +1178,27 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // NonindentSpace Inlines (BlankLine | TerminalEndline) + // Inlines (BlankLine | TerminalEndline)? public static boolean Para(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Para")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NONE_, "<para>"); - result_ = NonindentSpace(builder_, level_ + 1); - result_ = result_ && Inlines(builder_, level_ + 1); - result_ = result_ && Para_2(builder_, level_ + 1); + result_ = Inlines(builder_, level_ + 1); + result_ = result_ && Para_1(builder_, level_ + 1); exit_section_(builder_, level_, marker_, PARA, result_, false, null); return result_; } + // (BlankLine | TerminalEndline)? + private static boolean Para_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Para_1")) return false; + Para_1_0(builder_, level_ + 1); + return true; + } + // BlankLine | TerminalEndline - private static boolean Para_2(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "Para_2")) return false; + private static boolean Para_1_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "Para_1_0")) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = BlankLine(builder_, level_ + 1); @@ -1177,7 +1208,7 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // (String | Number | Spacechar)+ + // (String | Number | Spacechar+)+ public static boolean PlainText(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "PlainText")) return false; boolean result_; @@ -1193,14 +1224,30 @@ public class MarkdownParser implements PsiParser { return result_; } - // String | Number | Spacechar + // String | Number | Spacechar+ private static boolean PlainText_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "PlainText_0")) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = consumeToken(builder_, STRING); if (!result_) result_ = consumeToken(builder_, NUMBER); - if (!result_) result_ = consumeToken(builder_, SPACECHAR); + if (!result_) result_ = PlainText_0_2(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // Spacechar+ + private static boolean PlainText_0_2(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "PlainText_0_2")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, SPACECHAR); + int pos_ = current_position_(builder_); + while (result_) { + if (!consumeToken(builder_, SPACECHAR)) break; + if (!empty_element_parsed_guard_(builder_, "PlainText_0_2", pos_)) break; + pos_ = current_position_(builder_); + } exit_section_(builder_, marker_, null, result_); return result_; } @@ -1219,17 +1266,95 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ + // Block* + public static boolean SectionBody(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionBody")) return false; + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<section body>"); + int pos_ = current_position_(builder_); + while (true) { + if (!Block(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SectionBody", pos_)) break; + pos_ = current_position_(builder_); + } + exit_section_(builder_, level_, marker_, SECTION_BODY, true, false, null); + return true; + } + + /* ********************************************************** */ + // '$' SectionName OptionalSpace ':' OptionalSpace + static boolean SectionHeader(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionHeader")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, "$"); + result_ = result_ && SectionName(builder_, level_ + 1); + result_ = result_ && OptionalSpace(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, ":"); + result_ = result_ && OptionalSpace(builder_, level_ + 1); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + /* ********************************************************** */ + // SectionNameStart | '{' OptionalSpace SectionNameStart (Spacechar+ String)* OptionalSpace '}' + public static boolean SectionName(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionName")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_, level_, _NONE_, "<section name>"); + result_ = SectionNameStart(builder_, level_ + 1); + if (!result_) result_ = SectionName_1(builder_, level_ + 1); + exit_section_(builder_, level_, marker_, SECTION_NAME, result_, false, null); + return result_; + } + + // '{' OptionalSpace SectionNameStart (Spacechar+ String)* OptionalSpace '}' + private static boolean SectionName_1(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionName_1")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = consumeToken(builder_, "{"); + result_ = result_ && OptionalSpace(builder_, level_ + 1); + result_ = result_ && SectionNameStart(builder_, level_ + 1); + result_ = result_ && SectionName_1_3(builder_, level_ + 1); + result_ = result_ && OptionalSpace(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, "}"); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // (Spacechar+ String)* + private static boolean SectionName_1_3(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionName_1_3")) return false; + int pos_ = current_position_(builder_); + while (true) { + if (!SectionName_1_3_0(builder_, level_ + 1)) break; + if (!empty_element_parsed_guard_(builder_, "SectionName_1_3", pos_)) break; + pos_ = current_position_(builder_); + } + return true; + } + + // Spacechar+ String + private static boolean SectionName_1_3_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionName_1_3_0")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = SectionName_1_3_0_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, STRING); + exit_section_(builder_, marker_, null, result_); + return result_; + } + // Spacechar+ - static boolean RequiredSpace(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "RequiredSpace")) return false; - if (!nextTokenIs(builder_, SPACECHAR)) return false; + private static boolean SectionName_1_3_0_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionName_1_3_0_0")) return false; boolean result_; Marker marker_ = enter_section_(builder_); result_ = consumeToken(builder_, SPACECHAR); int pos_ = current_position_(builder_); while (result_) { if (!consumeToken(builder_, SPACECHAR)) break; - if (!empty_element_parsed_guard_(builder_, "RequiredSpace", pos_)) break; + if (!empty_element_parsed_guard_(builder_, "SectionName_1_3_0_0", pos_)) break; pos_ = current_position_(builder_); } exit_section_(builder_, marker_, null, result_); @@ -1237,6 +1362,25 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ + // '$'? String + static boolean SectionNameStart(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionNameStart")) return false; + boolean result_; + Marker marker_ = enter_section_(builder_); + result_ = SectionNameStart_0(builder_, level_ + 1); + result_ = result_ && consumeToken(builder_, STRING); + exit_section_(builder_, marker_, null, result_); + return result_; + } + + // '$'? + private static boolean SectionNameStart_0(PsiBuilder builder_, int level_) { + if (!recursion_guard_(builder_, level_, "SectionNameStart_0")) return false; + consumeToken(builder_, "$"); + return true; + } + + /* ********************************************************** */ // StrongStar | StrongUnderscore public static boolean Strong(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Strong")) return false; @@ -1383,34 +1527,11 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // (OptionalSpace Newline <<eof>>) | (OptionalSpace <<eof>>) + // OptionalSpace <<eof>> static boolean TerminalEndline(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "TerminalEndline")) return false; boolean result_; Marker marker_ = enter_section_(builder_); - result_ = TerminalEndline_0(builder_, level_ + 1); - if (!result_) result_ = TerminalEndline_1(builder_, level_ + 1); - exit_section_(builder_, marker_, null, result_); - return result_; - } - - // OptionalSpace Newline <<eof>> - private static boolean TerminalEndline_0(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "TerminalEndline_0")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_); - result_ = OptionalSpace(builder_, level_ + 1); - result_ = result_ && consumeToken(builder_, NEWLINE); - result_ = result_ && eof(builder_, level_ + 1); - exit_section_(builder_, marker_, null, result_); - return result_; - } - - // OptionalSpace <<eof>> - private static boolean TerminalEndline_1(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "TerminalEndline_1")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_); result_ = OptionalSpace(builder_, level_ + 1); result_ = result_ && eof(builder_, level_ + 1); exit_section_(builder_, marker_, null, result_); @@ -1418,47 +1539,6 @@ public class MarkdownParser implements PsiParser { } /* ********************************************************** */ - // VerbatimItem+ - public static boolean Verbatim(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "Verbatim")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_, level_, _NONE_, "<verbatim>"); - result_ = VerbatimItem(builder_, level_ + 1); - int pos_ = current_position_(builder_); - while (result_) { - if (!VerbatimItem(builder_, level_ + 1)) break; - if (!empty_element_parsed_guard_(builder_, "Verbatim", pos_)) break; - pos_ = current_position_(builder_); - } - exit_section_(builder_, level_, marker_, VERBATIM, result_, false, null); - return result_; - } - - /* ********************************************************** */ - // BlankLine* NonblankIndentedLine - public static boolean VerbatimItem(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "VerbatimItem")) return false; - boolean result_; - Marker marker_ = enter_section_(builder_, level_, _NONE_, "<verbatim item>"); - result_ = VerbatimItem_0(builder_, level_ + 1); - result_ = result_ && NonblankIndentedLine(builder_, level_ + 1); - exit_section_(builder_, level_, marker_, VERBATIM_ITEM, result_, false, null); - return result_; - } - - // BlankLine* - private static boolean VerbatimItem_0(PsiBuilder builder_, int level_) { - if (!recursion_guard_(builder_, level_, "VerbatimItem_0")) return false; - int pos_ = current_position_(builder_); - while (true) { - if (!BlankLine(builder_, level_ + 1)) break; - if (!empty_element_parsed_guard_(builder_, "VerbatimItem_0", pos_)) break; - pos_ = current_position_(builder_); - } - return true; - } - - /* ********************************************************** */ // Spacechar | Newline public static boolean Whitespace(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "Whitespace")) return false; diff --git a/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.flex b/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.flex new file mode 100644 index 00000000..f5aab899 --- /dev/null +++ b/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.flex @@ -0,0 +1,42 @@ +package org.jetbrains.markdown.lexer; + +import com.intellij.lexer.*; +import com.intellij.psi.tree.IElementType; +import static org.jetbrains.markdown.MarkdownElementTypes.*; + +%% + +%{ + public _MarkdownLexer() { + this((java.io.Reader)null); + } +%} + +%public +%class _MarkdownLexer +%implements FlexLexer +%function advance +%type IElementType +%unicode + +Newline="\r"|"\n"|"\r\n" +Spacechar=[\ \t\f] +Number=[0-9]+(\.[0-9]*)? +String=[^~:{}$\*_`&\[\]()<!#\\ \t\n\r]+ +AnyChar=. +Line=!'\r' !'\n' .* {Newline} + +%% +<YYINITIAL> { + {Spacechar} { return SPACECHAR; } + {Newline} { return NEWLINE; } + "\\357\\273\\277" { return BOM; } + + + {Number} { return NUMBER; } + {String} { return STRING; } + + {AnyChar} { return ANYCHAR; } + + [^] { return com.intellij.psi.TokenType.BAD_CHARACTER; } +} diff --git a/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.java b/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.java index 0052e3ea..c84a83d8 100644 --- a/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.java +++ b/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.java @@ -1,4 +1,4 @@ -/* The following code was generated by JFlex 1.4.3 on 9/25/14 10:26 PM */ +/* The following code was generated by JFlex 1.4.3 on 9/29/14 3:24 PM */ package org.jetbrains.markdown.lexer; @@ -10,8 +10,8 @@ import static org.jetbrains.markdown.MarkdownElementTypes.*; /** * This class is a scanner generated by * <a href="http://www.jflex.de/">JFlex</a> 1.4.3 - * on 9/25/14 10:26 PM from the specification file - * <tt>/Users/orangy/Projects/dokka/src/Markdown/_MarkdownLexer.flex</tt> + * on 9/29/14 3:24 PM from the specification file + * <tt>/Users/orangy/Projects/dokka/gen/org/jetbrains/markdown/lexer/_MarkdownLexer.flex</tt> */ public class _MarkdownLexer implements FlexLexer { /** initial size of the lookahead buffer */ @@ -35,9 +35,9 @@ public class _MarkdownLexer implements FlexLexer { */ private static final String ZZ_CMAP_PACKED = "\11\0\1\7\1\2\1\0\1\3\1\1\22\0\1\7\1\6\1\0"+ - "\1\6\2\0\1\6\1\0\3\6\3\0\1\5\1\0\2\4\1\14"+ - "\1\11\1\4\1\12\1\4\1\13\2\4\2\0\1\6\36\0\1\6"+ - "\1\10\1\6\1\0\2\6\35\0\1\6\uff81\0"; + "\2\6\1\0\1\6\1\0\3\6\3\0\1\5\1\0\2\4\1\14"+ + "\1\11\1\4\1\12\1\4\1\13\2\4\1\6\1\0\1\6\36\0"+ + "\1\6\1\10\1\6\1\0\2\6\32\0\1\6\1\0\2\6\uff81\0"; /** * Translates characters to character classes @@ -245,7 +245,7 @@ public class _MarkdownLexer implements FlexLexer { char [] map = new char[0x10000]; int i = 0; /* index in packed string */ int j = 0; /* index in unpacked array */ - while (i < 74) { + while (i < 80) { int count = packed.charAt(i++); char value = packed.charAt(i++); do map[j++] = value; while (--count > 0); |