Я ищу грамматику Ruby в форме BNF. Есть ли официальная версия?
Рубиновая грамматика
Ответ 1
Да, в университете буйвола есть один синтаксис Ruby BNF.
Изменить: я также нашел этот альтернативный синтаксис Ruby BNF.
Ответ 2
Синтаксис YACC находится в источнике Ruby. Загрузите его и запустите загруженный файл, чтобы получить читаемый синтаксис.
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
Выходной образец (всего 918 строк для v2.0.0-p195)
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
                ;
		Ответ 3
также официальная версия: Спецификация Ruby Draft. вы можете найти там грамматику.
Спецификация Ruby Draft: http://ruby-std.netlab.jp. сервер выключен, но вы можете скачать его из http://www.ipa.go.jp/osc/english/ruby