Programming Language Concepts Exam Review

0.0(0)
Studied by 0 people
call kaiCall Kai
learnLearn
examPractice Test
spaced repetitionSpaced Repetition
heart puzzleMatch
flashcardsFlashcards
GameKnowt Play
Card Sorting

1/23

encourage image

There's no tags or description

Looks like no tags are added yet.

Last updated 5:29 PM on 10/5/26
Name
Mastery
Learn
Test
Matching
Spaced
Call with Kai
Chat

No analytics yet

Send a link to your students to track their progress

24 Terms

1
New cards

Why Learn Programming Language Concepts?

  • Logic Based Languages are on the rise in popularity

  • Learning how programming languages work helps when learning more languages in the future.

  • Lambdas are being used in imperative languages more.


2
New cards

Imperative vs Declarative

  • Imperative - Program tells the computer what to do and how to do it

    • Procedural Programming

    • Object-Oriented Programming

  • Declarative - Program describes the characteristics of a solution

    • Functional Programming

    • Logic Programming


3
New cards

What does REPL Stand For?

  • R: Read

  • E: Evaluate

  • P: Print

  • L: Loop


4
New cards

Interpreter vs Compiler

  • Interpreter: executes the program by reading and evaluating the code as it runs.

  • Compiler: translates the entire program into machine code and doesn’t run it.


5
New cards

Lexical Analyzer

extracts tokens/words from text. Removes whitespace and comments

6
New cards

Syntax Analyzer(Compiler)

builds tokens into language structures (parse trees) based on the rules.

7
New cards

Semantic Analyzer (Compiler)

checks if the structures built follow language rules

8
New cards

What parser does ANTLR generate and what does it stand for?

ALL (Adaptive LL), LL stands for Left to right, left most derivation.

9
New cards

Scanner

tokenizes the characters and strips whitespace

10
New cards

Parser

determines if the tokens follow syntaxical rules, splits into an AST

11
New cards

Semantic Analyzer(Interpreter)

evaluates the expression

12
New cards

Grammer

Defines what programs in the language are allowed to look like.

13
New cards

AST

They represent the meaningful structure of the program, rather than the original text.

14
New cards

Printer

The printer takes the AST and turns it back into a readable textual representation.

15
New cards

Evaluator

The evaluator actually runs the program.

16
New cards

Environment

An Env stores information about variables.

17
New cards

Bindings

A binding is the association of a value or type with a variable.

18
New cards

Lexical scoping

the binding of a variable to a value (or type) is based on the code syntax structure

19
New cards

Dynamic scoping

a variable's values/type depends on the flow of control through a program, not any static structure of where it is defined.

20
New cards
21
New cards
22
New cards
23
New cards
24
New cards