1 19 package org.netbeans.modules.xml.text.syntax; 20 21 import org.netbeans.editor.*; 22 import org.netbeans.modules.xml.text.syntax.javacc.lib.*; 23 import org.netbeans.modules.xml.text.syntax.javacc.DTDSyntaxConstants; 24 25 31 public class DTDSyntaxTokenMapper implements JJMapperInterface, JJConstants, DTDSyntaxConstants { 32 33 34 35 public JJTokenID createToken(int id) { 36 37 switch(id) { 38 39 case JJ_EOL: 40 return DTDTokenContext.EOL; 41 42 case JJ_EOF: 43 throw new Error ("guessToken() must be called for such case."); 45 case JJ_ERR: 46 return DTDTokenContext.ERROR; 47 48 case DECL_START: 49 case PI_START: 50 case COND_END_IN_DEFAULT: 51 case PI_CONTENT_START: 52 case PI_END: 53 case PI_CONTENT_END: 54 case XML_DECL_END: 55 case COND: 56 case DECL_END: 57 case ENTITY_END: 58 case ELEMENT_END: 59 case NOTATION_END: 60 case COND_END: 61 case ATTLIST_END: 62 case SYMBOL_IN_ELEMENT: 63 64 return DTDTokenContext.SYMBOL; 65 66 case ERR_IN_PI: 67 case ERR_IN_PI_CONTENT: 68 case ERR_IN_DECL: 69 case ERR_IN_COND: 70 case ERR_IN_DEFAULT: 71 case ERR_IN_COMMENT: 72 case ERR_IN_CREF: 73 case ERR_IN_CHREF: 74 75 return DTDTokenContext.ERROR; 76 77 78 case XML_TARGET: 79 case PI_TARGET: 80 81 return DTDTokenContext.TARGET; 82 83 case ENTITY: 84 case ATTLIST: 85 case DOCTYPE: 86 case ELEMENT: 87 case NOTATION: 88 case KW_IN_ELEMENT: 89 case KW_IN_NOTATION: 90 case KW_IN_COND: 91 case KW_IN_ATTLIST: 92 case KW_IN_XML_DECL: 93 case KW_IN_ENTITY: 94 95 return DTDTokenContext.KW; 96 97 98 case PREF_START: 99 case TEXT_IN_PREF: 100 case PREF_END: 101 case CREF_START: 102 case CREF_END: 103 case TEXT_IN_CREF: 104 case CHREF_START: 105 case CHREF_END: 106 case TEXT_IN_CHREF: 107 108 return DTDTokenContext.REF; 109 110 111 case CHARS_START: 112 case TEXT_IN_CHARS: 113 case CHARS_END: 114 case STRING_START: 115 case TEXT_IN_STRING: 116 case STRING_END: 117 118 return DTDTokenContext.STRING; 119 120 case COMMENT_START: 121 case TEXT_IN_COMMENT: 122 case COMMENT_END: 123 124 return DTDTokenContext.COMMENT; 125 126 default: 127 return DTDTokenContext.PLAIN; 128 129 } 130 131 } 132 133 134 public final JJTokenID guessToken(String token,int state,boolean lastBuffer) { 135 136 switch (state) { 137 case IN_COMMENT: 138 if (!("--".equals(token) || "-".equals(token))) { return DTDTokenContext.COMMENT; 140 } else { 141 return cannotGuess(lastBuffer); 142 } 143 144 case IN_CREF: 145 case IN_PREF: 146 return DTDTokenContext.REF; 147 148 case IN_STRING: 149 case IN_CHARS: 150 return DTDTokenContext.STRING; 151 152 default: 153 return cannotGuess(lastBuffer); 154 } 155 } 156 157 private JJTokenID cannotGuess(boolean lastBuffer) { 158 return cannotGuess(lastBuffer, DTDTokenContext.PLAIN); 159 } 160 161 private JJTokenID cannotGuess(boolean lastBuffer, JJTokenID supposed) { 162 if (lastBuffer) { 163 return supposed; 164 } else { 165 return null; 167 } 168 169 } 170 173 public JJTokenID supposedToken(String token,int state,int id) { 174 175 switch (state) { 176 case IN_COMMENT: 177 return DTDTokenContext.COMMENT; 178 179 default: 180 return null; 181 } 182 } 183 184 } 185 | Popular Tags |