2010-02-14 11 views
5

का उपयोग कर स्कैनर में कैरेक्टर स्थिति लेक्स/फ्लेक्स में चरित्र स्ट्रीम (फ़ाइल की शुरुआत से) में स्थिति प्राप्त करने का कोई तरीका है जो एक टोकन दिखाई देता है? Yylineno की तरह यह छोड़कर कि यह चरित्र स्थिति एक पूर्णांक के रूप में देता है?लेक्स/फ्लेक्स

यदि नहीं, तो इस पर जाने का सबसे अच्छा तरीका क्या है? क्या मुझे अपना काउंटर रखने की ज़रूरत है?

धन्यवाद!

+0

फ़ाइल की शुरुआत से या लाइन की शुरुआत से स्थिति? –

+0

फ़ाइल की शुरुआत से स्थिति – ChrisDiRulli

उत्तर

4

आप yyleng और YY_USER_ACTION का उपयोग कर चरित्र स्थिति को ट्रैक कर सकते हैं। yyleng की वर्तमान टोकन की लंबाई है, YY_USER_ACTION को टोकन से मेल खाने से पहले बुलाया जाता है। YY_USER_ACTION में, स्थिति चर के लिए yyleng जोड़ें। जब तक आप इनपुट स्ट्रीम की शुरुआत से वर्ण स्थिति नहीं चाहते हैं, तब तक आपको प्रत्येक एंड-ऑफ़-लाइन टोकन पर चर को रीसेट करने की आवश्यकता होगी। आपके नियम की कार्रवाई में, परिवर्तनीय - yyleng टोकन की प्रारंभिक स्थिति है।

+0

यह बढ़िया है! धन्यवाद! – ChrisDiRulli

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^