Good question. This is the simplest explanation I see:DSL may have its own specific syntax. A structure cannot have its own syntax, because it is used in the same language in which it was created. Domain Languages Compared to Frames
For example: HTML is DSL, while directives in the AngularJS framework are written in HTML syntax, so they are not a separate language.
source
share