Presentation is loading. Please wait.

Presentation is loading. Please wait.

Bhagyashree Bohra Deepti Jindal Shringika Porwal

Similar presentations


Presentation on theme: "Bhagyashree Bohra Deepti Jindal Shringika Porwal"— Presentation transcript:

1 Bhagyashree Bohra Deepti Jindal Shringika Porwal
PFORD Bhagyashree Bohra Deepti Jindal Shringika Porwal

2 Outline Introduction Overview Examples Implementation details
Lessons learned

3 PFORD A programming language for making programming easier and translates complex languages Some Generation: C++ Java

4 Goals Portability - interpreted and executed by a java interpreter.
Ease of use - very simple and quick to start

5 What can the language do?
Basic operations – addition, multiplication, power, modulus… Advanced operations – complex string operations , array operations Translation

6 Operations and Relations
Arithmetic Operations *, /, %, /’, ‘, +, -, mod, ^ Logical Operations not and or Relational Operations >, >=, <, <=, ==, !=

7 Statements Block Statement {} iteration loop n runs{};
loopfrom i to f interval k{}; while(exp) loopthrough{}; Assignments = Conditional Statements if (exp) then {}; if (exp) then {} elsedo {}; Break and Continue break_loop; skip_iteration;

8 Functions and Function call
Self Defined Functions func <id> (para-list){} Function Call id(param-list);

9 Internal functions (include string)
Join Join(a,b) joins strings a and b. To Lower toLower(m) makes all the characters in a string lower case To Upper toUpper( m) makes all the characters in a string upper case Mean mean() computes the mean of an array Stddev stddev() computes the stddev of an array Sum sum() sums all the elements of an array PrintArray print() prints all the elements of an array Sort sort() sorts all the elements of an array

10 Example 1: 8 11 startprogram w = 3; x = 10; func incw() { w=w+1;
return w; }; func incx() x=x+1; return x ; } ; func myfoo(y, z) output y+y; x = 1; output z; myfoo(incw(), incx()); 8 11

11 What does translation entail
Multiple Walkers. (total 3 right now) One for stand alone On each for each language C++ Java

12 Code Statistics Parts Front-end Back-End (translation) test code
(lines) 2410 4590 540 Total 7650 lines (partial, currently in CVS)

13 Lessons Learned Fully investigate the feasibility of the supporting tools Ie. translation Get advice from experienced people When an easier method of implementing classes of function exists, use it power When in doubt see Mx

14 Future Additional functionality Translation to more languages
ie perl, C#


Download ppt "Bhagyashree Bohra Deepti Jindal Shringika Porwal"

Similar presentations


Ads by Google