के साथ सिंगल-लाइन सी-स्टाइल टिप्पणियों को पार्स करना मैंने सी-शैली एकल पंक्ति टिप्पणियों को समझने वाली छोटी भाषा के लिए व्याकरण लिखा है, उदाहरण के लिए।Antlr
// this is a comment
यहाँ, व्याकरण मैं इस भाषा के लिए लिखा था का एक टुकड़ा है antlr v3.0.1 कार्यों के
SINGLELINE_COMMENT
: '/' '/' (options {greedy=false;} : ~('\r' | '\n'))* ('\r' | '\n')+ {$channel=HIDDEN;};
WS : (' '|'\r'|'\t'|'\u000C'|'\n')+ {$channel=HIDDEN;};
यह काफी तरह का उपयोग कर, सिवाय इसके कि जब टिप्पणी लिपि में पिछले है और वहाँ कोई NL/सीआर समाप्त कर रहा है, मैं antlr से (क्रम में) एक कष्टप्रद संदेश मिला:
line 1:20 required (...)+ loop did not match anything at character '<EOF>'
कैसे मैं इस संदेश से छुटकारा पाने के कर सकते हैं? मैंने (..)+
अभिव्यक्ति को EOF
टोकन जोड़ने का प्रयास किया लेकिन यह काम नहीं करता है।
मुझे इस बारे में निश्चित नहीं है, लेकिन अगर नई लाइन वैकल्पिक बनाते हैं तो क्या होता है, यानी आप '+' को '' 'में बदलते हैं? या शायद एक '*'? – nijoakim
लालची विकल्पों को छोड़ने के बारे में क्या (वे केवल + के लिए प्रतीत होते हैं), और प्लस को एक प्रश्न चिह्न में बदलते हैं। –