emacs एमएक्स टैग्स टेबल को लीक्स/याएक्स फाइल्स में#लाइन डायरेक्टिव द्वारा भ्रमित किया गया है



tags yacc (1)

समाधान इसके बजाय एटगास मोड में प्रचुर मात्रा में सीटीजेस को चलाया जाता है और पुनरावर्ती रूप से आप प्रचुर मात्रा में सीटीएड्स को एटैग मोड में चलने के कारण एटैग्स को प्रचुर मात्रा में सीटीएग बनाकर बनाते हैं और यह पता लगाता है कि यह एटैग के रूप में लॉन्च किया गया था और उचित रूप से व्यवहार करता है:

एटागास-आर

वैकल्पिक रूप से -ई का अर्थ है एटाएगा मोड:

सीटीएगा-ए-आर

मैं एक बड़ा सॉफ़्टवेयर प्रोजेक्ट के लिए एटाग्स का प्रयोग करके TAG टेबल बनाने की कोशिश कर रहा हूं I टैग्स फ़ाइल को उप-निर्देशिका में विद्यमान फाइलों के बजाय शीर्ष-स्तर पर प्रविष्टियां होने पर समाप्त होता है, क्योंकि लीक्स / yacc जनरेट किया गया सी # फ़ाइलों में #लाइन निर्देशों की वजह से एक अज्ञात फाइल नाम के बजाय # लाइन जिसमें फ़ाइल को उप-निर्देशिका शामिल है

शीर्ष पंक्ति फाइलों के रूप में व्याख्या किए जाने के बजाय उप-निर्देशिका में मौजूदा फ़ाइल को ठीक से हल करने के लिए इन #लाइन निर्देशों के साथ जेनरेट करने के लिए मैं TAGS तालिकाओं को कैसे प्राप्त करूं?

मैं शीर्ष स्तर निर्देशिका से इस तरह etags चलाता हूँ:

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

लेकिन मेरे पास एक फाइल है, एक्ट / पीआरसी, जिसमें उत्पन्न फ़ाइल के बीच में निम्न पंक्तियां हैं:

#define T_NUM 274
#define T_STRING 275

#line 5 "Par.y"

#undef actCPMeshConfigIn_yywrap
#define actCPMeshConfigIn_YYMAXDEPTH 20000

निम्न में से TAG तालिका तालिका प्रविष्टियों में कौन सा परिणाम है:

act/Par.c,1160
[...]
#define T_NUM 92,2870
#define T_STRING 93,2888

Par.y,1320
#undef actCPMeshConfigIn_yywrap20,
#define actCPMeshConfigIn_YYMAXDEPTH 22,

लेकिन फ़ाइल पैरा वास्तव में अधिनियम / पैरा में स्थित है, लेकिन #लाइन निर्देश वर्तमान फ़ाइल के सापेक्ष है, फिर भी TAGS ने उत्पन्न टैग फ़ाइल के मुकाबले इसे बना दिया है।

मैं इस परियोजना का निर्माण कैसे बदल सकता हूं, मैं कैसे TAGS फाइलें उत्पन्न कर सकता हूं ताकि इन #लाइन निर्देशों को सही तरीके से फ़ाइल के रिश्तेदार के रूप में व्याख्या किया जा सके? वैकल्पिक रूप से, मैं इन परेशानी फ़ाइलों को आसानी से कैसे छोड़ सकता हूँ?





etag