Курсовая работа: Разработка транслятора в среде Java и С+
2. Класс зарезервированных слов:
2.1 Для C#
using, class, int, float, char, public, protected, private, return, namespace
2.2 Для Java
using, class, int, float, char, public, protected, private, return
3. Класс знаков операций и разделителей:
() {} : ; = -> . , ‘ *
4. Класс литералов:
Литерал – целочисленная или текстовая константа.
Структура таблицы идентификаторов
имя |
номер в классе |
тип |
|
|
|
Структура таблицы литералов
имя |
тип |
Разработка синтаксического анализатора
Грамматика языков
В данном проекте исследуется лишь малая часть возможностей и особенностей вышеуказанных языков. В связи с этим спроектированные грамматики для этих языков будут включать лишь те структуры языка, которые нам необходимы
Грамматика С#
1 <программа>:= 2 <предпроцессор> 3 namespace 4 {5 <операторы> 6}
7 <предпроцессор>:= 9 using 10 <предпроцессор>
8 <предпроцессор>:= 11 е
12 <операторы>:= 16 <класс> 17 <операторы>
13 <операторы>:= 18 идентификатор 19 <продолжение1>
20 <операторы>
14 <операторы>:= 21 е
15 <операторы>:= 22 <декларация> 23 <операторы>
24 <класс>:= 25 class 26 идентификатор 27 <наследование> 28 {29 <операторы> 30} 31;
32<наследование>:= 34: 35 идентификатор