Здравствуйте, cppguard, Вы писали:
C>На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
А хоть какая область?
Т.е. что именно на этом DSL будут описывать?
Я бы начал с этого, а уж потом смотреть...
Если в этой области есть какие-то устоявшиеся нотации, попробовать воспроизвести их.
Здравствуйте, night beast, Вы писали:
C>>На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
NB>есть \tex NB>но это оверкил
На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
Здравствуйте, cppguard, Вы писали:
C>На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
Здравствуйте, cppguard, Вы писали:
C>На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
Может не добавлять? Пусть копипастят, они же не программисты.
Здравствуйте, cppguard, Вы писали:
C>На проекте есть DSL для непрограммистов, но технически подкованных людей, хочу добавить в него макросы. Какой язык посоветуете взять за основу? Сишный препроцессор — ну вы поняли, m4 — для бородатых инопланетян, а с другими я и не работал
То есть в вашем dsl нету подпрограмм и надо как-то усовершенствовать копипасту ?
Здравствуйте, kov_serg, Вы писали:
_>То есть в вашем dsl нету подпрограмм и надо как-то усовершенствовать копипасту ?
Скорее, нужно сделать программу гибче. Сам DSL описывается просто:
f x, y : x^2 + y^2
или (с рекурсией)
g x : g + x
g = 1
Это что-то вроде spreadsheets, только в текстовом описании. Заказчик сам не знает чего хочет, поэтому я решил сделать ему систему макросов, чтобы он мог поиграться.
Здравствуйте, cppguard, Вы писали:
C>Скорее, нужно сделать программу гибче. Сам DSL описывается просто:
f x, y : x^2 + y^2
g x : g + x
g = 1
DSL как бы подразумевает прикладные задачи и некоторую вполне конкретную область применения. Что значит гибче, проще запись для типовых задач? Достаточный набор готовых примитивов?
Если заказчик не знает чего хочет что мешает использовать lua (простой, легкий в освоении и очень гибкий) и играться можно в любом текстовом редакторе.
ps: tcl вполне себе язык макросов (почти lisp только без скобок)