基本块
维基百科,自由的 encyclopedia
在电脑编译器架构中,基本块(basic block)是一段线性的程式码,只能从这段程式码开始处进入这段程式,没有其他程式码会跳跃进入这段程式,只能从这段程式码最后一行离开这段程式,中间没有其他程式码会跳跃离开这段程式[1][2]。这种程式的限制使得基本块非常好分析[3]。编译器处理程式时,会在分析程序中,将程式分解为所有基本块的组合。在控制流图中,基本块是控制流图中的节点。
此条目需要补充更多来源。 (2020年7月) |
以下是一段QuickBASIC程式,程式中的前二行(DO之前的程式码)即为基本块。
INPUT "What is your name: ", UserName$
PRINT "Hello "; UserName$
DO
INPUT "How many stars do you want: ", NumStars
Stars$ = STRING$(NumStars, "*")
PRINT Stars$
DO
INPUT "Do you want more stars? ", Answer$
LOOP UNTIL Answer$ <> ""
Answer$ = LEFT$(Answer$, 1)
LOOP WHILE UCASE$(Answer$) = "Y"
PRINT "Goodbye "; UserName$