0
自然语言和编程语言在语法中有什么区别?自然语言和编程语言在语法环境中有什么区别?
自然语言和编程语言在语法中有什么区别?自然语言和编程语言在语法环境中有什么区别?
自然语言相当灵活。
此外,自然语言通常无法通过上下文无关语法完全描述。例如,在英语中,“分别”从句(连同其他一些结构)混淆了语法。当然,neither C# nor Java are context-free either(虽然this article声称有早期C#的上下文无关语法),但编程语言更可能有上下文无关文法。
最大的不同在于,自然语言的语法都允许歧义,而编程语言经过精心设计以避免歧义。考虑以下声明:
凯文看到约翰望远镜在公园里。
谁在使用望远镜 - 约翰还是凯文?他们中哪些人在公园里 - 凯文,约翰还是望远镜?一些解释:
编程语言精心设计,以避免你能写下这样的句子。