❶ 编译原理里产生式中符号带括号是什么意思
就是
字符本身
意思是F产生(
E
)
或者
i
比如If语句的开头
就是
带括号的
必须是
if(表达式)这样的形式
丢了任何即括号就是其
终结符
“(”
和
“)”.
❷ 汇编语言加中括号表示什么
一般说来,加方括号 [ ] 表示一种间接的取操作数方式,有点类似于C语言中的指针概念。
第一条指令 ADD AL , [SI] 中,[SI] 表示寄存器间接寻址。
也就是说,与AL中内容相加的加数,不是SI寄存器的内容,而是以SI的内容作为地址指针的内存操作数。
假设SI的内容是1234H,这条加法指令,不是将1234H加到AL里(也加不了,数据类型不对),而是以1234H作为地址,从内存的数据段(DS所指)中,段内偏移地址为1234H的那个内存单元中取出一个字节的数据来,加到AL中。
同样的,第二条指令 MOV [20H], AL,是将AL中的内容传送到内存里的一个单元中去。这个单元的有效地址就是[20H]。
这里,加了方括号的20H,不是运算所用的数据,而是数据的地址。
===================
对问题补充的回复:
AL是不可能加方括号的。
8086汇编中,能加方括号的只有4个寄存器:SI, DI, BX, BP
常数也可以加方括号,比如 [020H]
另外,变量名可以加方括号,但与上面两种情况不同,加了方括号的变量名,意义不变。
至于方括号内,可以出现BX+DI,SI+2这样的表达式,这是一些不同的寻址方式。
SI 是寄存器寻址
[SI]是寄存器间接寻址
[SI+2]是相对的寄存器间接寻址,又称直接变址寻址,它也可以写成2[SI]这样的形式
[BX+SI]是基址变址寻址,也可写成[BX][SI]
[BX+SI+20H]是相对的基址变址寻址,可以写成20H[BX][SI]之类的形式,将20H换成变量名也可以。
❸ 字符串常量的空串有什么意义吗
摘要 您好,字符串常量空串也是有意义的哦,比如空串一般用在给字符数组初始化
❹ 编译原理里产生式中符号带括号是什么意思
就是 字符本身 意思是F产生( E ) 或者 i 比如If语句的开头 就是 带括号的 必须是 if(表达式)这样的形式 丢了任何即括号就是其 终结符 “(” 和 “)”.
❺ 编译原理,求详解A*和A+代表什么意思
V是一个符号集合,假设V指的是三个符号a, b, c的集合,记为 V = {a, b, c }
V* 读作“V的闭包”,它的数学定义是V自身的任意多次自身连接(乘法)运算的积,也是一个集合。
也就是说,用V中的任意符号进行任意多次(包括0次)连接,得到的符号串,都是V*这个集合中的元素。
0次连接的结果是不含任何符号的空串,记为 ε
1次连接就是只有一个符号的符号串,比如,a,b, c
2次连接是两个符号构成的符号串,比如,aa, ab, ac, ba, bb, bc,等等
……
❻ 字符串常量的空串有什么意义吗
字符串常量的空字符串肯定是有用的,可能只是为了拼接字符串,或者判断其他的。