EP2
50 Questions
11 Views

Choose a study mode

Play Quiz
Study Flashcards
Spaced Repetition
Chat to lesson

Podcast

Play an AI-generated podcast conversation about this lesson

Questions and Answers

Кой от следните методи е най-мощния parsing метод?

  • a) LL(1)
  • б) Canonical LR (correct)
  • в) SLR
  • г) LALR
  • Проверка на типовете се извършва по време на:

  • а) Лексически анализ
  • б) Синтактичен анализ
  • в) Syntax directed translation (correct)
  • г) Оптимизация на кода
  • Кое от следните твърдения е ГРЕШНО?

  • Контекстно-свободната граматика се използва за лексически и синтактични правила
  • Проверка на типовете се извършва преди синтактичния анализ (correct)
  • Програмите, написано на езици от високо ниво могат да се транслират до различни междинни представяния
  • Аргументите на функция могат да се предават чрез програмния стек
  • Кои от следните правила на граматиката нарушават изискванията за операторна граматика? A, B, C са нетерминали, а a, b, c са терминали.

    <p>само 1 и 4</p> Signup and view all the answers

    Коя от следните фази на компилатора генерира поток от атоми?

    <p>Синтактичен анализ</p> Signup and view all the answers

    Кое от следните е ГРЕШНО?

    <p>Алгоритъм за синтактичен анализ, който извършва сканиране отляво надясно и отклонение най-вдясно е RL(1)</p> Signup and view all the answers

    В компилатора ключовите думи на езика се разпознават по време на:

    <p>лексическия анализ на програмата</p> Signup and view all the answers

    В сравнение с програмата, преведена/транслирана от компилатор, същата програма, когато е интерпретирана се изпълнява:

    <p>по-бавно</p> Signup and view all the answers

    В контекста на компилаторите, кое от изброените не е междинно представяне на изходната програма?

    <p>Символна таблица</p> Signup and view all the answers

    Как се нарича транслатор, който използва програма написана на език от високо ниво като входна програма и създава машинен код като изход?

    <p>Компилатор</p> Signup and view all the answers

    Компютърна програма, която преобразува една програма в машинен език наведнъж е:

    <p>Компилатор</p> Signup and view all the answers

    Компютърна програма, която преобразува асемблерен език в машинен език е:

    <p>Асемблер</p> Signup and view all the answers

    Кой език се разбира лесно/директно от компютъра?

    <p>Машинен език</p> Signup and view all the answers

    Асемблерния език:

    <p>използва азбучни кодове вместо двоични числа, използвани в машинен език</p> Signup and view all the answers

    Как се нарича процеса, който се използва за преобразуване на набор от инструкции или програма, които са написани на език от високо ниво, в инструкции (или програма), които могат да се изпълняват на компютър?

    <p>компилиране</p> Signup and view all the answers

    Кое от следните създава вход за компилаторите?

    <p>препроцесор</p> Signup and view all the answers

    Каква прави интерпретатора, ако настъпи грешка?

    <p>спира изпълнението</p> Signup and view all the answers

    Какво прави компилатора, ако настъпи грешка?

    <p>чете цялата програма, дори и ако срещне грешки</p> Signup and view all the answers

    Изходът от асемблер се нарича

    <p>обектен файл</p> Signup and view all the answers

    На колко типа е разделен синтактичния анализ?

    <p>2</p> Signup and view all the answers

    Когато синтактичния анализатор (парсера) започне създаването на дървото от стартовия символ и след това опита да преобразува стартовия символ във входа, входа се нарича:

    <p>отгоре-надолу</p> Signup and view all the answers

    Вид рекурсивно спускане, което не изисква връщане назад (backtracking) е:

    <p>предсказващ</p> Signup and view all the answers

    В кой от следните методи синтактичния анализатор стартира процеса на ново като използва различни правила за същата продукция, ако едно извеждане на продукцията се провали?

    <p>връщане назад (backtracking)</p> Signup and view all the answers

    Предсказващия синтактичен анализатор (парсер) налага някои ограничения на граматиката и приема само клас на граматиката, известен като LL(k) граматика

    <p>вярно</p> Signup and view all the answers

    Кое от следните извеждания прави синтактичния анализатор отгоре-надолу по време на синтактичния анализ на входен низ?

    <p>ляво извеждане</p> Signup and view all the answers

    Преместването (relocation) е процес на замяна на символните референции или имената на библиотеките с актуални използваеми адреси в паметта преди изпълнението на програма?

    <p>вярно</p> Signup and view all the answers

    Коя фаза от компилатора е лексическия анализ?

    <p>първа</p> Signup and view all the answers

    Лексическия анализатор се използва за:

    <p>всички изброени</p> Signup and view all the answers

    Какво се случва, ако лексическия анализатор открие невалиден токен?

    <p>генерира грешка</p> Signup and view all the answers

    Как лексическия анализатор прочита кода?

    <p>буква по буква</p> Signup and view all the answers

    Имплементацията на коя символна таблица е базира на местоположението на референция?

    <p>Hash Table (хеш таблица)</p> Signup and view all the answers

    Системни програми като компилатора са създадени за:

    <p>повторно въвеждане</p> Signup and view all the answers

    Колко компонента има контекстно-свободната граматика?

    <p>4</p> Signup and view all the answers

    Как се нарича набора от токени?

    <p>терминални символи</p> Signup and view all the answers

    Кое от изброените се нарича лява страна на правило/продукция?

    <p>правилото се състои от нетерминал</p> Signup and view all the answers

    Кое от следните е графично изобразяване на извеждане (derivation) ?

    <p>Parse Tree (синтактично дърво)</p> Signup and view all the answers

    В синтактичното дърво листата се наричат:

    <p>терминали</p> Signup and view all the answers

    Кои от следните са ограничения (Limitations) на синтактичните анализатори?

    <p>всички изброени</p> Signup and view all the answers

    Кое от следните твърдения е ВЯРНО?

    <p>Всички изброени</p> Signup and view all the answers

    Коя грешка се очаква да бъде разпозната от семантичния анализатор?

    <p>Всички изброени</p> Signup and view all the answers

    Коя от следните задачи трябва да се изпълнява в семантичния анализ?

    <p>всички изброени</p> Signup and view all the answers

    Коя фаза на компилиране е генерирането на код?

    <p>последна</p> Signup and view all the answers

    В насочен ацикличен граф, листата представляват:

    <p>всички изброени</p> Signup and view all the answers

    На колко типа може да се раздели оптимизацията?

    <p>2</p> Signup and view all the answers

    Компилаторът може да използва йерархията на паметта и регистрите на процесора:

    <p>вярно</p> Signup and view all the answers

    Компилатор за език от високо ниво, който работи на една машина и създава код за друга машина, се нарича:

    <p>cross</p> Signup and view all the answers

    Какъв приоритет има конкатенацията?

    <p>втори</p> Signup and view all the answers

    Регулярен израз, в който произволен брой 0 е следван от произволен брой 1 е следван от произволен брой 2 е

    <p>0<em>1</em>2*</p> Signup and view all the answers

    Кое от следните НЕ е низ от регулярни израз R = (ab + abb)*bbab ?

    <p>abababab</p> Signup and view all the answers

    Кой от следните езици описва дадената граматика: S -> AA, A -> aa, A -> bb ?

    <p>L = {aaaa,aabb,bbaa,bbbb}</p> Signup and view all the answers

    Study Notes

    Compiler Phases

    • Lexical analysis is the phase of the compiler that generates a stream of atoms.
    • Syntax analysis is divided into two types: top-down and bottom-up parsing.
    • Top-down parsing starts with the start symbol and tries to derive the input string.
    • Bottom-up parsing starts with the input string and tries to derive the start symbol.

    Parsing Methods

    • Top-down parsing is a parsing method that starts with the start symbol and tries to derive the input string.
    • Bottom-up parsing is a parsing method that starts with the input string and tries to derive the start symbol.
    • Recursive descent parsing is a top-down parsing method that does not require backtracking.
    • Predictive parsing is a top-down parsing method that imposes some restrictions on the grammar and accepts only a certain class of grammars, known as LL(k) grammars.

    Compiler Components

    • A compiler is a computer program that translates a program written in a high-level language into machine code.
    • An assembler is a computer program that translates assembly language into machine code.
    • An interpreter is a computer program that directly executes a program written in a high-level language.

    Syntax Analysis

    • Syntax analysis is the phase of the compiler that checks the syntax of the input program.
    • The syntax analyzer (parser) checks the syntax of the input program and generates a parse tree.
    • The parse tree is a graphical representation of the derivation of the input string.
    • The leaves of the parse tree are the tokens.

    Errors and Exceptions

    • If the lexical analyzer encounters an invalid token, it reports an error.
    • If the syntax analyzer encounters a syntax error, it reports an error.
    • If the semantic analyzer encounters a semantic error, it reports an error.

    Optimization

    • Optimization is the phase of the compiler that tries to improve the performance of the generated code.
    • Optimization can be divided into two types: peephole optimization and global optimization.

    Other

    • A compiler for a high-level language that runs on one machine and generates code for another machine is called a cross-compiler.
    • The reordering of symbolic references or library names with actual addresses in memory before program execution is called relocation.
    • A system program like a compiler is created for system administration and maintenance.

    Studying That Suits You

    Use AI to generate personalized quizzes and flashcards to suit your learning preferences.

    Quiz Team

    Description

    Test your knowledge about parsing methods and determine which one is considered the most powerful.

    More Like This

    Argument Passing in Methods Quiz
    5 questions
    Argument Passing Patterns in Method
    5 questions
    Autosgrouponrit: Logic and Parsing
    8 questions
    Java Object References Quiz
    5 questions

    Java Object References Quiz

    EffortlessGyrolite7402 avatar
    EffortlessGyrolite7402
    Use Quizgecko on...
    Browser
    Browser