Lucrari de diploma – 2004

 

Paralelism in limbajele functionale  (Iacoboaia Elena)

  1. Jonathan M.D. Hill, Data Parallel Haskell:  Mixing old and new glue''   QMW Techincal report QMW-DCS-611, December 1992

 

  1. The technical report (QMW611) describes data parallel extensions to

the lazy functional language Haskell. The development of a parallel

version of scan is presented, which is subsequently used in an

implementation of a text searching algorithm, and an LL(1) parser.

 

  1. Jonathan M.D. Hill, Data Parallel Lazy Functional Programming, 1994, Univ. London
  2. Stefan ANDREI,  Wei-Ngan CHIN, Gheorghe GRIGORAS, A Tutorial on a Monadic Approach for Expressions Evaluation, Analele Univ. Iasi-Informatica, 2002.

Generator de Parser LALL         (CIOBANU MIHAELA)

  1. GEORGE WILSON FREAS II , AN LL(1) PARSER GENERATOR WITH LOOKAHEAD (LALL), THESIS, The University of Alabama in Huntsville
    http://www.gen7software.com/lall/lallmanu.htm

The LALL parser generator begins by parsing the input grammar specification. During this phase, the rule table is built containing the description of the grammar, in machine readable form. Also, actions are collected, and assigned a number, and copied to the output file, within the llaction procedure described in more detail later.

Parsare GRD ( recursiv descendenta generalizata)            (VASCU IULIAN)

 

Gramatici si parsere LALR(2)                      (COJOCARU LILIANA)

            http://www.thinkage.ca/english/products/yay-manual.html#LALR2Grammars

An LALR(2) grammar has one more level of "lookahead" than an LALR(1) grammar. When trying to decide how to parse a given input, an LALR(1) parser sometimes looks at the next input token to see if that makes a difference. In the same situation, an LALR(2) parser can look at the next two tokens.

LALR(2) grammars are described in the same way as LALR(1) grammars. To indicate that you want an LALR(2) parser, you must put the option +LR2 on the command line that invokes YAY.

An LALR(2) parser can perform a lookahead action as well as Shift, Reduce, Goto, Accept, and Error. For example, in a state diagram you might see

          A    shift 1
          B    reduce (2)
          C    lookahead

This means that if token A is encountered in this state, the parser will shift to State 1; if token B is encountered, it will reduce using Rule (2); and if token C is encountered, it will lookahead.

 

Tehnici pentru dezvoltare software                     (HUTANU LIVIU)

B-Core provides complete support for the method of software development
that is known as B: an object-oriented technique that comes closer to
producing zero-defect software than any other currently available.

http://www.b-core.com

 

 

Calcul Lambeck(Gramaticile ca sisteme deductive) pot fi 2-3 lucrari (Donisa Roxana, Aciocaranoaie Daniela)

 

Masini abstracte

Can any algorithm, never mind how abstract, be modeled by a generalized machine very closely and faithfully? ... If we stick to one abstract level (abstracting from low-level details and being oblivious to a possible higher-level picture) and if the states of the algorithm reflect all the pertinent information, then a particular small instruction set suffices in all cases.

adapted from Yuri Gurevich, "Sequential Abstract State Machines Capture Sequential Algorithms"

 

http://www.eecs.umich.edu/gasm/

 

 

 

Limbaje de programare pentru sisteme software (Paisa Lucian)

The work of the project includes theoretical studies of programming languages and their properties, development of new compiler and run-time technology, and empirical studies of the application of advanced language techniques to real-world programming problems, especially in the areas of high-performance networks and operating systems.

  • Run-time Code Generation and Modal-ML, Philip Wickline, Peter Lee, and Frank Pfenning.
    Abstract PLDI '98 CMU-CS-98-100
  • The Design and Implementation of a Certifying Compiler, George C. Necula and Peter Lee.
    Abstract PLDI '98


 Compiler Techniques for Object-Oriented Programming Languages (Filip Corina)

Cool is a small language designed for use in an undergraduate compiler course project. While small enough for a one term project, Cool still has many of the features of modern programming languages, including objects, automatic memory management, and strong static typing.

Compiler optimizations for object-oriented languages, dynamic (run-time compilation), run-time system aspects (such as dispatch mechanisms or garbage collection), and studies of the instruction-level behavior of object-oriented programs.

A high-performance language and compiler for streaming applications

http://cag.lcs.mit.edu/streamit/

Andrew A. Lamb, William Thies, and Saman Amarasinghe. Linear Analysis and Optimization of Stream Programs. In Proceedings of the SIGPLAN '03 Conference on Programming Language Design and Implementation, San Diego, CA, June, 2003. (Paper: PDF, PS; Talk: PPT; BibTeX)

Michal Karczmarek, William Thies, and Saman Amarasinghe. Phased Scheduling of Stream Programs. In Proceedings of the 2003 Conference on Languages, Compilers, and Tools for Embedded Systems, San Diego, CA, June, 2003. (Paper: PDF, PS; BibTeX)

 

 

Semantics Directed Language Implementation

Absynt Project: Semantics Directed Language Implementation