ALCCS

 

 

Code: CS22                                                                                  Subject: SYSTEM SOFTWARE

Flowchart: Alternate Process: SEPTEMBER 2010Time: 3 Hours                                                                                                     Max. Marks: 100

 

NOTE:  

·      Question 1 is compulsory and carries 28 marks. Answer any FOUR questions from the rest.  Marks are indicated against each question.

·      Parts of a question should be answered at the same place.

 

 

Q.1      a.  Explain the various data structures required by pass-1 of assembler?

 

             b.  Differentiate between macro call and procedure call.

                             

             c.  List four software tools that assist a programmer during program testing and debugging.

            

             d. What is dynamic linking? List its advantages.

            

              e.  What are machine-independent features in assembler design?

 

              f.  Design a DFA for recognizing identifiers, unsigned integers and unsigned real numbers with fractions.

 

             g. What is a macro processor?                                                                                   (7  4)

 

 

 Q.2     a.  For the program shown below write the quadruples.

 

 

PROGRAM STATS

VAR

                       SUM, SUMSQ, I, VALUE, MEAN, VARIANCE:  INTEGER

                       BEGIN

                            SUM      : = 0 ;

                            SUMSQ : = 0 ;

             FOR I    : = 1 to 100 DO                                    

              BEGIN                                 

                      READ (VALUE) ;

                      SUM      :  =  SUM + VALUE ;

                      SUMSQ : =  SUMSQ + VALUE * VALUE

               END;           

               MEAN        : =    SUM  DIV  100;

               VARIANCE : = SUMSQ  DIV  100  - MEAN *   MEAN ;

               WRITE  (MEAN, VARIANCE)

               END.

                                                                                                                                                          

             b.  Describe various parameter passing mechanisms.                                                     (12+6)

 

  Q.3     a.  Explain the various techniques to identify free memory areas as a result of allocation and de-allocations in a heap.

                 

             b.   Define the following:                            

                   (i)    Formal language Grammars.

(ii)  Terminal symbols.

(iii) Alphabet and String.   

                                                                                                                                                           (9+9)

Q.4  a. What is an LL(1) parser? Is there any advantage of using LL(1) parsing?                Construct a parser table for an LL(1) parser for the following grammer

                                    E ::=  TE

                                    E ::=  +TE| e

                                    V ::=  VT

                                    T ::=  *VT| e

                                    V ::=  <id>

                 

             b.  Grammer containing left recursion is not amenable to top down parsing. Comment and explain giving a suitable example.                                                                                                                 (12+6)

 

 

  Q.5     a.  What is an assembly language? What are the advantages of using assembly language? Why do you need assembler directives-EQU and ORIGIN? Discuss with suitable example.

 

             b.  Write short notes on: (i) Debug monitors   (ii) User Interfaces                                  (10+8)            

  Q.6     a.  Explain Lexical substitution during macro expansion.

 

             b.  Write an algorithm to outline the macro-expansion using macro-expansion counter.

       

             c.  Write a recursive macro to reverse the characters of a string.                                 (6+6+6)

 

 

  Q.7     a. Differentiate between

(i)    Program translation and program interpretation.   

(ii)   Absolute loader and relocating loader

                  (iii)  Problem-oriented and procedure-oriented language

         

             b. What do you mean by code optimization? What is the aim of this phase? Explain elimination of common subexpressions during code optimisation.                                                                 (12+6)