2009-03-19 28 views

उत्तर

14

हां, भैंस विश्वविद्यालय द्वारा Ruby BNF syntax है।

संपादित करें: मुझे यह वैकल्पिक Ruby BNF syntax भी मिला है।

+5

लेकिन मुझे नहीं लगता कि पहले लिंक एक "आधिकारिक" व्याकरण के लिए है। मैंने सुना है कि रुबी के लिए आधिकारिक व्याकरण की सबसे नज़दीकी चीज parse.y फ़ाइल है। –

+5

दुर्भाग्यवश, समान यूओबी और नाजीत व्याकरण पूरी तरह से गलत हैं। लूप के लिए कोई नहीं है, विस्तार और विवरण शामिल हैं गायब हैं और अपवाद चर गायब हैं। – Barry

5

भी एक आधिकारिक संस्करण: रूबी ड्राफ्ट विशिष्टता। आप वहां व्याकरण पा सकते हैं।

रूबी ड्राफ्ट विशिष्टता: http://ruby-std.netlab.jp। सर्वर नीचे है, लेकिन आप इसे http://www.ipa.go.jp/osc/english/ruby

+0

लिंक बिना पासवर्ड के पहुंच योग्य है। रिपोर्ट के लिए –

+1

धन्यवाद। जब मैंने उस टिप्पणी को पोस्ट किया तो पुराना लिंक काम करता था। लेकिन मैंने एक नया लिंक जोड़ा है। यह अब काम करना चाहिए। – GutenYe

+0

बहुत अच्छा। मैं इसे 1.8.7 के लिए देखता हूं। रूबी 2.0 के लिए कोई नया है? – sunnyrjuneja

26

से डाउनलोड कर सकते हैं YACC वाक्यविन्यास रूबी स्रोत में है। इसे डाउनलोड करें और पठनीय वाक्यविन्यास प्राप्त करने के लिए बंडल यूटिलि चलाएं।

wget ftp://ftp.ruby-lang.org/pub/ruby/2.0/ruby-2.0.0-p195.tar.gz 
tar xvzf ruby-2.0.0-p195.tar.gz 
cd ruby-2.0.0-p195 
ruby sample/exyacc.rb < parse.y 

आउटपुट नमूना (v2.0.0-p195 के लिए कुल 918 लाइनों)

program   : top_compstmt 
       ; 

top_compstmt : top_stmts opt_terms 
       ; 

top_stmts  : none 
       | top_stmt 
       | top_stmts terms top_stmt 
       | error top_stmt 
       ; 

top_stmt  : stmt 
       | keyword_BEGIN 
        '{' top_compstmt '}' 
       ; 

bodystmt  : compstmt 
        opt_rescue 
        opt_else 
        opt_ensure 
       ; 

compstmt  : stmts opt_terms 
       ; 
+4

अब बस 'गिट क्लोन https://github.com/ruby/ruby; सीडी रूबी; रूबी नमूना/exyacc.rb

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