diff --git a/ChangeLog.md b/ChangeLog.md
--- a/ChangeLog.md
+++ b/ChangeLog.md
@@ -1,5 +1,9 @@
 # Changelog for srtree
 
+## 3.0.0.2
+
+- Added parser for NeoGP.jl 
+
 ## 3.0.0.1
 
 - Fixed some wrong bounds 
diff --git a/src/Text/ParseSR.hs b/src/Text/ParseSR.hs
--- a/src/Text/ParseSR.hs
+++ b/src/Text/ParseSR.hs
@@ -39,7 +39,7 @@
 -- * Data types and caller functions
 
 -- | Supported algorithms.
-data SRAlgs = TIR | HL | OPERON | BINGO | GOMEA | PYSR | SBP | EPLEX deriving (Show, Read, Enum, Bounded)
+data SRAlgs = TIR | HL | OPERON | BINGO | GOMEA | PYSR | SBP | EPLEX | NEOGP deriving (Show, Read, Enum, Bounded)
 
 -- | Supported outputs.
 data Output = PYTHON | MATH | TIKZ | LATEX deriving (Show, Read, Enum, Bounded)
@@ -64,6 +64,7 @@
 parseSR SBP    header reparam = eitherResult . (`feed` "") . parse (parseGOMEA True reparam $ splitHeader header) . putEOL . B.strip
 parseSR EPLEX  header reparam = eitherResult . (`feed` "") . parse (parseGOMEA True reparam $ splitHeader header) . putEOL . B.strip
 parseSR PYSR   header reparam = eitherResult . (`feed` "") . parse (parsePySR True reparam $ splitHeader header) . putEOL .  B.strip
+parseSR NEOGP  header reparam = eitherResult . (`feed` "") . parse (parseNeoGP True reparam $ splitHeader header) . putEOL .  B.strip
 
 --parsePat :: B.ByteString -> Either String Pattern
 --parsePat = eitherResult . (`feed` "") . parse parsePatExpr . putEOL . B.strip
@@ -216,6 +217,43 @@
           <|> do char 't'
                  ix <- decimal
                  pure $ Fix $ Param ix
+          <?> "var"
+
+-- | parser for NeoGP
+parseNeoGP :: Bool -> Bool -> [(B.ByteString, Int)] -> ParseTree
+parseNeoGP b = parseExpr b (prefixOps : binOps) binFuns var
+  where
+    binFuns   = [ ]
+    prefixOps = map (uncurry prefix)
+                [   ("id", id), ("abs", abs)
+                  , ("sinh", sinh), ("cosh", cosh), ("tanh", tanh)
+                  , ("sin", sin), ("cos", cos), ("tan", tan)
+                  , ("asinh", asinh), ("acosh", acosh), ("atanh", atanh)
+                  , ("asin", asin), ("acos", acos), ("atan", atan)
+                  , ("sqrtabs", sqrtabs), ("sqrt", sqrt), ("cbrt", cbrt), ("square", (**2))
+                  , ("logabs", logabs), ("log", log), ("exp", exp), ("cube", cube), ("recip", recip)
+                  , ("Id", id), ("Abs", abs)
+                  , ("Sinh", sinh), ("Cosh", cosh), ("Tanh", tanh)
+                  , ("Sin", sin), ("Cos", cos), ("Tan", tan)
+                  , ("ASinh", asinh), ("ACosh", acosh), ("ATanh", atanh)
+                  , ("ASin", asin), ("ACos", acos), ("ATan", atan)
+                  , ("SqrtAbs", sqrtabs), ("Sqrt", sqrt), ("Cbrt", cbrt), ("Square", (**2))
+                  , ("LogAbs", logabs), ("Log", log), ("Exp", exp), ("Recip", recip), ("Cube", cube)
+                ]
+    binOps = [[binary "^" (**) AssocLeft], [binary "**" (**) AssocLeft]
+            , [binary "*" (*) AssocLeft, binary "/" (/) AssocLeft]
+            , [binary "+" (+) AssocLeft, binary "-" (-) AssocLeft]
+            , [binary "|**|" powabs AssocLeft], [binary "aq" aq AssocLeft]
+            ]
+    powabs l r = Fix $ Bin PowerAbs l r
+    aq l r = Fix $ Bin AQ l r
+
+    var = do char 'x'
+             ix <- decimal
+             pure $ Fix $ Var (ix-1)
+          <|> do char 'p'
+                 ix <- decimal
+                 pure $ Fix $ Param (ix-1)
           <?> "var"
 
 -- | parser for Operon.
diff --git a/srtree.cabal b/srtree.cabal
--- a/srtree.cabal
+++ b/srtree.cabal
@@ -5,7 +5,7 @@
 -- see: https://github.com/sol/hpack
 
 name:               srtree
-version:            3.0.0.1
+version:            3.0.0.2
 synopsis:           A general library to work with Symbolic Regression expression trees.
 description:        A Symbolic Regression Tree data structure to work with mathematical expressions with support to first order derivative and simplification;
 license:            BSD3
