diff --git a/pom.xml b/pom.xml
index 1ab9cb6..0470de5 100644
--- a/pom.xml
+++ b/pom.xml
@@ -68,6 +68,20 @@
example;*.impl
+
+
+ org.antlr
+ antlr4-maven-plugin
+ 4.2.2
+
+
+
+ antlr4
+
+
+
+
+
@@ -81,6 +95,20 @@
3.8.1
test
+
+ org.antlr
+ antlr4-runtime
+ 4.2.1
+ complete
+ runtime
+
+
+ org.antlr
+ antlr4
+ 4.2.1
+ complete
+ compile
+
diff --git a/src/main/antlr4/me/legrange/mikrotik/impl/parser/Command.g4 b/src/main/antlr4/me/legrange/mikrotik/impl/parser/Command.g4
new file mode 100644
index 0000000..6dda077
--- /dev/null
+++ b/src/main/antlr4/me/legrange/mikrotik/impl/parser/Command.g4
@@ -0,0 +1,23 @@
+/** A Mikrotik API Command grammar */
+
+grammar Command;
+line: command param* where? retrn? ;
+command: CMD ;
+param: NAME ('=' text )? ;
+text: NO_SPACE | QUOTED ;
+where: 'where' expr ;
+expr: ( eqExpr | hasExpr | moreExpr | lessExpr ) binExpr? ;
+binExpr: andExpr | orExpr ;
+eqExpr: NAME '=' text ;
+hasExpr: NAME ;
+moreExpr: NAME '>' text;
+lessExpr: NAME '<' text;
+andExpr: expr 'and' expr ;
+orExpr: expr 'or' expr ;
+retrn: 'returns' NAME (',' NAME )* ;
+
+NAME : ('a'..'z'|'A'..'Z'|'-')+ ;
+CMD_PART : ('/' NAME)+ ;
+CMD : CMD_PART+ ;
+NO_SPACE : [\\S]+ ;
+QUOTED : ('"' [.]* '"') ;
\ No newline at end of file