DSL = domain-specific language. There is no sharp differentiation between general purpose languages (GPL) and DSLs. However, a DSL is a language with structures which cover specific domain concepts, e..g, communication. The two terms span a continuum where GPL is one extreme and DSL is the other. For example, SQL is a DSL for databases, Postscript for printing, HTML for webpages, while C is more or less a GPL.
Now an external DSL is a DSL which has its own grammer, interpreter or compiler. While an internal DSL is, for example a library with a specific set of operations/methods/functions which have a coherent meaning. For example, OpenGL with its C library interface is such an internal DSL, or XML frameworks. A classic are file operations. They can also be described as a language with rules for open, close, read, write, and seek. The language here can be defined as a regular expression, e.g., (open, (read|write|seek)*, close) or even
(open[mode=read], (seek|read)*, close) || (open[mode=write], (seek|write)*, close).
Another typical case of internal DSL are, for instance, entity classes for the Java persistence API which are in fact Java classes with specific annotations.
Your language is somewhat in the middle between DSL and GPL.
Hope that helps. You might want to read "When and how to develop DSLs" by Mernik.