diff --git a/asterix-maven-plugins/lexer-generator-maven-plugin/src/main/resources/Lexer.java b/asterix-maven-plugins/lexer-generator-maven-plugin/src/main/resources/Lexer.java
index 4ce840d..e34bde4 100644
--- a/asterix-maven-plugins/lexer-generator-maven-plugin/src/main/resources/Lexer.java
+++ b/asterix-maven-plugins/lexer-generator-maven-plugin/src/main/resources/Lexer.java
@@ -35,6 +35,7 @@
     protected int line;
     protected boolean prevCharIsCR;
     protected boolean prevCharIsLF;
+    protected boolean containsEscapes; 
     protected char[] buffer;
     protected int bufsize;
     protected int bufpos;
@@ -53,11 +54,12 @@
 //  Main method. Return a TOKEN_CONSTANT
 // ================================================================================            
             
-    public int next() throws [LEXER_NAME]Exception, IOException{
+    public int next() throws [LEXER_NAME]Exception, IOException {
         char currentChar = buffer[bufpos];
         while (currentChar == ' ' || currentChar=='\t' || currentChar == '\n' || currentChar=='\r')
             currentChar = readNextChar(); 
         tokenBegin = bufpos;
+        containsEscapes = false;
         if (currentChar==EOF_CHAR) return TOKEN_EOF;
 
         [LEXER_LOGIC]
@@ -104,6 +106,10 @@
         return line;
     }
     
+    public boolean containsEscapes() {
+        return containsEscapes;
+    }
+
     public static String tokenKindToString(int token) {
         return tokenImage[token]; 
     }
