Главная страница


ru.unix

 
 - RU.UNIX ----------------------------------------------------------------------
 From : Artur Penttinen                      2:5020/400     22 Sep 2004  23:40:36
 To : all
 Subject : Вопрос об m4
 -------------------------------------------------------------------------------- 
 
 
   Задача -- у некоей софтинки конфигурационный файл можно загружать
   через m4 перпроцессор. Есть желание скидывать куски конфига в некий
   каталог и читать их оттуда. Hаписал макрос для m4 (упрощенный
   вариант): 
 
   define(`readconf',`ifelse($#,0,,`sinclude($1)readconf(shift($*))')')
 
   при запуске readconf(aa.m4,bb.m4) зацикливается (aa.m4 и bb.m4
   простые файлы с define для проверки):
 
   # m4 -dtae test.conf
   m4trace: -1- define(readconf, ifelse($#,0,,`sinclude($1)readconf(shift($*))'))
   m4trace: -1- readconf(aa.m4, bb.m4) ->
 ifelse(2,0,,`sinclude(aa.m4)readconf(shift(aa.m4,bb.m4))')
   m4trace: -1- ifelse(2, 0, , sinclude(aa.m4)readconf(shift(aa.m4,bb.m4))) ->
 sinclude(aa.m4)readconf(shift(aa.m4,bb.m4))
   m4trace: -1- sinclude(aa.m4)
   m4trace: -1- define(aa, foo)
 
   m4trace: -2- shift(aa.m4, bb.m4) -> `bb.m4'
   m4trace: -1- readconf(bb.m4) ->
 ifelse(1,0,,`sinclude(bb.m4)readconf(shift(bb.m4
 ))')
   m4trace: -1- ifelse(1, 0, , sinclude(bb.m4)readconf(shift(bb.m4))) ->
 sinclude(bb.m4)readconf(shift(bb.m4))
   m4trace: -1- sinclude(bb.m4)
   m4trace: -1- define(bb, bar)
 
   m4trace: -2- shift(bb.m4)
   m4trace: -1- readconf() -> ifelse(1,0,,`sinclude()readconf(shift())')
   m4trace: -1- ifelse(1, 0, , sinclude()readconf(shift())) ->
 sinclude()readconf(shift())
   m4trace: -1- sinclude()
   m4trace: -2- shift()
   m4trace: -1- readconf() -> ifelse(1,0,,`sinclude()readconf(shift())')
   m4trace: -1- ifelse(1, 0, , sinclude()readconf(shift())) ->
 sinclude()readconf(shift())
   ...
 
   вопрос: где я неправ? 
 
   пс. заменить m4 не предлагать.
   
 
       wbw,artur (Tishri 7, 5765)
 
 -- 
 Скромность украшает мужчину, когда его больше уже ничто не украшает
 
 --- ifmail v.2.15dev5.3
  * Origin: ase,cap gemini,ernst&young (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Вопрос об m4   Artur Penttinen   22 Sep 2004 23:40:36 
 Re: Вопрос об m4   Valeriy E. Ushakov   23 Sep 2004 00:45:06 
 Re: Вопрос об m4   Artur Penttinen   23 Sep 2004 09:06:46 
Архивное /ru.unix/11489d870d917.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional