我正在寻找BNF形式的Ruby语法.有正式版吗?
YACC语法在Ruby源代码中.下载并运行捆绑的utiliy以获得可读的语法.
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 ;
是的,水牛大学有一种Ruby BNF语法.
编辑:我也发现了这种备用Ruby BNF语法.
也是正式版:Ruby Draft Specification.你可以在那里找到语法.
Ruby草案规范:http://ruby-std.netlab.jp.服务器已关闭,但您可以从http://www.ipa.go.jp/osc/english/ruby下载它