Come accennato, la programmazione orientata alla lingua farà riferimento a un DSL.
Questo può riassumere ciò che stai cercando di esprimere:
When you have to solve a complex problem, first choose – or, if
necessary, develop – a language that is most appropriate for the
problem. Then, implement the solution in this language.
che ho trovato in:
link
Esistono molte lingue che ti aiuteranno a creare una DSL, come Groovy , Ruby , Scala e F # .
È possibile scrivere DSL interni ed esterni in queste lingue e questi linguaggi hanno costrutti per aiutare il programmatore a creare una DSL più facilmente, ad esempio utilizzando parser combinator così puoi creare più facilmente un compilatore o un interprete per la tua lingua.
Questo renderà più facile per l'utente finale scrivere i propri programmi, nella lingua a cui sono abituati, in modo che non si accorgano che stanno scrivendo un programma, semplicemente esprimendo ciò che vogliono.
Quindi potresti avere qualcosa di simile:
order 10 cartons of milk from Soya and deliver them to store 23 delivered on 4/1/2013.
Sarebbe ovvio per l'utente cosa stanno facendo, e fintanto che seguono alcune regole che esprimi, la lingua può essere molto espressiva.
Puoi leggere:
link