我正在尝试自学Ruby的Treetop语法生成器.我发现,不仅文档中的"最佳"文档非常稀疏,而且它似乎并不像我希望的那样直观.
在高层次上,我真的很喜欢比现场文档或视频更好的教程,如果有的话.
在较低的层次上,这是一个我根本无法工作的语法:
grammar SimpleTest
rule num
(float / integer)
end
rule float
(
(( '+' / '-')? plain_digits '.' plain_digits) /
(( '+' / '-')? plain_digits ('E' / 'e') plain_digits ) /
(( '+' / '-')? plain_digits '.') /
(( '+' / '-')? '.' plain_digits)
) {
def eval
text_value.to_f
end
}
end
rule integer
(( '+' / '-' )? plain_digits) {
def eval
text_value.to_i
end
}
end
rule plain_digits
[0-9] [0-9]*
end
end
Run Code Online (Sandbox Code Playgroud)
当我加载它并在一个非常简单的测试对象中运行一些断言时,我发现:
assert_equal @parser.parse('3.14').eval,3.14
Run Code Online (Sandbox Code Playgroud)
工作正常,而
assert_equal …
Run Code Online (Sandbox Code Playgroud) 好的,所以我对另一个列表感到很兴奋.我得到了一份beta Clojure编程书的副本......
我注意到的最重要的一点就是假设我知道......就像所有主要的java类一样.
除此之外,一般来说,我并不关心Java.我只是想要足够的知识,让Clojure成为我的选择.
关于如何学习我需要的所有内容的任何建议?
我有一些语言,我一直在建立作为口译员.当我准备好采取"下一步"时,哪些选项最适合非本地编译格式...每种格式的优缺点是什么?
我一直在寻找编译CLR或LLVM,并考虑C-midcompile几次,但我不完全确定.
我希望能够移植的一些功能如下:
好吧,不是真的"少数",只有两个.我想我可以将我的语言支持的任何其他功能移植到"任何东西".
什么是我最好的选择,以及他们的优点/缺点?
我想使用AJAX在rails中实现可扩展的聊天室.我从研究中得知,唯一的可扩展性发生在服务器端推送上.
我的两个问题是:
1)在一个效率相当高的聊天服务器中,轮询在什么时候变得禁止?2)我真的不想使用Juggernaut.我不太了解彗星是如何工作的.我想我想知道,如果使用Javascript(创建客户端服务器/轮询器)和另一种语言(为防火墙后面的客户端提供有效的轮询,以及集成到CGI中),这对我来说是非常困难的.3)(是的,2个),我是否正确地走了正确的道路?
我希望得到的最简单的答案是量化的"是的,你将5行Javascript放入客户端,将20行ruby放入CGI脚本中,并将其称为一天".