1-1. Language
1-2. Definition of formal language
1-3. Why we learn programming languages?
1-4. Attributes of a Good Language?
1-5. Classification of the Languages
1-6. Models of Programming Languages
Imperative Languages(Command Driven Language)
-- A program consists of a sequence of statement
-- Execution of each statements causes interpreter to change the state of the system
-- Successive machine states lead to the desired solution
-- C, Fortran, Algol, PL/I, PASCAL
Object Based Languages
-- Complex objects are designed as extensions of simpler objects
-- Inheriting of simple objects
-- C++, Java, Small talk
-- Gain the efficiency of imperative languages
-- Gain the flexibility and reliability of applicative languages
Applicative Languages(Functional Language)
--Perform a function with its arguments to generates results
-- Results of a function can be arguments of another function
-- LISP and ML
Rule-based Languages (Logical Languages)
-- Execute an action when a certain enabling condition(predicate) is satisfied
-- Building a matrix or table of possible conditions and appropriate actions for proofs or database search
-- Program consists of fact, rule, and query
-- Prolog
ex) dog(john).
cat(marry).
monkey(james).
friendly(john, james)
Hybrid Languages: Python
2-1. Von Neumann Computer Architecture
2-2. Conventional Computer Organization
2-3. Computer Architecture and Language Related Issues
: Major components of a computer that correspond to the six major aspects of programming languages
3-1. Syntax
6-1. Binding Times
: Time to choose the properties or characteristic for programming elements
6-2. Language Classification by translation method
7-1. Concept
: Formal Basis for describing the artificial language that we use to program computers
7-2. Type 0: Unrestricted Grammar
Type 0: Undestricted Grammar
-- α->ß : No restrictions applied
-- TM is also called recursively enumerable language since the elements can be listed and hopelessly inefficient
-- Recognized by Turing Machine (infinite r/w type)
Process of Turing Machine
-- Language recognizer is a procedure for definig a set of strings
-- advance to next state, write back onto the current position, change the direction to move
7-3. Type 1: Context Sensitive Grammar
7-4. Type 2: Context Free Grammar
Type 2: Context Free Grammar
-- A->ß where A is a variable and ß is a string from (∑ U N)*
-- The derivations are invoked independent of what surrounds them
-- Exactly a single non-terminal on LHS of each production
-- Does not allow empty production except the single production with a start symbol
-- Recognized by Push Down Automaton (PDA)
: pops a symbol from the stack
: push the same or other symbols into the stack
: optionally read or advance its input tape
Process of Pushdown Automata
Limits of Context Free Grammar
-- Modern programming languages are specified with CFG but expanded to CSG with attributes
-- Count comparison can be done by CFG, but cannot match the same words
-- But, cannot write CFG to match the spelling of the same word twice like abcabc
7-5. Type 3: Regular Grammar
Type 3: Regular Grammar
-- A -> wB or A -> w right linear
-- Allow one non-terminal on LHS and one or two symbols on RHS with the first be terminal symbol
-- Too restrictive for most purpose; however, very efficient recognizer can be built
-- Incapable of generating language structures like arbitrary deep nested parenthesis
-- Does not allow empty production except the single production with a start symbol
-- Recognized by Finite State Automaton
Process of Finite State Automata
-- Empty production vs. Empty language
-- A language that generates empty string
-- A language that generates no string
Michael had always been drawn to the thrill of high-stakes games, searching for that next big rush to get his heart racing. When he discovered an https://q7casino1.com/ online blackjack site that boasted exciting gameplay and the potential for enormous jackpots, he was immediately hooked. The site promised an adrenaline-pumping experience, and Michael was eager to dive in. He deposited a significant amount of money, ready for whatever the night had in store.