Команда (фрилансеры)

Набираем команду фрилансеров, Вы:

  • Программист,
  • Дизайнер,
  • SEO-специалист,
  • Менеджер

Разработка на заказ

Наша команда фрилансеров выполнит
работы на заказ:

Создание и раскрутка сайтов
Разработка приложений (мобайл, десктоп, сервер)
Разработка игр (веб, мобайл, 3D)
Аутсорсинг, фриланс

Контакты
vk.com/sitev_ru
Skype: sitev.ru
E-mail: mike@sitev.ru
github.com/sitev

Рейтинг@Mail.ru

Besucherzahler
счетчик посещений
Сайт на C++
Наш сайт работает на C++ и это очень круто! =))

Cj. Двухпроходный парсер

Решили реализовать двухпроходный парсер. Что это такое и зачем это надо? Читайте далее...

Рассмотрим пример №10 на языке Cj (ссылка на Гитхаб: https://github.com/sitev/cj/tree/master/examples/10_webapp_shop). А конкретнее, файл проектов shop.pcj:

project = Project {
	sources: [ "shop.cj" ],
	includes: [],
	namespace: "cms",
	generator: CppGen
}

Итак, мы указываем список файлов проекта в sources.

Концеция языка Cj отказывается от подключения файлов в исходниках, такой конструкции #include "file.h" не будет. Если файл находится в проекте (то есть в списке sources), то каждый файл проекта должен знать о информации, расположенной в других файлах проекта.

В языке С++ могут применяются прототипы функций:

void func2();

void func1() {
	...
	func2();
	...
}

void func2() {
	...
}

или прототипы классов:

class Class2;

class Class1 {
	...
	Class2 *c2;
	...
};

clas Class2 {
	...
};

В языке Cj мы идём по пути отказа от прототипов.

В языке Cj не будет ни инклудов, ни прототипов. Круто! Ура! Давно бы так! ))

Для этого напишем двухпроходный парсер. Как он будет работать?

Всё просто.

Первым проходом мы собирает всю возможную информацию. Если парсер не смог собрать полную картину, запускаем второй проход. Этим проходом мы уже должны получить полную картину. Если это не так - значит ошибка.

Сейчас сосредоточимся на реализации двухпроходного парсера. Пока данная задача не будет реализована, что-то дальше каким-то образом развивать Cj имеет смысла.


Отправить комментарий
Наш проект: язык Cj
Cj - язык программирования (C++ & Javascript)
Новый язык программирования, для разработки веб, мобайл, десктоп-приложений, игр... подробнее...

Хотите поддержать проект?

  • Оставляйте ссылки на наш сайт
  • Станьте спонсором проекта
подробнее...

Концепция SITEV.ru

SITEV.ru - это социальная сеть для ИТ-специалистов (программистов, дизайнеров, seo-специалистов, рекламных менеджеров, маркетологов), в том числе фрилансеров, бизнесменов... а также обычных пользователей, для которых и делается ИТ