на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка транслятора в среде Java и С+
/b>Таблица разбора java

Ожидаемый терминал

Переход

Принять

В стек

Из стека

Ошибка

1.

~

2

-

-

-

-

2.

~

7

-

-

-

-

3.

~

12

-

-

-

-

7.

using

9

-

-

-

-

8.

~

11

-

-

-

-

9.

using

10

+

-

-

+

10.

~

7

-

-

-

-

11.

~

3

-

-

-

-

12.

class

16

-

-

-

-

13.

идентификатор

18

-

-

-

-

14.

}

21

-

-

-

-

15.

~

22

-

-

-

-

16.

~

24

-

+

-

-

17.

~

12

-

-

-

-

18.

идентификатор

19

+

-

-

+

19.

~

37

-

+

-

-

20.

~

12

-

-

-

-

21.

~

0

-

-

+

-

22.

~

51

-

+

-

-

23

~

12

-

-

-

-

24

~

25

-

-

-

-

25

class

26

+

-

-

+

26

идентификатор

27

+

-

-

+

27

~

32

-

+

-

-

28

{

29

+

-

-

+

29

~

12

-

+

-

-

30

)

31

+

-

-

+

31

;

0

+

-

+

+

32

:

34

-

-

-

-

33

~

36

-

-

-

-

34

:

35

+

-

-

+

35

идентификатор

0

+

-

+

+

36

~

0

-

-

+

-

37

->

40

-

-

-

-

38

(

44

-

-

-

-

39

;

46

-

-

-

+

40

->

41

+

-

-

+

41

идентификатор

42

+

-

-

+

42

~

47

-

+

-

-

43

;

0

+

-

+

+

44

~

47

-

+

-

-

45

;

0

+

-

+

+

46

;

0

+

-

+

+

47

(

49

-

-

-

-

48

~

80

-

-

-

-

49

(

50

+

-

-

+

50

)

0

+

-

+

+

51

~

52

-

-

-

-

52

~

72

-

+

-

-

53

~

82

-

-

+

-

54

идентификатор

55

+

-

-

+

55

~

56

-

-

-

-

56

(

58

-

-

-

-

57

~

65

-

-

-

-

58

(

59

+

-

-

+

59

)

60

+

-

-

+

60

{

61

+

-

-

+

61

~

12

-

+

-

-

62

return

63

+

-

-

+

63

литерал

64

+

-

-

+

64

;

81

+

-

-

+

65

~

66

-

-

-

-

66

,

68

-

-

-

-

67

;

71

-

-

-

+

68

,

69

+

-

-

+

69

идентификатор

70

+

-

-

+

70

~

66

-

-

-

-

71

;

0

+

-

+

+

72

int

76

-

-

-

-

73

float

77

-

-

-

-

74

char

78

-

-

-

-

75

идентификатор

79

-

-

-

+

76

int

0

+

-

+

+

77

float

0

+

-

+

+

78

char

0

+

-

+

+

79

идентификатор

0

+

-

+

+

80

~

0

-

-

+

-

81

}

0

+

-

+

+

82

*

84

-

-

-

-

83

~

85

-

-

-

-

84

*

0

+

-

+

+

85

~

0

-

-

+

-

Разработка программы

Классовая модель

Диаграмма прецедентов

Диаграмма классов

Анализ результатов работы программы и выводы

Оба анализируемых языка - объектно-ориентированные, с синтаксисом, унаследованным от C++, но значительно переработанным. Следовательно, они имеют много общего, например, при анализе проектов, мы используем один общий класс разделителей и знаков операций.

Классы зарезервированных слов для каждого языка отличаются. В данном проекте исследуется лишь малая часть возможностей и особенностей вышеуказанных языков. В связи с этим, классы зарезервированных слов для этих языков будут включать лишь те ключевые слова и операторы, которые нам необходимы.

Проект позволяет проанализировать взаимодействие между классами и вывести результат в файл *.xml. Достаточно много времени было потрачено именно на вывод результата в *.xml, так как ранее с подобными задачами не сталкивались.

При реализации были выполнены критерии ООП и модульности, расставлены комментарии (по атрибутам, методам, по параметрам методов, классам).

Проект может существовать как автономное приложение, однако, на мой взгляд, его можно дополнить и доработать функционально, расширить классы зарезервированных слов, внести изменения в LL(1) - грамматику и т.д.

На данном этапе разработки программа работает корректно, четко выполняет поставленные требования.

Список используемой литературы

1.
Р. Хантер Проектирование и конструирование компиляторов

2. http://www.linuxcenter.ru/lib/articles/programming

3. Джеффри Рихтер CLR via C# // М., Издательство «Русская редакция», 2007

4. http://javaportal.ru/

5. Конспект лекций по ТОПТ

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.