quiz image

EP2

FavoredDivisionism avatar
FavoredDivisionism
·
·
Download

Start Quiz

Study Flashcards

50 Questions

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

б) Canonical LR

Проверка на типовете се извършва по време на:

в) Syntax directed translation

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

Проверка на типовете се извършва преди синтактичния анализ

Кои от следните правила на граматиката нарушават изискванията за операторна граматика? A, B, C са нетерминали, а a, b, c са терминали.

само 1 и 4

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

Синтактичен анализ

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

Алгоритъм за синтактичен анализ, който извършва сканиране отляво надясно и отклонение най-вдясно е RL(1)

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

лексическия анализ на програмата

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

по-бавно

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

Символна таблица

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

Компилатор

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

Компилатор

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

Асемблер

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

Машинен език

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

използва азбучни кодове вместо двоични числа, използвани в машинен език

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

компилиране

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

препроцесор

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

спира изпълнението

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

чете цялата програма, дори и ако срещне грешки

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

обектен файл

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

2

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

отгоре-надолу

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

предсказващ

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

връщане назад (backtracking)

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

вярно

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

ляво извеждане

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

вярно

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

първа

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

всички изброени

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

генерира грешка

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

буква по буква

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

Hash Table (хеш таблица)

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

повторно въвеждане

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

4

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

терминални символи

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

правилото се състои от нетерминал

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

Parse Tree (синтактично дърво)

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

терминали

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

всички изброени

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

Всички изброени

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

Всички изброени

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

всички изброени

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

последна

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

всички изброени

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

2

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

вярно

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

cross

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

втори

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

012*

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

abababab

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

L = {aaaa,aabb,bbaa,bbbb}

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.

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

Make Your Own Quizzes and Flashcards

Convert your notes into interactive study material.

Get started for free

More Quizzes Like This

Argument Passing in Methods Quiz
5 questions
Argument Passing Patterns in Method
5 questions
Log Parsing and Analysis
30 questions

Log Parsing and Analysis

QualifiedDatePalm avatar
QualifiedDatePalm
Autosgrouponrit: Logic and Parsing
8 questions
Use Quizgecko on...
Browser
Browser