交互设计网站有哪些,深圳企业建设网站,郑州企业管理培训课程,wordpress和thinkphp区别上下文无关是指#xff0c;一句话的含义与其前后的内容没有或者几乎没有关系#xff0c;只由自己决定#xff0c;把它剪切到其他任何位置#xff0c;也还是原有的意思。
例如#xff1a;
...
a 0;
...这是一个赋值语句#xff0c;无论此语句的前后是什么代码#xff…上下文无关是指一句话的含义与其前后的内容没有或者几乎没有关系只由自己决定把它剪切到其他任何位置也还是原有的意思。
例如
...
a 0;
...这是一个赋值语句无论此语句的前后是什么代码此语句所代表的操作是确定的。即 给变量a赋予值0 换句话说CPU遇到什么语句就执行什么语句不用管其他的。 编程语言为什么不用人类的语言自然语言而是用上下文无关的文法呢 因为
便于设计编译器。 试想一下如果可以用自然语言写代码那不就是实现了人工智能了吗客观上技术目前无法实现。便于代码开发维护。 如果开发出来的代码像高考的语文阅读理解一样每个人都有不同的理解那么到底哪个才是作者真正想要表达的如果人类都确定不了含义那计算机同样也确定不了最终结果就是错误执行或无法执行。汇编语言/机器语言是上下文无关的。CPU执行指令时读到哪条执行哪条。如果CPU需要考虑上下文来决定一个语句到底要做什么那么CPU执行一条语句会比现在慢千倍万倍。考虑上下文的事情完全可以用户在编程的时候用算法实现。既然机器语言是上下文无关的那高级语言也基本上是上下文无关的可能有某些个别语法为了方便使用设计成了上下文相关的比如脚本语言的弱类型。在便于使用的同时增加了解析器的复杂度。 综上编程语言基本上都采用上下文无关的原则设计语法。 附 上下文无关文法—维基百科