Summary

This document is a collection of multiple-choice questions and problems related to compiler design and programming languages. The questions cover topics such as parsing techniques, grammar analysis, and compiler construction.

Full Transcript

1. Кой символ означава, че символ (или низ от символи) от граматиката се използва точно 1 път? а) * б) ? в) | г) + д) (част от правило) 2. Коя операция не се изпълнява при синтактичен анализ отдолу-нагоре? (Изберете едно) а) Проверка за съвместимост на типове б) Преместв...

1. Кой символ означава, че символ (или низ от символи) от граматиката се използва точно 1 път? а) * б) ? в) | г) + д) (част от правило) 2. Коя операция не се изпълнява при синтактичен анализ отдолу-нагоре? (Изберете едно) а) Проверка за съвместимост на типове б) Преместване в ново състояние в) Редуциране г) Откриване на грешки 3. Коя от следните операции е достатъчна за преобразуване на произволна контекстно-свободна граматика в LL(1)? а) Нито едно от изброените б) Премахване на лява рекурсия в) Факторизация г) Факторизация и премахване на лява рекурсия 4. Кой символ от граматиката означава прилагане на част от правило 0 или 1 път? (Свободен отговор) ? 5. Как се нарича програма, която генерира изпълним формат от отделно компилирани модули на входна програма? а) Асемблер б) Свързващ редактор в) Компилатор г) Интерпретатор д) Генератор 6. Дадена е следната граматика G: S -> F | H F -> p | c H -> d | c Твърдение 1: Може да се построи LL(1) парсер за извеждане на всички низове, породени от G. Tвърдение 2: Може да се построи LR(1) парсер за извеждане на всички низове, породени от G. а) Вярно е само твърдение 2 б) Нито едно от двете твърдения не е вярно в) Верни са и двете твърдения г) Вярно е само твърдение 1 7. Кое твърдение е ГРЕШНО за LR(k) парсер? (Изберете едно) а) Изпълнява синтактичен анализ отдолу-нагоре б) Поглежда напред в потока от лексеми в) Изпълнява синтактичен анализ отгоре-надолу г) Чете поток от лексеми 8. Коя от следните граматики поражда регулярни множества? а) Нито една от изброените б) Всички изброени в) Граматика на английски език г) Контекстно-свободна граматика д) Само граматика, която не е контекстно-свободна 9. Интерпретаторът изпълнява следните действия: (Изберете едно) а) Изпълнява директно операциите в програмата б) Генерира изходна програма в) Създава изпълним файл г) Намалява броя на грешките във входната програма 10. Какви лексеми се съдържат в следния текст на входна програма: (Изберете едно) while(i (D); P2: D -> D + A; P3: D -> A; P4: B -> a; P5: B -> b; P6: A -> A * B; P7: A -> B ; Дадената граматика е: а) контекстно-зависима б) неправилна в) контекстно-свободна г) регулярна 20. Даден е регулярен израз R на езика L върху азбуката {a, b} и низ w: R = (ba*bb)+(ba*ba + a(b+ a+b*a)), w = aabba Изберете едно: а) R не разпознава w б) R разпознава w в) R не е регулярен израз г) w не е низ от езика L 21. Дадена е следната граматика за пораждане на изрази: E -> E * F | F + E | F F -> F – F | id Кое от следните твърдения е ВЯРНО? а) – е с по-висок приоритет от * б) * е с по-висок приоритет от + в) + е с по-висок приоритет * г) + и – имат еднакъв приоритет 22. Граматиката S -> SS | 0S1 | 1S0 | ε поражда низове, които съдържат: а) Равен брой 0 и 1 б) Различен брой 0 и 1 в) Нито едно от изброените г) Произволен брой 0, следвани от произволен брой 1 23. Изберете ГРЕШНОТО твърдение: а) Синтактичното дърво може да бъде построено от корена или от листата б) Нито едно от изброените в) Ако даден връх в синтактичното дърво не е листо, то той винаги е означен с нетерминал г) В синтактичното дърво етикетите на листата са терминали 24. Изискване 2 за LL(1) е: (Изберете едно) а) За правила от вида A: ε first(A) | follow(A) = Ø б) За правила от вида A: ε first(A) ∩ follow(A) = U (универсално множество) в) За правила от вида A: ε first(A) | follow(A) = U (универсално множество) г) За правила от вида A: ε first(A) ∩ follow(A) = Ø 25. Кое от следните твърдения е ГРЕШНО? а) LR(k) синтактичен анализатор е по-мощен от LL(1) анализатор б) LR(k) граматика не може да бъде нееднозначна в) При еднозначна граматика е възможно ляво и дясно извеждане на изречение г) LL(1) синтактичен анализатор изпълнява анализ отгоре-надолу 26. При синтактичен анализ отдолу-нагоре разпознаването на изречението започва от: (Изберете едно) а) Код с относителни адреси б) Синтактично дърво на програматав) в) Код с абсолютни адреси г) Изпълним файл 27. При синтактичен анализ отдолу-нагоре разпознаването на изречението започва от: (Изберете едно) а) Стартов символ б) Първи терминален символ в) Низ от нетерминални символи г) Низ от терминални символи 28. Дадена е следната граматика S -> A111 | S1, A -> A0 | 00. Кой от следните езици поражда тази граматика? а) {0n1m | n=1, m=5} б) {0n1m | n=2, m=3} в) {0n1m | n трябва да е по-голямо от две и m трябва да е по-голямо от четири} г) Всички изброени д) Нито един от изброените 29. Коя от следните операции е достатъчна за преобразуване на произволна контекстно-свободна граматика в LL(1)? а) Факторизация и премахване на лява рекурсия б) Нито едно от изброените в) Премахване на лява рекурсия г) Факторизация 30.Дадена е граматиката G = { VT, VN, P, S }; VT = { a, b}; VN = {S, X, Y}; S = (S); P = { pi | i =1,3}: P1: S -> aXa P2: X -> ε | bY P3: Y -> ε | cXc (Изберете едно) а) aba б) acca в) abcbcba г) abcba 31. При кой тип граматики правилата изпълняват следното изискване: от лявата страна има единствен терминален символ, а от дясната страна има само един терминален символ или един терминален следван от един нетерминален символ или празен низ? (Изберете едно) а) Граматики без ограничения (тип 0) б) Контекстно-свободни граматики (тип 2) в) Регулярни граматики (тип 3) ???????????????? г) Контекстно-зависими граматики (тип 1) 32. При кой тип граматики правилата изпълняват следното изискване: от лявата страна има единствен НЕтерминален символ, а от дясната страна има само един терминален символ или един терминален следван от един нетерминален символ или празен низ? (Изберете едно) а) Граматики без ограничения (тип 0) б) Контекстно-свободни граматики (тип 2) в) Регулярни граматики (тип 3) г) Контекстно-зависими граматики (тип 1) 33. Граматика, която поражда повече от едно синтактично дърво за дадено изречение е: а) Нееднозначна б) Детерминирана в) Контекстно-зависима г) Регулярна д) Контекстно свободна е) Без ограничения 34. Кое от следните е вярно Граматика, която поражда повече от едно синтактично дърво за дадено изречение е: а) Нееднозначна б) Детерминирана в) Контекстно-зависима г) Регулярна д) Контекстно-свободна е) Без ограничения 35. ? a) (01)*0 = 0(10)* b) (0+1)*0(0+1)*1(0+1) = (0+1)*01(0+1)* c) (0+1)*01(0+1)*+1*0* = (0+1)* d) Всички изброени 36. Кое от следните не е регулярен израз? / Кой от следните изрази не е регулярен? a) [(a+b)*-(aa+bb)]* b) [(0+1)-(0b+a1)*(a+b)]* c) (01+11+10)* d) (1+2+0)*(1+2)* e) 0(1+2) f) Всички изброени 37. Какъв е изходът на лексическия анализатор? а) Набор от регулярни изрази б) Синтактични дървета в) Набор от токени г) Низ от символи 38. Кое от следните се използва за групиране на символите в токени? а) Парсер б) Оптимизация на кода в) Генериране на код г) Лексически анализ 39. Оптимизиращ компилатор: а) се оптимизира, за да заема по-малко място б) е оптимизиран, за да отнема по-малко време за изпълнение в) оптимизира кода г) Нито едно от изброените 40. Граматиката S -> aSa | bS | c е: а) LL(1), но не LR(1) б) LR(1), но не LL(1) в) и LL(1), и LR(1) г) нито LL(1), нито LR(1) 41. Кое от изброените действия описва по подходящ начин (приложимо за LR parsing)? a) Това е позицията в изречението, в която ще се извърши следната операция за изместване или намаляване б) Това е нетерминал, чиято продукция ще бъде използвана за редукция в следваща стъпка в) Това е продукция, която може да бъде използвана за редукция в бъдеща стъпка, заедно с позиция в изреченска форма, където ще се извърши следващата операция за изместване или редукция г) Това е продукцията p, която ще бъде използвана за редуциране в следващата стъпка, заедно с позицията в изреченската форма, където може да се намери дясната страна на продукцията 42. Кое от следните е парсер отгоре-надолу? а) Рекурсивно спускане б) Анализатор на прецедента на операторите в) LR(k) парсер г) LALR(k) парсер 43. Дадена е граматика с нетерминали N = {S,C,S1 }, терминали T={a,b,i,t,e}, S - стартов символ и следните правила: S -> iCtSS1 | a S1 -> eS | ε C -> b Граматиката не е LL(1), защото: а) е ляво рекурсивна б) е дясно рекурсивна в) е еднозначна г) не е контекстно-свободна 44. Граматиката A -> AA | (A) | ε не е подходяща за предсказващ parsing, защото граматиката е: а) еднозначна б) ляво рекурсивна в) дясно рекурсивна г) операторна граматика 45. Дадени са следните две твърдения: P: Всяка регулярна граматика е LL(1) Q: Всяко регулярно множество има LR(1) граматика Кое от следните е ВЯРНО? а) И двете P и Q са верни б) P е вярно, Q e грешно в) P е грешно, Q e вярно г) И двете P и Q са грешни 46. Следната граматика е дефиниране чрез следните правила с два оператора * и +. S -> T * P T -> U | T * U P -> Q + P | Q Q -> Id U -> Id Кое от следните е ВЯРНО? а) + е ляво асоциативен, докато * е дясно асоциативен б) + е дясно асоциативен, докато * е ляво асоциативен в) И двете + и * са дясно асоциативни г) И двете + и * са ляво асоциативни 47. Кои от следните правила на граматиката нарушават изискванията за операторна граматика? P, Q, R са нетерминали, а r, s, t са терминали. 1. P -> QR 2. P -> QsR 3. P -> ε 4. P -> QtRr а) само 1 б) само 1 и 3 в) само 2 и 3 г) само 3 и 4 48. При оценката на отдолу-нагоре на синтактично насочена дефиниция, наследените атрибути могат да: а) винаги да бъдат оценявани б) да се оценяват само ако дефиницията е L-атрибут в) да се оценяват само ако дефиницията има синтезирани атрибути г) никога да не се оценяват 49. Дадена е следната граматика: S -> CC C -> cC | d Граматиката е: а) LL(1) б) SLR(1), но не LL(1) в) LALR(1), но не SLR(1) г) LR(1), но не LALR(1) 50. Кой от следните методи е най-мощния parsing метод? b) LL(1) б) Canonical LR в) SLR г) LALR 51. Проверка на типовете се извършва по време на: а) Лексически анализ б) Синтактичен анализ в) Syntax directed translation г) Оптимизация на кода 52. Кое от следните е важно за ефективно преобразуване на инфиксен израз в постфиксен? а) Стек от оператори б) Стек за операнди в) Стек за операнди и стек за оператори г) дърво (parse tree) 53. Кое от следните твърдения е ГРЕШНО? а) Контекстно-свободната граматика се използва за лексически и синтактични правила б) Проверка на типовете се извършва преди синтактичния анализ в) Програмите, написано на езици от високо ниво могат да се транслират до различни междинни представяния г) Аргументите на функция могат да се предават чрез програмния стек 54. Кои от следните правила на граматиката нарушават изискванията за операторна граматика? A, B, C са нетерминали, а a, b, c са терминали. 1. A -> BC 2. A -> CcBb 3. A -> BaC 4. A -> ε а) само 1 б) само 1 и 2 в) само 1 и 3 г) само 1 и 4 55. Коя от следните фази на компилатора генерира поток от атоми? а) Синтактичен анализ б) Лексически анализ в) Генериране на код г) Оптимизация на код 56. Кое от следните е ГРЕШНО? а) LALR анализатор изпълнява анализа отдолу-нагоре б) Алгоритъм за синтактичен анализ, който извършва сканиране отляво надясно и отклонение най-вдясно е RL(1) в) LR анализатор изпълнява анализа отдолу-нагоре г) в LL(1), 1 показва, че има поглед само един символ напред 57. Дадени са следните твърдения: 1. Символните таблици са достъпни само по време на лексически и синтактичен анализ. 2. Компилаторите за програмните езици, които поддържат рекурсия, задължително се нуждаят от хранилище за паметта за разпределяне (allocation) в средата за изпълнение 3. Грешки, които нарушават условието “всяка променлива трябва да бъде декларирана преди използването и“, се откриват по време на синтактичния анализ. Кое/кои от следните твърдения са верни? а) само 1 б) само 1 и 3 в) само 2 г) Нито 1, 2 и 3 58. В компилатора ключовите думи на езика се разпознават по време на: а) синтактичния анализ на програмата б) генерирането на код в) лексическия анализ на програмата г) анализ на потока от данни 59. Дадени са следните твърдения: 1. Лексическия анализ се задава чрез контекстно-свободни граматики и се реализира чрез pushdown автомати 2. Синтактичния анализ се задава чрез регулярни изрази и се реализира от машина с крайно състояние (краен автомат) Кое твърдение е ВЯРНО? а) само 1 б) само 2 в) И двете 1 и 2 г) Нито 1, нито 2 60. Една от целите за използване на междинен код в компилаторите е да: а) направи синтактичния и семантичния анализ по-лесен б) подобри възстановяването на грешки и докладването на грешки в) увеличи шансовете за повторно използване на машинно-независимия оптимизатор на кода в други компилатори г) подобри разпределението на регистрите 61. Граматика, която е ляво и дясно рекурсивна за нетерминал е: а) еднозначна б) нееднозначна в) информацията не е достатъчна, за да се реши дали е еднозначна или нееднозначна г) нито едно от изброените 62. В сравнение с програмата, преведена/транслирана от компилатор, същата програма, когато е интерпретирана се изпълнява: а) по-бързо б) по-бавно в) със същата скорост г) може по-бързо или по-бавно 63. Кой от следните класове твърдения обикновено създава неизпълним код, когато се компилира? а) декларация б) декларации за присвояване в) входни и изходни оператори г) структурни оператори 64. В контекста на компилаторите, кое от изброените не е междинно представяне на изходната програма? а) Три адресен код б) Абстрактно синтактично дърво (AST) в) Графика на потока на управление (CFG) г) Символна таблица 65. Коя памет превежда/транслира един ред наведнъж? а) Интерпретатор б) Транслатор в) Симулатор г) Нито едно от изброените 66. Как се нарича транслатор, който използва програма написана на език от високо ниво като входна програма и създава машинен код като изход? а) Асемблер б) Компилатор в) Интерпретатор г) Дебъгер 67. Компютърна програма, която преобразува една програма в машинен език наведнъж е: а) Интерпретатор б) Компилатор в) Симулатор г) Конвертор 68. Компютърна програма, която преобразува асемблерен език в машинен език е: а) Компилатор б) Интерпретатор в) Асемблер г) Компаратор 69. Кой език се разбира лесно/директно от компютъра? а) Език от високо ниво б) Асемблер в) Машинен език г) Естествен 70. Асемблерния език: а) е най-лесния език за писане на програми б) използва азбучни кодове вместо двоични числа, използвани в машинен език в) не е нужно да бъде преобразуван в машинен език г) нито едно от изброените 71. Как се нарича процеса, който се използва за преобразуване на набор от инструкции или програма, които са написани на език от високо ниво, в инструкции (или програма), които могат да се изпълняват на компютър? а) асемблиране б) компилиране в) транслиране г) качване 72. Системния софтуер, който транслира сорс кода в обектен код е: а) асемблер б) компилатор в) интерпретатор г) езиков процесор 73. Кое от следните създава вход за компилаторите? а) интерпретатор б) асемблер в) зареждаща програма г) препроцесор 74. Каква прави интерпретатора, ако настъпи грешка? а) терминира програмата б) спира изпълнението в) чете цялата програма, дори и ако срещне грешки г) дава предупреждение 75. Какво прави компилатора, ако настъпи грешка? а) терминира програмата б) спира изпълнението в) чете цялата програма, дори и ако срещне грешки г) дава предупреждение 76. Изходът от асемблер се нарича: а) даннов файл б) файл за задачи в) обектен файл г) програмен файл 77. На колко типа е разделен синтактичния анализ? а) 2 б) 3 в) 4 г) 5 78. Когато синтактичния анализатор (парсера) започне създаването на дървото от стартовия символ и след това опита да преобразува стартовия символ във входа, входа се нарича: а) отдолу-нагоре б) отгоре-надолу в) и двете а) и б) г) нито едно от изброените 79. В кой от следните методи синтактичния анализатор стартира процеса на ново като използва различни правила за същата продукция, ако едно извеждане на продукцията се провали? а) отдолу-нагоре б) рекурсивно спускане в) връщане назад (backtracking) г) всички изброени 80. Вид рекурсивно спускане, което не изисква връщане назад (backtracking) е: а) предсказващ б) непредсказващ в) рекурсивен г) нерекурсивен 81. Предсказващия синтактичен анализатор (парсер) налага някои ограничения на граматиката и приема само клас на граматиката, известен като LL(k) граматика. а) вярно б) грешно в) може да е и вярно, и грешно г) не може да се каже 82. Кое от следните извеждания прави синтактичния анализатор отгоре-надолу по време на синтактичния анализ на входен низ? а) ляво извеждане б) ляво извеждане наобратно в) дясно извеждане г) дясно извеждане наобратно 83. Кое от следните извеждания прави синтактичния анализатор отдолу-нагоре по време на синтактичния анализ? а) ляво извеждане б) ляво извеждане наобратно в) дясно извеждане г) дясно извеждане наобратно 84. Преместването (relocation) е процес на замяна на символните референции или имената на библиотеките с актуални използваеми адреси в паметта преди изпълнението на програма? а) вярно б) грешно в) може да е и вярно, и грешно г) не може да се каже 85. Коя фаза от компилатора е лексическия анализ? а) първа б) втора в) трета г) четвърта 86. Лексическия анализатор се използва за: а) премахва белите пространства б) премахва коментари в) разделяне на синтаксиса в набор от токени г) всички изброени 87. Какво се случва, ако лексическия анализатор открие невалиден токен? а) генерира изключение б) генерира предупреждение в) генерира грешка г) прочита цялата програма 88. Как лексическия анализатор прочита кода? а) ред по ред б) дума по дума в) буква по буква г) чете цялата програма 89. Имплементацията на коя символна таблица е базира на местоположението на референция? а) Linear List б) Search Tree в) Hash Table (хеш таблица) г) Self Organization 90. Системни програми като компилатора са създадени за: а) повторно въвеждане б) неизползване в) серийно използване г) нито едно от изброените 91. Колко компонента има контекстно-свободната граматика? а) 2 б) 3 в) 4 (терминали, нетерминали, правила, стартов символ) г) 5 92. Как се нарича набора от токени? а) нетерминали б) терминални символи в) правила/продукции г) стартов символ 93. Кое от изброените се нарича лява страна на правило/продукция? а) правилото се състои от нетерминал б) последователност от токени и/или нетерминали в) и двете а) и б) г) нито едно от изброените 94. Кое от следните е графично изобразяване на извеждане (derivation) ? а) Derivation Tree б) Analyzers Tree в) Parse Tree (синтактично дърво) г) Ambiguity Tree 95. В синтактичното дърво листата се наричат: а) терминали б) нетерминали в) sub-terminal г) полутерминали 96. Кои от следните са ограничения (Limitations) на синтактичните анализатори? а) не могат да определят дали даден токен е валиден б) не могат да определят дали даден токен е деклариран преди да бъде използван в) не могат да определят дали дадена операция, изпълнена върху тип на токена е валидна или не г) всички изброени 97. Кое от следните твърдения е ВЯРНО? а) Краткия синтактичен анализ (Short Syntax Analysis) генерира синтактично дърво б) Синтактичния анализатор не проверява типа на операнда в) Символната таблица е създадена от компилатора, който съдържа списък на лексемите или токените г) Всички изброени 98. Коя грешка се очаква да бъде разпозната от семантичния анализатор? а) Несъвместимост на типове б) Недекларирана променлива в) Злоупотреба с резервиран идентификатор г) Всички изброени 99. Коя от следните задачи трябва да се изпълнява в семантичния анализ? а) размер на обхвата б) проверка на типове в) проверка на границите на масив Г) всички изброени 100. Коя фаза на компилиране е генерирането на код? а) първа б) втора в) трета г) последна 101. В насочен ацикличен граф, листата представляват: а) идентификатори б) имена в) константи г) всички изброени 102. Кое от следните не е вид междинно представяне? а) Абстрактно Синтактично Дърво (AST) б) Три Адресен Код в) Насочен Ацикличен Граф г) Reverse Polish Notation 103. На колко типа може да се раздели оптимизацията? а) 2 ( машинно-зависим и машинно-независим ) б) 3 в) 4 г) 5 104. При анализа на компилирането на PL/I програма терминът “машинно-независима оптимизация“ се асоциира с: а) създаване на по-оптична матрица б) разпознаване на основните елементи и създаване на унифицирани символи (токени) в) разпознаване на основните синтактични конструкции чрез редуциране г) използване на макропроцесор за създаване на по-оптимален код на асемблер 105.Преди да генерира междинен код, компилаторът може да модифицира междинни код чрез изчисления на адреси и подобряване на цикли: а) вярно б) грешно (след) в) може да е и вярно, и грешно г) не може да се каже 106. Компилаторът може да използва йерархията на паметта и регистрите на процесора: а) вярно б) грешно (след) в) може да е и вярно, и грешно г) не може да се каже 107. Компилатор за език от високо ниво, който работи на една машина и създава код за друга машина, се нарича: а) optimizing б) one pass в) cross г) multipass 108. Какъв приоритет има конкатенацията? а) първи б) втори в) трети г) четвърти 109. Кои от следните НЕ са ляво асоциативни? а) * б) | в) + г). 110. Регулярен израз, в който произволен брой 0 е следван от произволен брой 1 е следван от произволен брой 2 е: а) (0+1+2)* б) 0*1*2* в) 0* + 1 + 2 г) (0+1)*2* 111. Кое от следните НЕ е низ от регулярни израз R = (ab + abb)*bbab ? а) ababbbbab б) abbbab в) ababbabbbab г) abababab 112. Кой от следните езици описва дадената граматика: S -> AA, A -> aa, A -> bb ? а) L = {aaaa,aabb,bbaa,bbbb} б) L = {abab,abaa,aaab,baaa} в) L = {aaab,baba,bbaa,bbbb} г) L = {aaaa,abab,bbaa,aaab} 113. Към кой клас принадлежи анализаторът с изместване и редуциране? а) отдолу-нагоре б) отгоре-надолу в) рекурсивен г) предсказващ 114. Граматиката S -> (S) | SS | ε не е подходяща за предсказващ синтактичен анализ, защото граматиката е: а) операторна б) дясно рекурсивна в) ляво рекурсивна г) еднозначна 115. Дадена е следната граматика G: S -> A | B A -> a | c B -> b | c Твърдение 1: Може да се построи LR(1) парсер за извеждане на всички низове, породени от G. Tвърдение 2: Може да се построи LL(1) парсер за извеждане на всички низове, породени от G. а) Вярно е само твърдение 2 б) Нито едно от двете твърдения не е вярно в) Верни са и двете твърдения г) Вярно е само твърдение 1 116. Кой от следните е синтактичен анализатор отгоре-надолу? а) рекурсивно спускане б) асоциативно ляво изместване в) SLR(k) г) LR(k) 117. Кой от следните НЕ е синтактичен анализатор отдолу-нагоре с изместване и редуциране? а) LR б) LL в) SLR г) LALR 118. Коя от следните фази на компилирането е още позната като parsing? а) Лексически анализ б) Оптимизация на кода в) Синтактичен анализ г) Семантичен анализ 119. Дадено е ε-дърво с контекстно-свободна граматика: A -> u, A -> v a) Ако FIRST(u) ∩ FIRST(v) е празно, тогава граматиката трябва да е LL(1) б) Ако граматиката е LL(1), тогава FIRST(u) ∩ FIRST(v) трябва да са празни в) И двете а) и б) г) Нито едно от изброените 120. Кое от следните твърдения е ГРЕШНО? а) Граматиката S -> aSb | bSa | SS | ε, където S е единствения нетерминал и ε е празен символ, е еднозначна б) SLR по-мощна от LALR в) LL(1) е синтактичен анализатор отгоре-надолу г) YACC инструмента е LALR(1) генератор 121. Кое от следните твърдения е ГРЕШНО? а) Синтактичните анализатори отгоре-надолу са LL анализатори, където първото L означава сканиране отляво надясно, а второто – ляво извеждане б) (000)* е регулярен израз, който съвпада със само със низове, които съдържат нечетен брой нули, включително и празен низ в) Синтактичните анализатори отдолу-нагоре са LR анализатори, където първото L означава сканиране отляво надясно, а второто – дясно извеждане г) Класът на контекстно-свободните езици е затворен при обръщение. Тогава ако L е някакъв контекстно- свободен език, тогава езикът LR = { wR : WεL} е контекстно-свободен 122. Символа “K” в LR(K) НЕ може да бъде: а) 0 б) 1 в) 2 г) Нито едно от изброените 123. Действието за прехвърляне на изходната програма в подходящия синтактичен клас е: а) Синтактичен анализ б) Лексически анализ в) Интерпретационен анализ г) Генериране на лексеми (uniform) 124. Анализаторите с изместване изпълняват следното: а) Стъпка за преместване, която напредва във входния поток с K(K>1) символа, и стъпка за редуциране, която прилага завършено граматично правило към някои скорошни синтактични дървета, като ги обединява в едно дърво с нов коренен символ б) Стъпка на преместване, която придвижва входния поток с един символ, и стъпка за редуциране, която прилага завършено граматично правило към някои скорошни синтактични дървета, като ги обединява в едно дърво с нов коренов символ в) Стъпка на преместване, която придвижва входния поток с K(K=2) символа, и стъпка за редуциране, която прилага завършено граматично правило за формиране на едно дърво г) Стъпка на преместване, която не напредва във входния поток, и стъпка за редуциране, която прилага завършено граматично правило, за да образува едно дърво 125. Анализатора с изместване и редуциране има: а) проблем само с изместване-редуциране б) проблем само с редуциране-редуциране в) И двете а) и б) г) проблеми с shift handle и reduce handle 126. Коя от следните граматики е LR(1)? a) A-> aAb, A -> bAb, A -> a, A -> b б) A -> aAa, A -> aAb, A -> c в) A -> A + A A -> a г) И двете а) и б) 127. В края на синтактичния анализ: а) токените са идентифицирани б) набора от инструкции е идентифициран в) синтактичните групи са идентифицирани г) машинните инструкции са идентифицирани 128. Синтактично дърво е анотирано (annotated) синтактично дърво ако: а) показва стойностите на атрибутите на всеки възел б) няма унаследени атрибути в) има синтезирани възли като терминални възли г) всеки възел с нетерминали е наследен атрибут 129. Коя таблица е постоянна база данни, която съдържа запис за всеки терминален символ? а) Reductions б) таблица на идентификаторите в) таблица на литералите г) таблица на терминалите 130. Три адресния код включва: а) точно 3 адреса б) най-много 3 адреса в) никакви унарни оператори г) нито едно от изброените 131. Кое от следните обединява всички токени заедно в семантични структури? а) Синтактичен анализатор б) Генериране на междинен код в) Лексически анализ г) Семантичен анализ 132. За наличието на какво в програмата трябва да уведоми компилатора по време на транслиране? а) класове б) обекти в) грешки г) текст 133. В компилатора, структурата от данни, която е отговорна за управлението на информацията за променливи и техните атрибути е: а) семантичен стек б) синтактична таблица в) символна таблица г) абстрактно синтактично дърво 134. Какви грешки може да проверява компилатора? а) логически б) синтактични в) в съдържанието г) И двете а) и б) 135. При коя от следните фази на компилатора се проверява граматиката? а) Семантичен анализ б) Синтактичен анализ в) Оптимизация на кода г) Генериране на код 136. Фазата Синтактичен Анализ е базирана на: а) Език от високо ниво б) Език от ниско ниво в) Контекстно-свободна граматика г) Регулярна граматика 137. Кой е процесът, който определя дали токените могат да бъдат генерирани от граматиката? а) анализиране б) синтактичен анализ в) транслиране г) разпознаване 138. Компилатора превежда/транслира сорс кода в: а) машинен код б) двоичен код в) изпълним код г) И двете а) и б) 139. Колко части има компилатора? а) 8 б) 4 ??? в) 2 ??? г) 1 140. Кой е процесът, който намира синтактично дърво за низ от токени? а) Анализиране б) Разпознаване в) Лексически анализ г) Синтактичен анализ 141. Каква е употребата на символните таблици? а) за намиране на обхвата на име б) за проверка на типове в) за запазване на всички имена от всички структури на едно място г) Всички изброени 142. Кой от следните инструменти може да открие грешка, която се състои в това, че програмистът е написал във входната програма умножение вместо деление? а) свързващ редактор б) зареждаща програма в) интерпретатор г) Нито едно от изброените ???? д) компилатор е) транслатор ж) асемблер 143. Как може да бъде открита грешка, която се състои в това, че програмиста е умножил две числа, вместо да ги раздели по грешка? а) компилатор или интерпретатор б) само компилатор в) само интерпретатор г) Нито едно от изброените (логическа грешка) 144. Кой е отговорен за създаването на символна таблица? а) Асемблер б) Компилатор в) Интерпретатор г) Всички изброени 145. Регулярния израз, от който могат да се изведат произволен брой х или у е: а) (x + y) б) (x + y)* (като х | y)* в) (x* + y) г) (xy)* 146. Какъв низ ще бъде генериран от следните правила: S -> aS | bA, A -> d | ccA ? а) aabccd б) adabcca в) abcca г) abababd 147. Коя от следните не е задача на лексическия анализ а) Анализ на коментари б) Четене на входната програма в) Премахване на интервали г) Оптимизация на кода 148. Кое твърдение е грешно за LL(1) парсер? а) Чете поток от лексеми б) Изпълнява синтактичен анализ отгоре-надолу в) Изпълнява синтактичен анализ отдолу-нагоре г) Поглежда напред в потока от лексеми 149. LL(1) парсерите избират клон от правило чрез: Поглеждане на следващ символ 150. Посочете вярното съответствие: P. Регулярен израз Q. Стеков автомат R. Анализ на даннови потоци S. Заемане на регистри 1. Синтактичен анализ 2. Генериране на код 3. Лексически анализ 4. Оптимизация на код а) P-3, Q-4, R-1, S-2 б) P-3, Q-1, R-4, S-2 – по-скоро това в) P-4, Q-1, R-2, S-3 г) P-2, Q-1, R-4, S-3 151. При кой тип граматики съществува ограничения от лявата страна на правилата да има единствен нетерминален символ, а от дясната страна низ от терминали/нетерминални символи или празен низ? а) Контекстно-свободни граматики (тип2) б) Контекстно-зависими (тип1) в) Граматики без ограничения (тип 0) г) Нито една от изброените 152. Кой от следните етапи на компилиране е машинно-независим? а) Лексически анализ б) Всички изброени в) Генериране на междинен код г) Синтактичен анализ 153. Нека L1 е клас езици, разпознавани чрез краен автомат, а L2 е клас езици, които могат да бъдат представени чрез регулярни изрази? а) L1 U L2 = * б) Всички изброени в) L1 >= L2 г) L1 = L2 д) L1 < L2 154. След успешно приключване на генератора на код се получава: а) Код с относителни адреси б) Синтактично дърво на програмата в) Код с абсолютни адреси г) Изпълним файл 155. Как се нарича символ от граматиката, който не може да се замести с други символи? а) Невалиден б) Специален в) Терминален г) Нетерминален 156. Факторизация се използва: а) За намаляване на броя на правилата в граматиката б) За опростяване на граматиката в) За преобразуване на правила при нарушаване на изискване 2 за LL(1) граматика г) За преобразуване на правила при нарушаване на изискване 1 за LL(1) граматика 157. Дадени са следните правила: S -> Aa | Ac A -> b а) FOLLOW(A) = Ø б) FOLLOW(b) = A в) FOLLOW(A) = {a, c} г) FIRST(A) = {a, c} 156. Една граматика е нееднозначна, когато: а) Съществува повече от едно дърво за извеждане на дадено изречение чрез правилата (отговор от Мудъл) б) Не може да се реализира синтактичен анализатор с рекурсивно спускане за тази граматика в) Правилата нарушават някое от изискванията на LL г) В правилата има противоречие 157. Каква грешка е несъответстващ брой на скобите? а) Синтактична б) Грешка при генериране на код в) Лексическа г) Семантична 158. Какви лексеми се съдържат в следния текст на входна програма: while (i =! 10) { if( j > 0) k = l + 1; } а) Две ключови думи, два идентификатора, четири оператора, три константи б) Две ключови думи, два идентификатора, три оператора, три константи в) Две ключови думи, четири идентификатора, четири оператора, три константи г) Две ключови думи, два идентификатора, три оператора, две константи 159. Как се наричат транслатори от машинен код към обектен код? а) Конвертори б) Асемблери в) Компилатори г) Това е невъзможно поради нееднозначност (в Мудъл пише този) 160. Каква грешка е невалидна символна константа? а) Лексическа б) Синтактична в) Семантична г) Грешка при генериране на код 161. Изискване 1 за LL (1) граматика e: а) За правила от вида A: A i | A j first(A i ) | first(A j ) = Ω , i =/j б) За правила от вида A: A i | A j first(A i ) | first(A j ) = Ø, i =/j в) За правила от вида A: A i | A j first(A i ) ⋂ first(A j ) = Ω , i =/j г) За правила от вида A: A i | A j first(A i ) ⋂ first(A j ) = Ø, i =/j 162. На кой етап от компилирането се разпознават идентификатори? а) Синтактичен анализ б) Семантичен анализ в) Генериране на код г) Лексически анализ 163. Как се нарича паметта, която се използва за предаване на параметри на подпрограма? а) Стек 164. Дадено е следното правило: function_list -> function function_list | function а) Нито едно от изброените б) Правилото може да се реализира с рекурсивно спускане в) Правилото не може да се реализира с рекурсивно спускане, защото съдържа рекурсия г) Правилото може да се реализира с рекурсивно спускане, но само след подходящи преобразувания (факторизация) 165. LL(1) парсерите с рекурсивно спускане избират клон от правило чрез: а) Случаен избор. б) Връщане назад (backtracking) в) Прилагане на правилата в обратен ред г) Поглеждане на следващ символ 166. Дадена е граматика: G = { VT, VN, P, S}; VT={a, b}; VN = {A, B}; S={A}; P={Pi | i= 1,3}: P1 : S -> AB P2: A -> aB | ε р3: В -> b | bB и низ аaabb Дадената граматика е: а) Контекстно-свободна б) Нито една от посочените в) Регулярна г) LL(1) 167. Дадена е граматика: G = { VT, VN, P, S}; VT={a, b}; VN = {A, B}; S={A}; P={Pi | i= 1,3}: P1 : S -> AB P2: A -> aA | ε р3: В -> b | bB Дадената граматика е: а) Контекстно-свободна (отг. В Мудъл) б) Нито една от посочените в) Регулярна г) LL(1) 168. Дадена е граматика: G = { VT, VN, P, S}; VT={a, b}; VN = {A, B}; S={A}; P={Pi | i= 1,3}:P1 : S -> AB P2: A -> aA | ε р3: В -> b | bB и низ аaabb а) Граматиката е регулярна б) Низът е синтактично неправилен в) Даденият низ може да се изведе от правилата на граматиката г)Дадения низ не може да се изведе от прилагане на правилата в следния ред 169. Дадена е граматика: G = { VT, VN, P, S}; VT={a, b}; VN = {A, B}; S={A}; P={Pi | i= 1,3}: P1 : S -> AB P2: A -> aA | ε р3: В -> b | bB и низ aaabb а) В дефиницията на граматиката има противоречие б) Даденият низ може да се изведе чрез прилагане на правилата в следния ред: p1 -> p2 -> p2 -> p2 -> p3 -> p3 в) Даденият низ не може да се изведе от правилата на граматиката г) Дадения низ може да се изведе чрез прилагане на правилата в следния ред: p1 -> p2 -> p2 -> p2 -> p2 -> p3 -> p3 170. Дадена е граматика: G = { VT, VN, P, S}; VT={a, b}; VN = {A, B}; S={A}; P={Pi | i= 1,3}: P1 : S -> AB P2: A -> aB | ε р3: В -> b | bB и низ aaabb а) В дефиницията на граматиката има противоречие б) Даденият низ може да се изведе чрез прилагане на правилата в следния ред: p1 -> p2 -> p2 -> p2 -> p3 -> p3 в) Даденият низ не може да се изведе от правилата на граматиката г)Дадения низ може да се изведе чрез прилагане на правилата в следния ред: p1 -> p2 -> p2 -> p2 -> p3 -> p3 171.Какви символи може да има в кода на една програма: а) Само терминални б) Терминални и нетерминални в) Нито терминални, нито нетерминални г) Само нетерминални 172. Хийп (heap) се нарича: а) Динамична памет, създадена по време на изпълнение б) Междинно представяне на програма в) Корен на синтактичното дърво на програма г) Памет за предаване на параметри на подпрограма 173. Предаване по референция представлява: а) Метод за синтактичен анализ б) Проверка на типове в) Метод за предаване на параметър на подпрограма г) Метод за семантичен анализ 174. Какво е представянето на израза а*b+c*d в обратен полски запис? а) abcd*+* б) ab*cd*+ в) ab*+cd г) ac+*cd* 175. Изразът ab*cd*+ e ОПЗ (обратен полски запис) за следния аритметичен израз а) a*b(c+d) б) a*b+c*d в) a*b*d+c г) a*b*c+d 176. Стеков фрагмент (Стеков кадър) се построява от компилатора а) На етапа на семантичния анализ б) При генериране на код в) На етапа на синтактичния анализ г) На етапа на лексическия анализ 177. Дадена е граматиката: G = {VT,VN,P,S}; VT = {a, b, -, *, (, ) } VN = {A, B, C}; S={C}; P = {Pi | i=1,7}: p1: C -> C - A p2: C -> A p3: B -> (C) p4: B -> a p5: B -> b p6: A - > A * B p7: A -> B и низ w=(a*b)-a-a*b а) Граматиката разпознава дадения низ б) В дефиницията на граматиката има противоречие в) Това не е низ от дадения език, описан чрез граматиката G г) Низът е синтактично неправилен 178. Дадена е граматиката: G = {VT,VN,P,S}; VT = {a, b,} VN = {A, B, C, D}; S={D}; P = {Pi | i=1,8}: p1: D -> aA p2: D -> bD p3: B -> aD p4: B -> aC p5: C -> aC p6 :C -> bC p7: A -> aB p8: A -> bB и низ w=(a*b)-a-a*b а) Граматиката е без ограничения б) Граматиката е контекстно-зависима в) Чрез граматиката не може да се генерира низ от Vt г) Граматиката е контекстно-свободна 179. Дадена е граматиката G = { VT, VN, P, S}; VT = {a, b} VN = {A, B, C, D}; S={D}; P={ pi | i =1,8}: p1: D -> aA p2: D -> bD p3: B -> aD p4: B -> aC p5: C -> aC p6: C -> bC p7: A -> aB p8: A -> bB а) Граматиката е контекстно-свободна б) Чрез граматиката не може да се генерира низ от V T* в) Граматиката е без ограничения г) Граматика е контекстно-зависима 180. Дадено е правило от граматика: 181. Кое от изброениете описва какво е основа (handle) при LR анализ? а) подниз в разпознаваемия низ, който се измества в стека на синтактичния анализатор б) подниз в разпознаваемия низ, който може да се редуцира с някое от правилата на граматиката в) следващата стъпка от анализа, при която ще бъде изпълнена операция редуциране г) позиция в разпознаваемия низ, за която се определя следващата операция изместване или редуциране 182. Какво се получава, когато за текущ терминален символ от входния поток синтактичния анализатор не може да определи дали за запише терминала в стека или да съкрати анализирания низ чрез някое от правилата на формалната граматика? 183. Кога LR парсер открива синтактични грешки във входната програма? 184. Дадени са следните правила от граматиката… Попълнете полетата в следващия ед при прилагането на правилата за извеждане на изречение: 185. Дадена е граматиката G={…} 186. При коя от изброените ситуации се получава конфликт редуциране-редуциране? 187. Посочете общото и рзличното между LR, LALR, SLR? 188. Дадена е граматиката… Низът се образува чрез следната последователност: - Низът е неправилен ? или с) 189. Кой низ принадлежи на езика, породен от следната граматика?

Use Quizgecko on...
Browser
Browser