Questions tagged «formal-semantics»

2
Rust的确切自动引用规则是什么?
我正在使用Rust进行学习/实验,并且在使用该语言所获得的所有优雅中,都有一种使我感到困惑的特质,并且似乎完全不合时宜。 进行方法调用时,Rust自动取消引用指针。我进行了一些测试以确定确切的行为: struct X { val: i32 } impl std::ops::Deref for X { type Target = i32; fn deref(&self) -> &i32 { &self.val } } trait M { fn m(self); } impl M for i32 { fn m(self) { println!("i32::m()"); } } impl M for X { fn m(self) { …

3
Bash脚本的语义?
每次我需要一些小东西时,我都会通过谷歌搜索来“学习” Bash,这比我所知道的任何其他语言都多。因此,我可以将看起来有用的小脚本拼凑在一起。不过,我并不真正知道发生了什么事情,我希望的是更正式的介绍bash作为编程语言。例如:什么是评估顺序?范围规则是什么?打字纪律是什么,例如,一切都是字符串吗?程序的状态是什么?它是字符串到变量名的键值分配吗?还有更多,例如堆栈吗?有堆吗?等等。 我本来想咨询GNU Bash手册以获得这种见解,但这似乎并不是我想要的。它更多是语法糖的清单,而不是核心语义模型的解释。在线的百万个“ bash教程”更糟。也许我应该先学习sh,然后再将Bash理解为一种语法糖?不过,我不知道这是否是一个准确的模型。 有什么建议么? 编辑:我被要求提供理想情况下我正在寻找的示例。我认为“形式语义学”的一个极端例子是这篇关于“ JavaScript本质”的文章。Haskell 2010报告也许是一个不太正式的例子。
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.