Ho usato e creato linguaggi specifici del dominio prima, un sacco di volte (ad esempio usando yacc / lex). Normalmente inizieremo con la grammatica scritta in BNF e un gruppo di parole chiave. Questo è facile da fare, facile da condividere.
Recentemente, ho iniziato a lavorare con i linguaggi di programmazione diagrammatici - il parallelo più vicino sono i diagrammi circuitali nell'elettronica, dove è molto difficile esprimere idee nel testo, ma è molto facile esprimerle nei diagrammi di cablaggio.
Questo è un nuovo e nuovo problema per me: come esprimere in modo efficiente questi mini-linguaggi e condividerli con i colleghi?
(vale a dire come programmare la lavagna al loro interno. La programmazione reale è facile - hai a disposizione componenti fisici)
Ci sono strumenti per questo? O buone / buone pratiche (ad esempio equivalenti a "usa sempre BNF come punto di partenza per la tua nuova DSL, e usa strumenti come yacc per generare parser, compilatori, ecc."). Il mio googlefu si sta rivelando debole - tutto quello che ottengo è falsi positivi per gli schemi di cablaggio e gli editor UML (poiché questi sono linguaggi personalizzati, UML non sembra aiutare)