bmk2 (1161739)
Текст из файла
Зыков Ю.Г. 4271.p←22.i ← -13.a←04.a1 ← 65. L6: ifFalse i < n goto L16.i ← +, i, 17.goto L28. L3: a ← -, a, i9. L2: t1 ← *, n, 410.t2 ← a1[t1]11.ifTrue a > t2 goto L312.ifFalse a == i goto L413.k←114.i←315.goto L516. L4: k ← %, a, 417.j←k18. L5: i ← *, a, a19.goto L620.k←121.p←422. L1: print p23.return iНББНББНББНББНББНББНББНББНББНББ ; можно заметить, что этот блок недостижимНББГраф потока управленияВсе входящие стрелки входят в начало блока, исходящие – выходят из конца.Далее инструкции индексируются номерами их строк в исходном внутреннем представлении (таким же образом эти инструкции помечены вГПУ).Множества Gen и Kill для всех базовых блоковNB1B2B3B4B5B6B7B8B9B10B11GEN{1,2,3,4}=111100000000000{}=000000000000000{6}=000010000000000{8}=000001000000000{9,10}=000000110000000{}=000000000000000{13,14}=000000001100000{16,17}=000000000011000{18}=000000000000100{20,21}=000000000000011{}=000000000000000KILL{6,8,14,18,21}=000011000100101{}=000000000000000{2,14,18}=010000000100100{3}=001000000000000{}=000000000000000{}=000000000000000{2,6,16,18,20}=010010000010110{13,20}=000000001000010{2,6,14}=010010000100000{1,13,16}=100000001010000{}=000000000000000Анализ достигающих определенийBB1B2B3B4B5B6B7B8B9B10B11(Out[B])0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(In[B])1000000000000000111100000000000111100000000000000000000000000101111000000000101111110000000101111110000000101111110000000101111111111000000000000000000111100000000011(Out[B])11111000000000001111000000000001011100000000000000010000000001011111100000001011111100000001011011111000001011111100110001011011110111000000000000000111111000000000113 итерации, последняя финальная, т.к.
совпадает со второй.(In[B])2000000000000000111101111011100111101111011100101111110000000101111111011000101111111011000101111111011000101111111011000101111111111000000000000000000111101111011100(Out[B])2111100000000000111101111011100101111111011000100111110000000101111111011000101111111011000101101111101000101111110011000101101111011100000000000000011111101111011100(In[B])3000000000000000111101111011100111101111011100101111110000000101111111011000101111111011000101111111011000101111111011000101111111111000000000000000000111101111011100(Out[B])3111100000000000111101111011100101111111011000100111110000000101111111011000101111111011000101101111101000101111110011000101101111011100000000000000011111101111011100В результате имеем:BB1B2B3B4B5B6B7B8B9B10B11INrd{}{1-4,8-10,13,16-18}{1-4,8-10,13,16-18}{1,3,4,6,8-10}{1,3,4,6,8-10,13,16,17}{1,3,4,6,8-10,13,16,17}{1,3,4,6,8-10,13,16,17}{1,3,4,6,8-10,13,16,17}{1,3,4,6,8-10,13,14,16,17}{}{1-4,8-10,13,16-18}Множества Use и Def для всех базовых блоковNB1B2B3B4B5B6B7B8B9B10B11DEF{1,2,3,4}=111100000000000{}=000000000000000{6}=000010000000000{8}=000001000000000{9,10}=000000110000000{}=000000000000000{13,14}=000000001100000{16,17}=000000000011000{18}=000000000000100{20,21}=000000000000011{}=000000000000000USE{}=000000000000000{2,18}=010000000000100{2,18}=010000000000100{3,6}=001010000000000{3,4,8,9}=001101100000000{3,6,8}=001011000000000{}=000000000000000{3,8,13,16}=001001001010000{3,8}=001001000000000{}=000000000000000{1,2,18}=110000000000100Анализ живых переменныхBB11B10B9B8B7B6B5B4B3B2B1(In[B])0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000(Out[B])10000000000000001100000000001000000000000000000010010000000000010010000000000010010010100000010110010100000011111010100000011111010100001111011010101001111011010101003 итерации.
В результате имеем:BB11B10B9B8B7B6B5B4B3B2B1OUTlv{}{1,2,18}{1-4,8,9,13,16,18}{1-4,8,9,13,16}{1-4,8,9,13,16}{1-4,8,9,13,16}{1-4,6,8,9,13,16}{1-4,6,8,9,13,16}{1-4,6,8,9,13,16}{1-4,8,9,13,16,18}{1-4,8,9,13,16,18}(In[B])1110000000000100110000000000100001001000000000001001001010000001001000000000001011001010000001111101010000001110101010000011101101010000111101101010100000001101010100(Out[B])2000000000000000110000000000100111101101010100111101101010000111101101010000111101101010000111111101010000111111101010000111111101010000111101101010100111101101010100(In[B])2110000000000100110000000000100111101101010000111101101000000111101100010000111111101010000111111101010000111110101010000111101101010100111101101010100000001101010100(Out[B])3000000000000000110000000000100111101101010100111101101010000111101101010000111101101010000111111101010000111111101010000111111101010000111101101010100111101101010100(In[B])3110000000000100110000000000100111101101010000111101101000000111101100010000111111101010000111111101010000111110101010000111101101010100111101101010100000001101010100.
Характеристики
Тип файла PDF
PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.
Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.