B.Tech Computer Science and Engineering

 

CS 348    Implementation of Programming Languages Lab       0-2-3-7

 

 

Pre-requisites: CS204 and CS205

 

Syllabus: Assembly language programming: basic concepts of computer organization, instruction and data representation; Linux Assembly language; assembly language programming and simulation using X86; C-macro linker and loader; design of linkers and loaders in C: compile and go loader, absolute loaders, relocating loaders, direct linking loaders; programming assignments to build a compiler for a subset of a C-like programming language, using tools such as Lex / Flex / JLex and Yacc / Bison / CUP etc.

 

References:

  1. S. Tanenbaum, Structured Computer Organization, Prentice Hall, 1999.
  2. Britton, MIPS Assembly Language Programming, Prentice Hall, 2003.
  3. J. Donovan, Systems Programming, 45th Reprint, Tata Mc-Graw-Hill, 1991.
  4. Pal, Systems Programming, Oxford University Press, 2012.
  5. Levine, Linkers and Loaders, MORGAN KAUFFMAN, 1999.
  6. Brown, J. Levine, T. Mason, Lex and Yacc, 2nd Edition, O'REILLY Publications
  7. N. Fischer, R. J. Le Blanc, Crafting a Compiler with C, Pearson Education, 2009.
  8. V. Hall, Microprocessor and Interfacing, Tata McGraw Hill, Second Edition, 1999.