diff --git a/ewe.cabal b/ewe.cabal
--- a/ewe.cabal
+++ b/ewe.cabal
@@ -2,7 +2,7 @@
 -- see http://haskell.org/cabal/users-guide/
 
 name:                ewe
-version:             0.1.0.12
+version:             0.1.0.13
 synopsis:            An language to teach a programming
 description:         Another implementions of the EWE programming language originally developed by Kent D. Lee. EWE was an extension of the RAM programming language created by Sethi.
 homepage:            http://github.com/jfcmacro/ewe
@@ -23,7 +23,7 @@
                        mtl >= 2.1
   hs-source-dirs:      src
   other-modules:       Language.EWE.Parser, Language.EWE.AbsSyn,
-                       Language.EWE.VM, Language.EWE.Token
+                       Language.EWE.VM, Language.EWE.Token, Language.EWE.EweLang
 
 source-repository head
   type:	    git
diff --git a/src/Language/EWE/EweLang.hs b/src/Language/EWE/EweLang.hs
new file mode 100644
--- /dev/null
+++ b/src/Language/EWE/EweLang.hs
@@ -0,0 +1,35 @@
+module Language.EWE.EweLang(eweLangDef) where
+
+import Text.Parsec
+import qualified Language.EWE.Token as Tkn
+
+-- EWE Language definition
+
+eweLangDef :: Tkn.LanguageDef st
+eweLangDef = Tkn.LanguageDef {
+  Tkn.commentStart = "",
+  Tkn.commentEnd   = "",
+  Tkn.commentLine  = "#",
+  Tkn.nestedComments = False,
+  Tkn.identStart     = letter <|> char '_',
+  Tkn.identLetter    = alphaNum <|> oneOf "_'",
+  Tkn.opStart        = oneOf ":!#$%&*+./<=>?@\\^|-~",
+  Tkn.opLetter       = oneOf ":!#$%&*+./<=>?@\\^|-~",
+  Tkn.reservedNames  = ["PC",
+                        "M",
+                        "writeInt",
+                        "writeStr",
+                        "readInt",
+                        "readStr",
+                        "halt",
+                        "break",
+                        "if",
+                        "goto",
+                        "then",
+                        "equ"],
+  Tkn.reservedOpNames = ["+", "-", "*", "/",
+                         "%", "<", ">=", "<=",
+                         ">", "<>"],
+  Tkn.caseSensitive   = False
+  }
+
