Tuesday 15 January 2013

yacc - Why do i have a shift reduce/conflict on the ')' and not '('? -


मेरे पास वाक्यविन्यास है

 % (var)  

और

 % var  

और (var)

मेरे नियम कुछ ऐसा है

  optExpr: | '%' '(' कॉमलोप ')' | '%' कॉमलोप कॉमलोूप: वैल | कॉमलोप ',' वैल एक्स्प: अधिक नियम | '(' वाल ')'  

समस्या यह है कि यह बताने में सक्षम नहीं लगता है कि) % (CommaLoop) या % ( वैल) लेकिन इसके बदले में शिकायत की गई है) () क्या है? इसे ( पर शिकायत नहीं करनी चाहिए और मुझे त्रुटि कैसे तय करनी चाहिए? मुझे लगता है कि % ( एक टोकन एक अच्छा समाधान है, लेकिन मुझे यह सुनिश्चित करना है कि क्यों $ ( ऐसा करने से पहले एक त्रुटि नहीं है।

No comments:

Post a Comment