syakimchik / compiler Goto Github PK
View Code? Open in Web Editor NEWMy compiler for StrLang language
My compiler for StrLang language
Добавить примеры для тестирования компилятора
Реализовать лямбда выражения для текущего языка
доработка таблицы имён переменных в файле NamesTable.java
проверка типов и т.д.
Реализовать различные операции: возведение в степень, умножение и т.д.
разработать шаблоны для циклов(while, for) и условного оператора(if..else)
Функция, возвращающая подстроку от указанного индекса и до конца.
Реализовать шаблон, возвращающий длину строки.
При окончательной сборке изменить путь к файлу template
Пересмотреть грамматику, пересмотреть и исправить ошибки и двоичные ситуации
Проверить на правильность работу циклов while, for и оператор if...else
Реализовать шаблон для цикла while()
Ошибка в проверке типов. семантический анализатор выдаёт ошибку при добавлении строке(string) символа(char).
язык разрешает:
string s = "Hell"
char a = 'a'
s = s+a
шаблон чтения вводимой строки
Добавить простое описание функций в соответствии с правила оформления.
Сделать шаблон для цикла for().
length, elem, return, break и т.д.
сравнение двух строк.
так же как и реализовано в java.
Добавить .bat для работы компилятора, передавая с консоли файлу только путь к исходникам своего языка. Добавить jasmin.jar
разработать шаблон для вывода на экран
Добавить возможность присваивания при объявлении переменной.
Пример:
int i=0;
Обдумать ограничения по вопросу считывания с консоли данных. Будут ли считываться отдельно символы типа char или только int и string/
сравнение двух символов
if('a'>'b')
{
...
}
что-то типо того. чтобы можно было как в java сравнивать элементы char.
Разработать операцию присваивания для операции
string=string+string
целевой код для JVM
Разработать шаблон для опартора if..else
блок if esle и параметры, которые они принимают
Реализовать функцию, которая будет заменять в строке string все символы на те, которые будут указаны последним параметром.
Добавить инициализацию переменных. Проверить на возвращении значения из функции
contains(string s, string expr)
s - исходная строка
expr - вырожение, которое нужно искать в строке.
Функция возвращает true, если найдена соответствующая последовательность в s.
реализация плагина к Eclipse: подсветка синтаксиса, debug`гер.
сделать проверку, чтобы если находило сложение char+char выкидывало ошибку.
Разработка отчёта, прокомментировать исходник.
template для присваивания.
Функция, возвращающая подстроку в пределах, заданных индексами.
Обдумать, стоит ли добавлять в правило с int значение минуса. в работе над языком оно может и не понадобиться, т.к. индексы элементов слова будут всегда > 0.
Обдумать, стоит ли делать так:
с= k+i-2+.....
если да, то обдумать над реализацией приоритетных операций + и -, так же изменить грамматику в expr
но есть мысль не делать, т.к. язык не математический, а данные операции можно сделать в несколько этапов.
функция возвращает индекс первого вхождения указанной подстроки в данную строку.
Исправить ошибки с учётом новых добавлений в граматику. пересмотреть примеры, исправить ошибки.
Сделать template для отдельно для char, разделить во всех методах от String.
Доработка семантического анализатора.....
Ошибка при объявлении в блоке if. объявление происходит не в самом блоке, а в блоке main или самой функции.
исправить, чтобы текущий блок был к примеру main.if1, следующий main.if2
Заменить первый найденный элемент в строке str на указанный.
добавить в namespace проверку циклов.
данный метод возращает char
параметры
string - строка, в которой нужно взять элемент
int - номер элемента.
Шаблон для функций и передаваемых им аргументов.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.