c - 编程语言中的术语 "context"以及加载和更新如何影响上下文?

标签 c compiler-construction grammar context-free-grammar formal-languages

术语上下文在上下文无关和上下文敏感的语言中是什么意思?一个变量可以有多个上下文吗?如果我需要将特定值存储在特定内存地址中,这会如何影响内存地址的上下文?如果我想更新一个变量,变量的上下文如何改变?

最佳答案

上下文相关文法,产生式有一般形式

aBc -> ab'c

其中大写符号是非终结符,小写符号是终结符和非终结符的序列。

在上面的示例中,ab 将是非终结符 B 的上下文,并指示 B 只有在被 ac 包围时才可能“扩展”为 b'

在上下文无关文法中,产生式可能看起来像

B -> b'

B “扩展”为 b' 而不管它周围有什么,换句话说,不管上下文如何。

关于c - 编程语言中的术语 "context"以及加载和更新如何影响上下文?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8196765/

相关文章:

c - 有什么方法可以修改此函数,以便它删除数组中的前一个元素 - C

compiler-construction - 在编译器 (ocaml) 中跟踪 AST 节点的源位置

vb.net - 发生错误时,VS2005立即运行我的旧代码

java - Antlworks语法解析器

grammar - 使用成对不相交测试确定语法是否为 LL

compiler-construction - 如何从形式语法生成句子?

c - 如何知道(3 个数字中)第二大的数字是多少? (C)

c++ - C++ 和 Ruby 之间的关系\依赖关系是什么?

compiler-construction - 使用 Antlr 创建语言

c - 设置新模型时是否需要释放GtkListStore?