diff --git a/src/main/grammar/Aspect.bnf b/src/main/grammar/Aspect.bnf
index 1bd54a8a035025a82dcca39fbdb23ac6e17bfe29..2f032fec7d8b043f663ad814d794786c3acef3f2 100644
--- a/src/main/grammar/Aspect.bnf
+++ b/src/main/grammar/Aspect.bnf
@@ -197,7 +197,7 @@ method_declarator ::= java_identifier formal_parameters (LBRACKET RBRACKET)*
 
 formal_parameters ::= LPAREN ( formal_parameter ( COMMA formal_parameter )* )? RPAREN
 
-formal_parameter ::= FINAL? type DOTS? variable_declarator_id
+formal_parameter ::= FINAL? type ELLIPSIS? variable_declarator_id
 
 constructor_declaration ::= type_parameters? java_identifier formal_parameters (THROWS name_list)? LBRACE explicit_constructor_invocation? block_statement* RBRACE
 
@@ -361,7 +361,7 @@ throw_statement ::= THROW expression SEMICOLON
 
 synchronized_statement ::= SYNCHRONIZED LPAREN expression RPAREN block
 
-try_statement ::= TRY ( LPAREN local_variable_declaration ( SEMICOLON local_variable_declaration )* SEMICOLON? RPAREN )? block ( CATCH LPAREN FINAL? type ( BIT_OR FINAL type )* variable_declarator_id RPAREN block )* ( FINALLY block )?
+try_statement ::= TRY ( LPAREN local_variable_declaration ( SEMICOLON local_variable_declaration )* SEMICOLON? RPAREN )? block ( CATCH LPAREN FINAL? type ( BIT_OR FINAL? type )* variable_declarator_id RPAREN block )* ( FINALLY block )?
 
 // TODO maybe change order!
 annotation ::= ( normal_annotation | single_member_annotation | marker_annotation )
@@ -409,4 +409,4 @@ parameter_name ::= IDENTIFIER
 method_name ::= IDENTIFIER
 
 // unused keywords must still appear somewhere
-unused_keywords ::= GOTO | CONST ELLIPSIS | PACKAGE
+unused_keywords ::= GOTO | CONST | PACKAGE
diff --git a/src/main/grammar/Grammar.flex b/src/main/grammar/Grammar.flex
index 43ff67a073b74d98a95e1c5b589851d320f1e483..cd7b52116e902a37816c8025be782de2aacdbb44 100644
--- a/src/main/grammar/Grammar.flex
+++ b/src/main/grammar/Grammar.flex
@@ -18,7 +18,7 @@ import com.intellij.psi.TokenType;
 
 
 WhiteSpace        = [ ] | \t | \f | \n | \r | \r\n
-ID                = [a-zA-Z$_][a-zA-Z0-9$_]*
+ID                = [:jletter:] [:jletterdigit:]*
 MultiLineComment  = [/][*][^*]+[*]+([^*/][^*]*[*]+)*[/]
 DocComment        = [/][*][*][^*]*[*]+([^*/][^*]*[*]+)*[/]
 SingleLineComment = [/][/] [^\n\r]* (\n | \r | \r\n)
diff --git a/src/main/java/org/jastadd/tooling/aspect/AspectSyntaxHighlighter.java b/src/main/java/org/jastadd/tooling/aspect/AspectSyntaxHighlighter.java
index 1c91d8e82aa7345cbd9be27b016d4abe2323e331..9dea0a1f55c52e23d822242fc5b3a52793ab6034 100644
--- a/src/main/java/org/jastadd/tooling/aspect/AspectSyntaxHighlighter.java
+++ b/src/main/java/org/jastadd/tooling/aspect/AspectSyntaxHighlighter.java
@@ -51,7 +51,7 @@ public class AspectSyntaxHighlighter extends SyntaxHighlighterBase {
     AspectTypes.NE, AspectTypes.ORASSIGN, AspectTypes.XOR, AspectTypes.XORASSIGN, AspectTypes.STAR,
     AspectTypes.STARASSIGN, AspectTypes.REM, AspectTypes.REMASSIGN, AspectTypes.SC_AND, AspectTypes.SC_OR,
     AspectTypes.AMPERSAND, AspectTypes.RSIGNEDSHIFTASSIGN, AspectTypes.RUNSIGNEDSHIFTASSIGN, AspectTypes.TILDE,
-    AspectTypes.BANG, AspectTypes.ARROW, AspectTypes.DOTS);
+    AspectTypes.BANG, AspectTypes.ARROW, AspectTypes.ELLIPSIS);
   public static final TextAttributesKey OPERATOR = createTextAttributesKey("JASTADD_OPERATOR", DefaultLanguageHighlighterColors.OPERATION_SIGN);
   private static final TextAttributesKey[] OPERATOR_KEYS = new TextAttributesKey[]{OPERATOR};