• Wrong document? Swap it for free
  • Written by students who passed
  • Immediately available after payment
  • Read online or as PDF
Sell
Where do you study
Your language
Document preview thumbnail
Preview 2 out of 6 pages
Exam (elaborations)

CS 326 Questions

Document preview thumbnail
Preview 2 out of 6 pages

CS 326 Questions False - answersRegular expressions are used to describe the syntactic structure of a language, while context-free grammars are used to describe its lexical structure. False - answersThere's a one-to-one correspondence between instructions in assembly language and instructions in a high-level language. False - answersIn C, the variable x that appears in void f() {int x;...} is allocated statically. True - answersScheme belongs to the class of declarative programming languages. True - answersSubroutine closures are used in languages with deep binding. True - answersEvery case statement can also be written as one or more if...then....else statements. False - answersIt is possible to do type checking at compile time in a language with dynamic scoping. False - answersEvery logically-controlled loop can also be written as an enumeration-controlled loop. Kleene closure (the *) - answersWhich mechanism does NOT appear explicitly in context-free grammars? Declarative languages describe what to do; imperative languages describe how to do it. - answersWhat best characterizes the difference between declarative and imperative programming languages? A variable name that begins w a digit - answersWhat is a lexical (as opposed to syntactic or semantic) error in C

Content preview

CS 326 Questions
False - answers✔✔Regular expressions are used to describe the syntactic structure of a language, while
context-free grammars are used to describe its lexical structure.



False - answers✔✔There's a one-to-one correspondence between instructions in assembly language and
instructions in a high-level language.



False - answers✔✔In C, the variable x that appears in void f() {int x;...} is allocated statically.



True - answers✔✔Scheme belongs to the class of declarative programming languages.



True - answers✔✔Subroutine closures are used in languages with deep binding.



True - answers✔✔Every case statement can also be written as one or more if...then....else statements.



False - answers✔✔It is possible to do type checking at compile time in a language with dynamic scoping.



False - answers✔✔Every logically-controlled loop can also be written as an enumeration-controlled
loop.



Kleene closure (the *) - answers✔✔Which mechanism does NOT appear explicitly in context-free
grammars?



Declarative languages describe what to do; imperative languages describe how to do it. -
answers✔✔What best characterizes the difference between declarative and imperative programming
languages?



A variable name that begins w a digit - answers✔✔What is a lexical (as opposed to syntactic or
semantic) error in C?

, They produce faster code, since tail-recursive calls may reuse the same space on the stack, and hence
don't involve push and pop operations. - answers✔✔Why are tail-recursive functions useful?



G -> decl decl_list;

decl_list -> , ID decl_list | epsilon

decl -> type ID

type -> int | float - answers✔✔Write a context-free grammar that describes simple var declarations in C
syntax, consisting of a type (int or float) followed by a list of identifiers separated by commas, followed
by a terminating semicolon such as: int x, y, z; You don't need to describe the identifiers, consider them
given by the scanner as ID.



(aa)*a - answers✔✔Write a regular expression that describes the set of strings consisting of an odd
number of a's, over alphabet {a}.



Internal fragmentation is represented by a request for allocation that is smaller than the block available,
therefore creating gaps/wasted space. External fragmentation is when there's a lot of open space but
it's all fragmented so that there's no continuous space large enough to satisfy the request. -
answers✔✔What are internal and external fragmentation?



E-> T-> T*F

T-> F -> (E)

E -> E+T

E -> T -> F -> identifier -> a

T -> F -> identifier -> b

F -> number -> 3

*show each step separately tho - answers✔✔E -> E+T | E-T | T

T -> T*F | T//F | F

F -> identifier | number | -F | (E)

Using this grammar, show leftmost derivation for string (a+b)*3.

Document information

Uploaded on
August 10, 2025
Number of pages
6
Written in
2025/2026
Type
Exam (elaborations)
Contains
Questions & answers
$8.49

Wrong document? Swap it for free Within 14 days of purchase and before downloading, you can choose a different document. You can simply spend the amount again.
Written by students who passed
Immediately available after payment
Read online or as PDF

Sold
0
Followers
0
Items
196
Last sold
-




Why students choose Stuvia

Created by fellow students, verified by reviews

Quality you can trust: written by students who passed their tests and reviewed by others who've used these notes.

Didn't get what you expected? Choose another document

No worries! You can instantly pick a different document that better fits what you're looking for.

Pay as you like, start learning right away

No subscription, no commitments. Pay the way you're used to via credit card and download your PDF document instantly.

Student with book image

“Bought, downloaded, and aced it. It really can be that simple.”

Alisha Student

Working on your references?

Create accurate citations in APA, MLA and Harvard with our free citation generator.

Working on your references?

Frequently asked questions