Friday, 15 August 2014

java - Is it possible to configure ANTLR grammar to use two token having the same structure? -


नीचे व्याकरण के लिए,

  व्याकरण नाम; पूर्णनाम: TITLE? प्रथम नाम अंतिम नाम; शीर्षक: 'मिस्टर' | 'सुश्री।' | 'श्रीमती।' ; FIRST_NAME: ('ए' .. 'जेड' | 'ए' .. '' z ') +; LAST_NAME: ('ए' .. 'जेड' | 'ए' .. '' z ') +; WHITESPACE: ('' '' '' '' '' '\ r' | '\ n' | '\ u000C') + - & gt; छोड़ें ;  

"श्री जॉन स्मिथ" जैसे इनपुट पार्स करने पर, यह अपवाद फेंक देता है

  बेमेल इनपुट 'स्मिथ' की उम्मीद LAST_NAME  

क्या इस केस को संभालने के लिए एएनटीएलआर को कॉन्फ़िगर करना संभव है? यदि संभव नहीं है, तो इसे संभाल करने का एक वैकल्पिक तरीका क्या हो सकता है?

कृपया ध्यान दें कि यह साधारण मामला तक सीमित नहीं है।

<कोड> FIRST_NAME और LAST_NAME के बीच कोई वाक्यविन्यास अंतर नहीं है; आपको उन्हें आवंटित करने की आवश्यकता है।

  व्याकरण के नाम; पूर्णनाम: TITLE? प्रथम = NAME अंतिम = NAME; शीर्षक: 'मिस्टर' | 'सुश्री।' | 'श्रीमती।' ; नाम: ('ए' .. 'जेड' | 'ए' .. '' z ') +; WHITESPACE: ('' '' '' '' '' '\ r' | '\ n' | '\ u000C') + - & gt; छोड़ें ;  

तब आप कॉल करने के लिए प्राप्त ("पहले") और प्राप्त कर सकते हैं ("अंतिम") मैच।


No comments:

Post a Comment