Pergunta
Estou procurando uma gramática rubi em forma de BNF. Existe um oficial versão?
Solução
Sim há um Sintaxe do Ruby BNF pela Universidade de Buffalo.
EDIT: Eu também encontrei isso alternativo Sintaxe do Ruby BNF.
Outras dicas
A sintaxe YACC está na fonte do rubi. Faça o download e execute o utiliy incluído para obter a sintaxe legível.
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
Amostra de saída (total de 918 linhas para a 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
;
Também uma versão oficial: Ruby Draft Specification. Você pode encontrar a gramática lá.
Especificação de rascunho de rubi: http://ruby-dd.netlab.jp. O servidor está inativo, mas você pode baixá -lo dehttp://www.ipa.go.jp/osc/english/ruby
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow