📄 nomparser.java
字号:
case TERBIUM: case DYSPROSIUM: case HOLMIUM: case ERBIUM: case THULIUM: case YTTERBIUM: case LUTETIUM: case THORIUM: case PROTACTINIUM: case URANIUM: case NEPTUNIUM: case PLUTONIUM: case AMERCIUM: case CURIUM: case BERKELIUM: case CALIFORNIUM: case EINSTEINIUM: case FERMIUM: case MENDELEVIUM: case NOBELIUM: case LAWRENCIUM: prioritySubstituents(); break; case METH: case ETH: case PROP: case BUT: case UNDEC: case EICOS: case HENICOS: case HEN: case DO: case TRI: case TETR: case PENT: case HEX: case HEPT: case OCT: case NON: case DEC: mainChainPrefix(); jj_consume_token(AN); prioritySubstituentsFunGroups(); break; default: jj_la1[12] = jj_gen; jj_consume_token(-1); throw new ParseException(); } AddUnknownFunGroupPos(); AddFunGroup(); break; default: jj_la1[13] = jj_gen; bondType(); mainChainSuffix(); } }/** * Deals with cyclic main chains. */ final public void cycle() throws ParseException { jj_consume_token(CYCLO); SetMainCyclic(); }/** * Deal with the main chain's length. */ final public void mainChainPrefix() throws ParseException { chainPrefix(); AddMainChain(); }/** * Tokens which affect the bond order of the first bond. */ final public void bondType() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AN: jj_consume_token(AN); AddUnknownFunGroupPos(); break; default: jj_la1[16] = jj_gen; switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case DASH: jj_consume_token(DASH); attachLocationSpecified(); break; default: jj_la1[14] = jj_gen; AddUnknownFunGroupPos(); } switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case EN: jj_consume_token(EN); break; case YN: jj_consume_token(YN); break; default: jj_la1[15] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } AddFunGroup(); }/** * Figure out the functional group by the main chain's suffix. */ final public void mainChainSuffix() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case E: case OICACID: case OYLCHLORIDE: case AL: case AMIDE: case AMINE: case ONE: case OATE: endFunctionalGroups(); break; case DASH: case OL: connectingFunctionalGroupsConstruct(); break; default: jj_la1[17] = jj_gen; jj_consume_token(-1); throw new ParseException(); } }/** * Functional groups which occur at the end of the main chain and need * a connecting "an". */ final public void endFunctionalGroups() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case E: jj_consume_token(E); switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case NITRILE: jj_consume_token(NITRILE); break; default: jj_la1[18] = jj_gen; ; } break; case AMIDE: jj_consume_token(AMIDE); break; case AMINE: jj_consume_token(AMINE); break; case OATE: jj_consume_token(OATE); break; case ONE: jj_consume_token(ONE); break; case OICACID: jj_consume_token(OICACID); break; case OYLCHLORIDE: jj_consume_token(OYLCHLORIDE); break; case AL: jj_consume_token(AL); break; default: jj_la1[19] = jj_gen; jj_consume_token(-1); throw new ParseException(); } AddUnknownFunGroupPos(); AddFunGroup(); }/** * The layout of a functional group(s) which can connect anywhere. * No number specified, or a number list specified. */ final public void connectingFunctionalGroupsConstruct() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case OL: connectingFunctionalGroupSuffix(); AddUnknownFunGroupPos(); break; case DASH: jj_consume_token(DASH); attachLocationSpecified(); connectingFunctionalGroupSuffix(); break; default: jj_la1[20] = jj_gen; jj_consume_token(-1); throw new ParseException(); } AddFunGroup(); }/** * Functional groups suffixs for groups which can be connected anywhere * along the main chain. */ final public void connectingFunctionalGroupSuffix() throws ParseException { jj_consume_token(OL); } final public void prefixFunctionalGroups() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case CHLORO: jj_consume_token(CHLORO); break; case BROMO: jj_consume_token(BROMO); break; case IODO: jj_consume_token(IODO); break; case FLUORO: jj_consume_token(FLUORO); break; case NITRO: jj_consume_token(NITRO); break; case OXO: jj_consume_token(OXO); break; case PHENYL: jj_consume_token(PHENYL); break; case AMINO: jj_consume_token(AMINO); break; case HYDROXY: jj_consume_token(HYDROXY); break; default: jj_la1[21] = jj_gen; jj_consume_token(-1); throw new ParseException(); } }/** * Things which have sub chains branching off them and the molecule does have a main chain. */ final public void prioritySubstituentsFunGroups() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case AMINE: jj_consume_token(AMINE); break; case AMIDE: jj_consume_token(AMIDE); break; case OATE: jj_consume_token(OATE); break; case ONE: jj_consume_token(ONE); break; default: jj_la1[22] = jj_gen; jj_consume_token(-1); throw new ParseException(); } }/** * Things which have sub chains branching off them but the molecule has no main chain. */ final public void prioritySubstituents() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LITHIUM: case SODIUM: case POTASSIUM: case RUBIDIUM: case CESIUM: case FRANCIUM: groupOneMetals(); break; case BERYLLIUM: case MAGNESIUM: case CALCIUM: case STRONTIUM: case BARIUM: case RADIUM: groupTwoMetals(); break; case SCANDIUM: case YTTRIUM: case LANTHANUM: case ACTINIUM: case TITANIUM: case ZIRCONIUM: case HAFNIUM: case RUTHERFORDIUM: case VANADIUM: case NIOBIUM: case TANTALUM: case DUBNIUM: case CHROMIUM: case MOLYBDENUM: case TUNGSTEN: case SEABORGIUM: case MANGANESE: case TECHNETIUM: case RHENIUM: case BOHRIUM: case IRON: case RUTHENIUM: case OSMIUM: case HASSIUM: case COBALT: case RHODIUM: case IRIDIUM: case MEITMERIUM: case NICKEL: case PALLADIUM: case PLATINUM: case COPPER: case SILVER: case GOLD: case ZINC: case CADMIUM: case MECURY: dBlockMetals(); break; case ALUMINIUM: case GALLIUM: case INDIUM: case THALLIUM: case GERMAINIUM: case TIN: case LEAD: case ARSENIC: case ANTIMONY: case BISMUTH: case SELENIUM: case TELLURIUM: case POLONIUM: pBlockMetals(); break; case CERIUM: case PRASEODYMIUM: case NEODYMIUM: case PROMETHIUM: case SANARIUM: case EUROPIUM: case GADOLINIUM: case TERBIUM: case DYSPROSIUM: case HOLMIUM: case ERBIUM: case THULIUM: case YTTERBIUM: case LUTETIUM: case THORIUM: case PROTACTINIUM: case URANIUM: case NEPTUNIUM: case PLUTONIUM: case AMERCIUM: case CURIUM: case BERKELIUM: case CALIFORNIUM: case EINSTEINIUM: case FERMIUM: case MENDELEVIUM: case NOBELIUM: case LAWRENCIUM: fBlockMetals(); break; default: jj_la1[23] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void groupOneMetals() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case LITHIUM: jj_consume_token(LITHIUM); break; case SODIUM: jj_consume_token(SODIUM); break; case POTASSIUM: jj_consume_token(POTASSIUM); break; case RUBIDIUM: jj_consume_token(RUBIDIUM); break; case CESIUM: jj_consume_token(CESIUM); break; case FRANCIUM: jj_consume_token(FRANCIUM); break; default: jj_la1[24] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void groupTwoMetals() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case BERYLLIUM: jj_consume_token(BERYLLIUM); break; case MAGNESIUM: jj_consume_token(MAGNESIUM); break; case CALCIUM: jj_consume_token(CALCIUM); break; case STRONTIUM: jj_consume_token(STRONTIUM); break; case BARIUM: jj_consume_token(BARIUM); break; case RADIUM: jj_consume_token(RADIUM); break; default: jj_la1[25] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void dBlockMetals() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case SCANDIUM: jj_consume_token(SCANDIUM); break; case YTTRIUM: jj_consume_token(YTTRIUM); break; case LANTHANUM: jj_consume_token(LANTHANUM); break; case ACTINIUM: jj_consume_token(ACTINIUM); break; case TITANIUM: jj_consume_token(TITANIUM); break; case ZIRCONIUM: jj_consume_token(ZIRCONIUM); break; case HAFNIUM: jj_consume_token(HAFNIUM); break; case RUTHERFORDIUM: jj_consume_token(RUTHERFORDIUM); break; case VANADIUM: jj_consume_token(VANADIUM); break; case NIOBIUM: jj_consume_token(NIOBIUM); break; case TANTALUM: jj_consume_token(TANTALUM); break; case DUBNIUM: jj_consume_token(DUBNIUM); break; case CHROMIUM: jj_consume_token(CHROMIUM); break; case MOLYBDENUM: jj_consume_token(MOLYBDENUM); break; case TUNGSTEN: jj_consume_token(TUNGSTEN); break; case SEABORGIUM: jj_consume_token(SEABORGIUM); break; case MANGANESE: jj_consume_token(MANGANESE); break; case TECHNETIUM: jj_consume_token(TECHNETIUM); break; case RHENIUM: jj_consume_token(RHENIUM); break; case BOHRIUM: jj_consume_token(BOHRIUM); break; case IRON: jj_consume_token(IRON); break; case RUTHENIUM: jj_consume_token(RUTHENIUM); break; case OSMIUM: jj_consume_token(OSMIUM); break; case HASSIUM: jj_consume_token(HASSIUM); break; case COBALT: jj_consume_token(COBALT); break; case RHODIUM: jj_consume_token(RHODIUM); break; case IRIDIUM: jj_consume_token(IRIDIUM); break; case MEITMERIUM: jj_consume_token(MEITMERIUM); break; case NICKEL: jj_consume_token(NICKEL); break; case PALLADIUM: jj_consume_token(PALLADIUM); break; case PLATINUM: jj_consume_token(PLATINUM); break; case COPPER: jj_consume_token(COPPER); break; case SILVER: jj_consume_token(SILVER); break; case GOLD: jj_consume_token(GOLD); break; case ZINC: jj_consume_token(ZINC); break; case CADMIUM: jj_consume_token(CADMIUM); break; case MECURY: jj_consume_token(MECURY); break; default: jj_la1[26] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void pBlockMetals() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case ALUMINIUM: jj_consume_token(ALUMINIUM); break; case GALLIUM: jj_consume_token(GALLIUM); break; case INDIUM: jj_consume_token(INDIUM); break; case THALLIUM: jj_consume_token(THALLIUM); break; case GERMAINIUM: jj_consume_token(GERMAINIUM); break; case TIN: jj_consume_token(TIN); break; case LEAD: jj_consume_token(LEAD); break; case ARSENIC: jj_consume_token(ARSENIC); break; case ANTIMONY: jj_consume_token(ANTIMONY); break; case BISMUTH: jj_consume_token(BISMUTH); break; case SELENIUM: jj_consume_token(SELENIUM); break; case TELLURIUM: jj_consume_token(TELLURIUM); break; case POLONIUM: jj_consume_token(POLONIUM); break; default: jj_la1[27] = jj_gen; jj_consume_token(-1); throw new ParseException(); } } final public void fBlockMetals() throws ParseException { switch ((jj_ntk==-1)?jj_ntk():jj_ntk) { case CERIUM: jj_consume_token(CERIUM); break; case PRASEODYMIUM: jj_consume_token(PRASEODYMIUM); break; case NEODYMIUM: jj_consume_token(NEODYMIUM); break; case PROMETHIUM: jj_consume_token(PROMETHIUM); break; case SANARIUM: jj_consume_token(SANARIUM); break; case EUROPIUM:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -