Git Product home page Git Product logo

compiler's People

Contributors

syakimchik avatar

Stargazers

 avatar

Watchers

 avatar  avatar

compiler's Issues

#issue 4

доработка таблицы имён переменных в файле NamesTable.java
проверка типов и т.д.

assign operation

Реализовать различные операции: возведение в степень, умножение и т.д.

operation length

Реализовать шаблон, возвращающий длину строки.

путь к template

При окончательной сборке изменить путь к файлу template

#issue 3

Пересмотреть грамматику, пересмотреть и исправить ошибки и двоичные ситуации

Проверка циклов

Проверить на правильность работу циклов while, for и оператор if...else

while_operation

Реализовать шаблон для цикла while()

Проверка типов

Ошибка в проверке типов. семантический анализатор выдаёт ошибку при добавлении строке(string) символа(char).
язык разрешает:
string s = "Hell"
char a = 'a'
s = s+a

Добавить java doc

Добавить простое описание функций в соответствии с правила оформления.

for_operation

Сделать шаблон для цикла for().

if_operation for string

сравнение двух строк.
так же как и реализовано в java.

bat file

Добавить .bat для работы компилятора, передавая с консоли файлу только путь к исходникам своего языка. Добавить jasmin.jar

template write_?

разработать шаблон для вывода на экран

Declaration and assign

Добавить возможность присваивания при объявлении переменной.
Пример:
int i=0;

Чтение строки с консоли

Обдумать ограничения по вопросу считывания с консоли данных. Будут ли считываться отдельно символы типа char или только int и string/

if_operation for char

сравнение двух символов
if('a'>'b')
{
...
}
что-то типо того. чтобы можно было как в java сравнивать элементы char.

if_operation

Разработать шаблон для опартора if..else

Function replace(string, char, char)

Реализовать функцию, которая будет заменять в строке string все символы на те, которые будут указаны последним параметром.

#issue 1

Добавить инициализацию переменных. Проверить на возвращении значения из функции

Добавить встроеную ф-ю contains(string, stirng)

contains(string s, string expr)
s - исходная строка
expr - вырожение, которое нужно искать в строке.

Функция возвращает true, если найдена соответствующая последовательность в s.

плагин к Eclipse

реализация плагина к Eclipse: подсветка синтаксиса, debug`гер.

Сделать проверку

сделать проверку, чтобы если находило сложение char+char выкидывало ошибку.

значение int

Обдумать, стоит ли добавлять в правило с int значение минуса. в работе над языком оно может и не понадобиться, т.к. индексы элементов слова будут всегда > 0.

Присваивание суммы переменной

Обдумать, стоит ли делать так:
с= k+i-2+.....
если да, то обдумать над реализацией приоритетных операций + и -, так же изменить грамматику в expr

но есть мысль не делать, т.к. язык не математический, а данные операции можно сделать в несколько этапов.

Add inside function IndexOf(String)

функция возвращает индекс первого вхождения указанной подстроки в данную строку.

тип char

Сделать template для отдельно для char, разделить во всех методах от String.

#issue 2

Доработка семантического анализатора.....

объявление в блоках if, else, for, while

Ошибка при объявлении в блоке if. объявление происходит не в самом блоке, а в блоке main или самой функции.
исправить, чтобы текущий блок был к примеру main.if1, следующий main.if2

Циклы

добавить в namespace проверку циклов.

Метод elem(string, int)

данный метод возращает char
параметры
string - строка, в которой нужно взять элемент
int - номер элемента.

functions, parametrs

Шаблон для функций и передаваемых им аргументов.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.