// ---- GeneratedParser.java ----------------- // This is a generated file. Not intended for manual editing. package generated; import com.intellij.lang.PsiBuilder; import com.intellij.lang.PsiBuilder.Marker; import static generated.GeneratedTypes.*; import static com.intellij.lang.parser.GeneratedParserUtilBase.*; import com.intellij.psi.tree.IElementType; import com.intellij.lang.ASTNode; import com.intellij.psi.tree.TokenSet; import com.intellij.lang.PsiParser; import com.intellij.lang.LightPsiParser; @SuppressWarnings({"SimplifiableIfStatement", "UnusedAssignment"}) public class GeneratedParser implements PsiParser, LightPsiParser { public ASTNode parse(IElementType root_, PsiBuilder builder_) { parseLight(root_, builder_); return builder_.getTreeBuilt(); } public void parseLight(IElementType root_, PsiBuilder builder_) { boolean result_; builder_ = adapt_builder_(root_, builder_, this, null); Marker marker_ = enter_section_(builder_, 0, _COLLAPSE_, null); if (root_ == ITEM) { result_ = item(builder_, 0); } else if (root_ == LIST) { result_ = list(builder_, 0); } else { result_ = parse_root_(root_, builder_, 0); } exit_section_(builder_, 0, marker_, root_, result_, true, TRUE_CONDITION); } protected boolean parse_root_(IElementType root_, PsiBuilder builder_, int level_) { return file(builder_, level_ + 1); } /* ********************************************************** */ // list (';' list ) * static boolean file(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "file")) return false; if (!nextTokenIs(builder_, PAREN1)) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = list(builder_, level_ + 1); pinned_ = result_; // pin = 1 result_ = result_ && file_1(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } // (';' list ) * private static boolean file_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "file_1")) return false; int pos_ = current_position_(builder_); while (true) { if (!file_1_0(builder_, level_ + 1)) break; if (!empty_element_parsed_guard_(builder_, "file_1", pos_)) break; pos_ = current_position_(builder_); } return true; } // ';' list private static boolean file_1_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "file_1_0")) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = consumeToken(builder_, SEMI); pinned_ = result_; // pin = 1 result_ = result_ && list(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } /* ********************************************************** */ // number public static boolean item(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "item")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NONE_, ITEM, "<item>"); result_ = consumeToken(builder_, NUMBER); exit_section_(builder_, level_, marker_, result_, false, item_auto_recover_); return result_; } /* ********************************************************** */ // "(" [!")" item (',' item) * ] ")" public static boolean list(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list")) return false; if (!nextTokenIs(builder_, PAREN1)) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_, LIST, null); result_ = consumeToken(builder_, PAREN1); pinned_ = result_; // pin = 1 result_ = result_ && report_error_(builder_, list_1(builder_, level_ + 1)); result_ = pinned_ && consumeToken(builder_, PAREN2) && result_; exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } // [!")" item (',' item) * ] private static boolean list_1(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list_1")) return false; list_1_0(builder_, level_ + 1); return true; } // !")" item (',' item) * private static boolean list_1_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list_1_0")) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = list_1_0_0(builder_, level_ + 1); pinned_ = result_; // pin = 1 result_ = result_ && report_error_(builder_, item(builder_, level_ + 1)); result_ = pinned_ && list_1_0_2(builder_, level_ + 1) && result_; exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } // !")" private static boolean list_1_0_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list_1_0_0")) return false; boolean result_; Marker marker_ = enter_section_(builder_, level_, _NOT_); result_ = !consumeToken(builder_, PAREN2); exit_section_(builder_, level_, marker_, result_, false, null); return result_; } // (',' item) * private static boolean list_1_0_2(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list_1_0_2")) return false; int pos_ = current_position_(builder_); while (true) { if (!list_1_0_2_0(builder_, level_ + 1)) break; if (!empty_element_parsed_guard_(builder_, "list_1_0_2", pos_)) break; pos_ = current_position_(builder_); } return true; } // ',' item private static boolean list_1_0_2_0(PsiBuilder builder_, int level_) { if (!recursion_guard_(builder_, level_, "list_1_0_2_0")) return false; boolean result_, pinned_; Marker marker_ = enter_section_(builder_, level_, _NONE_); result_ = consumeToken(builder_, COMMA); pinned_ = result_; // pin = 1 result_ = result_ && item(builder_, level_ + 1); exit_section_(builder_, level_, marker_, result_, pinned_, null); return result_ || pinned_; } final static Parser item_auto_recover_ = new Parser() { public boolean parse(PsiBuilder builder_, int level_) { return !nextTokenIsFast(builder_, PAREN2, COMMA, SEMI); } }; }