declaration and assignment in intermediate code generation

We are now at a point where we can start to write more complex instructions. To summarize what we are currently able to do:
·         Create Variables
·         Get user input from the keyboard
·         Investigate memory addresses of variables
·         Choose the best data type for the job
·         Create and work with arrays
·         Create and use functions
·         Perform Binary Arithmetic / Logic operations
·         Construct Expressions with a variety of operators
Now, we will round out your foundational knowledge with learning about Statements, and finally looping and control structures. In this section, we will start off by considering two types of structures: Declarations, and Assignments.

As has already been reiterated, programming involves creating sequential instructions for the computer to process. In each language, the individual instructions are delimited in various ways. In C-style languages like C++, C#, Java and PHP, the instructions are delimited by semi-colons (;). In Python, however, we delimit instructions by placing one per line. These instructions, what we will be referring to as statements, are executed sequentially, and asynchronously.
Statements can be broken into a number of categories:
  1. Declarations. Creation of variables.
  2. Assignments. Define a data-type value, defined by an expression, with a variable.
  3. Conditionals. Selectively execute blocks of statements depending on the evaluation of a binary arithmetic expression.
  4. Looping Structures. Repetitively execute a block of statements while a binary arithmetic expression returns true.
  5. Function Calls and Returns. Jump to a set of statements at another location in the program by calling a function, then jump back by the return statement.

Declarations and Assignments
Recall from a previous section on variables, that a variable is made up of an identifier, pointer, data type and value. A declaration is a statement which associates a data type and identifier to a variable.
In many programming languages, it is necessary to precede the assignment of a value to a variable with a declaration statement, which would prepare (or initialize) the variable to be ready to receive data. In Python, however, variables are automatically initialized when first used.
An assignment statement takes an initialized variable, and associates a value of a data type to the variable of the same data type. This is done using an expression with the assignment operator "=".
Note: Please be aware of the difference between the assignment operator "=" and the equivalence comparison operator "==". The equivalence operator "==" is used in binary arithmetic to determine if the two terms on either side of the operator are equivalent. Whereas the assignment character "=" is used to write the value on the right-hand side of the operator into the memory block which the variable on the left-hand side points to. This distinction is important, as if you use the assignment operator where you mean to use the equivalence operator, the expression will result in true, as the assignment operation runs and returns true once complete.
Python Programming ↓ 👆
Java Programming ↓ 👆
JAVA covered following topics in these notes.
JAVA Programs
Principles of Programming Languages ↓ 👆
Principles of Programming Languages covered following topics in these notes.

Previous years solved papers:
A list of Video lectures References:
  1. Sebesta,”Concept of programming Language”, Pearson Edu 
  2. Louden, “Programming Languages: Principles & Practices” , Cengage Learning 
  3. Tucker, “Programming Languages: Principles and paradigms “, Tata McGraw –Hill. 
  4. E Horowitz, "Programming Languages", 2nd Edition, Addison Wesley

    Computer Organization and Architecture ↓ 👆

    Computer Organization and Architecture covered following topics in these notes.

    1. Structure of desktop computers
    2. Logic gates
    3. Register organization
    4. Bus structure
    5. Addressing modes
    6. Register transfer language
    7. Direct mapping numericals
    8. Register in Assembly Language Programming
    9. Arrays in Assembly Language Programming


    1. William stalling ,“Computer Architecture and Organization” PHI
    2. Morris Mano , “Computer System Organization ”PHI

    Computer Network ↓ 👆
    Computer Network covered following topics in these notes.
    1. Data Link Layer
    2. Framing
    3. Byte count framing method
    4. Flag bytes with byte stuffing framing method
    5. Flag bits with bit stuffing framing method
    6. Physical layer coding violations framing method
    7. Error control in data link layer
    8. Stop and Wait scheme
    9. Sliding Window Protocol
    10. One bit sliding window protocol
    11. A protocol Using Go-Back-N
    12. Selective repeat protocol
    13. Application layer
    1. Andrew S. Tanenbaum, David J. Wetherall, “Computer Networks” Pearson Education.
    2. Douglas E Comer, “Internetworking with TCP/IP Principles, Protocols, And Architecture",Pearson Education
    3. KavehPahlavan, Prashant Krishnamurthy, “Networking Fundamentals”, Wiley Publication.
    4. Ying-Dar Lin, Ren-Hung Hwang, Fred Baker, “Computer Networks: An Open Source Approach”, McGraw Hill.