This is called a Domain Specific Language (DSL). DSLs are a powerful technique for abstraction. DSLs are widely used, and have been for a very long time.
Martin Fowler makes a distinction between Internal and External DSLs. An Internal DSL is written in its host language (and therefore must conform to that language's syntax).
An external DSL is one that has its own syntax, distinct from the language used to implement it. A compiler or interpreter translates the external DSL to another form, or executes it directly. What you are describing is an external DSL.