Büyük bir yazılım projesi için etags kullanarak TAGS tabloları oluşturmaya çalışıyorum. TAGS dosyası, bir alt dizindeki var olanların yerine, alt dizindeki var olmayanların yerine, # dizisi yönergelerinin yerine # niteliksiz bir dosya adına başvuran #. dosyayı içeren alt dizini içeren satır.Emacs TAGS tablosu, lex/yacc dosyalarında #line yönergesiyle karıştırılıyor
nasıl Etiketler tabloları düzgün alt dizinine mevcut yerine üst düzey dosyaları olarak yorumlanır karar bu #line direktifleri oluşturmak için alabilirim?
Ben üst düzey dizinden böyle ETAGların çalıştırın:
rm -f TAGS; find . \(-not -regex '.*include/.*' \)
-a \(-name '*.h' -o -name '*.hh' -o -name '*.y' -o -name '*.l'
-o -name '*.cc' -o -name '*.cpp' -o -name '*.hpp' -o -name '*.c'
-o -name '*.inl' \)
| xargs etags -o TAGS --append
Ama bir dosya var, oluşturulan dosyanın ortasında aşağıdaki satırları içeren hareket/Par.c:
#define T_NUM 274
#define T_STRING 275
#line 5 "Par.y"
#undef actCPMeshConfigIn_yywrap
#define actCPMeshConfigIn_YYMAXDEPTH 20000
act/Par.c,1160
[...]
#define T_NUM 92,2870
#define T_STRING 93,2888
Par.y,1320
#undef actCPMeshConfigIn_yywrap20,
#define actCPMeshConfigIn_YYMAXDEPTH 22,
Ama dosya Par.y eylemdir: Aşağıdakilerden Etiketler tablo girdileri ile sonuçlanır
ually act/Par.y konumunda bulunur, ancak #line yönergesi geçerli dosyaya göre değişir, ancak TAGS bunu oluşturulan TAGS dosyasına göre yapar. Bu #line direktifleri düzgün onlar içinde meydana dosyasına göre olarak yorumlanır böylece projeyi nasıl inşa değiştirmeden
, nasıl TAGS dosyaları oluşturabilir? Alternatif olarak, bu zahmetli dosyaları nasıl kolayca atlayabilirim?