1 package net.mograsim.plugin.asm.editor.rules;
3 import org.eclipse.core.runtime.Assert;
4 import org.eclipse.jface.text.rules.ICharacterScanner;
5 import org.eclipse.jface.text.rules.IRule;
6 import org.eclipse.jface.text.rules.IToken;
7 import org.eclipse.jface.text.rules.Token;
9 public class AsmLabelRule implements IRule
12 /** The token to be returned when this rule is successful */
13 protected IToken fToken;
16 * Creates a rule which will return the specified token when a numerical sequence is detected.
18 * @param token the token to be returned
20 public AsmLabelRule(IToken token)
22 Assert.isNotNull(token);
27 public IToken evaluate(ICharacterScanner scanner)
29 int c = scanner.read();
31 if (Character.isJavaIdentifierStart(c))
37 } while (Character.isJavaIdentifierPart(c));
40 return abort(scanner, i);
43 return Token.UNDEFINED;
46 private static IToken abort(ICharacterScanner scanner, int i)
48 for (int j = 0; j < i; j++)
50 return Token.UNDEFINED;