January 25th, 2011

humster

ландшафтные работы

Настраиваем запуск

Перед тем, как писать реальный код Форт-машины, нам нужна точка входа. Ее обеспечат три файла — forth.php будет инициализировать приложение и реализовывать главный цикл, а forth.bat и forth.sh будут играть вспомогательную роль, помогая запустить наш скрипт в режиме командной строки в разных ОС.

Под Windows файл forth.bat может выглядеть примерно так:
@echo off
SET PHP_PATH=Z:/usr/local/bin
%PHP_PATH%/php -q ./forth.php %1 > output.txt
type output.txt | more
pause


Я уверен, что читатели этого топика с легкостью его улучшат и с удовольствием создадут аналог для запуска нашего приложения под sh/csh/bash или любой другой командный интерпретатор.

Точку входа приложения, файл forth.php, оставим пока почти пустым, внесем в него лишь две строчки — объявление пространства имен и инициализацию автозагрузки
namespace FORTH;
require __DIR__ . '/autoload.php';


Стек и очередь команд

Настало время реализовать две главные части нашей Форт-машины: стек и очередь команд.

Стек — это основное понятие классического форта. На стеке у нас будут храниться числа, с которыми будет оперировать машина, туда же будут помещаться результаты операций над ними (слов).

В PHP стек LIFO отлично реализуется массивами и операциями array_pop и array_push, поэтому не будет изобретать велосипед, а воспользуемся этими средствами. Учтем, что в данной реализации стек у нас может быть только один, поэтому сделаем класс стека синглтоном. У нас получится примерно такой код:

stack,
$obj
);

}

public function pop() {

if ( $this->isEmpty() )
throw new \FORTH\EXCEPTIONS\STACK\StackIsEmpty();

return array_pop(
$this->stack
);

}

public function isEmpty() {

return empty($this->stack);

}

}


Позвольте, скажете вы — а где же синглтон? Где же закрытый конструктор, привычный метод getInstance()?

Все просто — мы вынесли весь фунционал паттерна в специальный системный абстрактный класс \FORTH\SYSTEM\Singleton. Если Вы внимательно посмотрите код этого класса, то поймете основную идею — как LSB, появившееся в PHP 5.3 позволяет разделять абстрактное описание паттерна и его конкретную реализацию.

Совершенно аналогично с помощью массива организуем очередь, только используя функции array_push и array_shift.

Словарь

Наступает время словаря. В словаре Форт-машины хранятся определения слов. Для простоты реализации (и для исключения жестких связей в архитектуре) будем хранить в словаре следующую информацию: слово, размерность операции (сколько чисел с вершины стека нужно слову в качестве аргументов), эффект над стеком (сколько чисел со стека слово снимает) и код слова, возвращающий то, что слово хотело бы положить на стек.

Слово будем представлять в виде объекта класса \FORTH\SYSTEM\Word, а словарь — \FORTH\SYSTEM\Dictionary, реализацию этих классов вы найдете в исходном коде приложения.

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

Стоит отметить, что класс словаря тоже несомненно должен быть реализован как синглтон, кроме того словарь уже при старте Форт-машины должен содержать в себе некий минимальный стандартный набор слов, так что кроме непосредственно класса \FORTH\SYSTEM\Dictionary нам потребуется реализовать класс StandartDictionary, выполняющий инициализацию словаря стандартными словами, а также добавить инициализацию стандартного словаря в точке входа в приложение.

Для начала реализуем в качестве стандартных слов четыре основные арифметические операции, «DUP» — удвоение числа на вершине стека, «SWAP» — перестановку двух верхних чисел со стека и "." — вывод числа с вершины стека. Особой сложности это не составит, вот как выглядит пример для сложения двух чисел:

/*
* Сложение двух верхних чисел, помещение результата на стек
*/
$dict->addWord(
new Word(
'+',
2,
2,
function ($a, $b) {
return (array)($a+$b);
}
)
);


Общаемся с внешним миром

Настает время передать нашему приложению извне некую Форт-программу. Для простоты реализации будем предполагать, что программа находится в файле, который непосредственно указывается в командной строке.

Набросаем следующий код в forth.php:
$data = \file_get_contents($argv[1]);

$parser = SYSTEM\Parser::getInstance();
$parser->loadRawData($data);
$dataForQueue = $parser->makeQueue();

$queue = SYSTEM\Queue::getInstance();
$queue->loadArray($dataForQueue);

$stack = SYSTEM\Stack::getInstance();

$executor = SYSTEM\Executor::getInstance();
$executor->setStack($stack);
$executor->execute($queue);


Очевидно, что нам теперь нужно реализовать некий парсер, который будет принимать на вход строку, являющуюся Форт-программой и разбирать ее на составляющие — либо числа, либо слова словаря Форта. На выходе парсер должен вернуть нам массив с почти готовой очередью команд для Форт-машины, которую мы отдадим системной очереди команд. Ну и последние строки — собственно уже выполнение команд из очереди по очереди -))

Ничего сложного в коде «парсера» нет, наша задача очень проста — разбить строку по пробельным символам, а далее обработать. Если мы встречаем число, то просто поставить его в очередь, если же некий символьный литерал — спросить словарь, не является ли он словом, и если это действительно так — поставить в очередь объект-слово.

Гораздо интереснее код «палача». Исполнитель по сути представляет собой ядро Форт-машины — именно он оперирует со стеком и исполняет слова. Мы передадим ему объект нашего системного стека, загрузим в него очередь команд и попросим эту очередь над данным стеком выполнить.

Задача исполнителя — определить, чем является элемент очереди: числом, которое нужно положить на стек, либо словом, которое необходимо выполнить. Если с числом все просто, то слово потребует несколько больше умственных усилий — нужно снять со стека заданное количество чисел, сформировать из них массив аргументов и вызвать код слова, передав ему эти аргументы. Полученный результат, возможно, потребуется поместить на стек.

Выглядит это примерно так:

$args = array();

for ( $i = 1; $i <= $word->getStackPopCount(); $i++ )
$args[] = $this->stack->pop();

$args = \array_slice($args, 0, $word->getOperandsCount());

$result = \call_user_func_array($word->getCallback(), $args);

if ( !\is_null($result) ) {
foreach ( $result as $res ) {
$this->stack->push($res);
}
}


Что получилось?

А в результате у нас получился интерпретатор языка Форт на PHP — Форт-машина. Пусть код зияет большими пробелами (например мы нигде пока не ловим исключения, совершенно упущен момент с тестами), пусть много можно улучшить, но это улучшение уже не составит труда, основная работа сделана.

Для кого-то этот топик, возможно, откроет что-то новое — я буду только рад.
Кто-то прочтет и скажет «ну это же элементарно, что тут нового» — отлично.

А если кто-то знает, как сделать еще лучше — приходите в нашу команду, мы очень любим и высоко ценим профессионалов, которые, в свою очередь, любят и ценят язык, на котором программируют.

А я пошел спать -))

Исходный код

По мере написания этой статьи я выкладывал то, что получалось, в специально созданный проект на Google Code, откуда вы можете взять исходные коды: code.google.com/p/php-forth/source/browse/trunk

Код лицензирован под GPL v.3

Список литературы

ru.wikipedia.org/wiki/%D0%A4%D0%BE%D1%80%D1%82_%28%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F%29
ru.wikipedia.org/wiki/%D0%A1%D1%82%D0%B5%D0%BA
ru.wikipedia.org/wiki/%D0%9E%D0%B1%D1%80%D0%B0%D1%82%D0%BD%D0%B0%D1%8F_%D0%BF%D0%BE%D0%BB%D1%8C%D1%81%D0%BA%D0%B0%D1%8F_%D0%BD%D0%BE%D1%82%D0%B0%D1%86%D0%B8%D1%8F
Вдохновлявшая меня советская книга про Форт, фиолетовая такая, для детей старшего школьного возраста, не помню ни название, ни выходные данные...



ландшафтные работы законно быть может названа «зеленоватым строительством». Как и др виды строительных работ, цена ландшафтных дел ориентируется тем, на какое количество трудный разработан ландшафтный чертеж, какова цена применяемых материалов, как грамотными профессионалами станет сделана работа. При данном, как и на всевозможные иные сервисы, стоимость на ландшафтные работы обязаны быть оговорена при решении уговора с компанией, коя их станет исполнять. Сделать данное нужно было чтобы в ходе дел их цена не имела возможности изменяться. Цены на ландшафтные работы в столице разных компаний звездят многообразием, в следствии этого стоит разобраться, нежели управляются фирмы при формировании стоимости на ландшафтные работы.
Как их расчитывают?

Многие имеют все шансы задуматься, что
ландшафтные работысосредоточенные на озеленению либо ландшафтные мероприятия сосредоточенные на благоустройству необоснованно дороги. Однако, до того как так признать, стоит разобраться, каким образом возводятся цены ландшафтных дел? Перед началом проведения всех дел такового вида разрабатывается ландшафтный дизайн, цена по работе над коим находится в зависимости для начала от квалификации эксперта по дизайну и по числу времени, которое он затратит на его творение. При данном в цены дел входит и еще и выезд профессионала конкретно на сам участок. Стоимость выезда станет находиться в зависимости от удаленности участка. При данном не надо скупиться на выезд эксперта по дизайну, потому что заочное ознакомление с участком сможет уяснить ему неполное представление о фронте дел и подобранный Вами чертеж из галереи ландшафтных дел сможет абсолютно не подойти в виду отличительных черт рельефа или же иных моментов. Дизайн рельефа – есть та исключительно часть плана, в какой клиенту понадобиться принять конкретное роль, так как в нем художник обязан высказать все мысли и просьбы клиента, а выяснить он их имеет возможность исключительно при конкретном содействии с ним. Прайс лист ландшафтных дел обязан содержать цены на предложения профессионала по дизайну. Любой дизайн обязан быть проработан до самых мелочей, так как сообразно нему буду сделаны все последующие деяния. По пожелании клиента по дизайну быть может рассчитана приблизительная стоимость всех трудозатрат на выполнение проекта.
humster

ласковые имена

Многим из нас стали давно привычными услышанные случайно на улице или в транспорте обращения, которыми называют друг друга молодые и не очень
Молодая семья: зая, котя, пусик, лапа, малыш, любимка и т.д. Возможно, обрученные или молодожены обращались так друг к другу всегда, хотя классика литературы донесла до нас более сдержанных и старомодных душечек, голубушек и дружочков. Отчего же влюбленные всех времен старались найти для своего избранника ласковое прозвище и нежно млели, услышав в свою сторону такое же? Что дают эти «милые глупости» человеку и его отношениям с близкими людьми?

Ученые-психологи говорят, что, начиная лет с трех, личность одновременно живет в двух самостоятельных эпостасях: ребенок и взрослый. Сколько бы нам ни было лет, внутренний ребенок одаряет нас непосредственностью восприятия, любознательностью, стремлением к новому, богатым воображением и бесконечным стремлением к творчеству. Вместе с этим, он нуждается в опеке, защите и любви. Обращенные к человеку «зайчики», «бусинки», «котики» и «медвежата» как будто говорят: «Ты – маленький, я люблю тебя и всегда готов защитить». Вот и заходится сердце в ответ признательностью и благодарностью, смешанными с ответной любовью. Тот же, кто произносит эти слова, наполняется чувством собственной значимости и главенства взрослого. Ведь он большой и сильный, он может обеспечить покой и безопасность своему любимомуюБольше информации вы можете получить на
http://forum-sovet.ru/forum/echo/727.

Интересно а какие ласковые прозвища для любимого используете вы?
humster

реальные пацаны

Заметил за собой сериаломанию. За полгода просмотрел кучу сериалов, и после каждого просмотренного сериала появляется чувство голода, начинаются поиски нового сериала, и порой в месяц просматриваю по несколько сериалов. Но вот пришло лето, новые серии обычно летом не снимают, а из старого практически нечего смотреть. Ладно, поживем - увидим, увидим новый сериал...
мне нравится сериал реальные пацаны смотреть онлайн!Эта самый лучший сериал что я когда либо видел! Я могу смотреть реальные пацаны круглые сутки.

А пока перечислю то, что я просмотрел за первое полугодие 2010 года. Сразу оговорюсь, сериалы в основном качаю с lostfilm.tv и rutracker.org .

1. Heroes / Герои. Сериал про людей с сверхспособностями. К сожалению,а может к лучшему, я посмотрел только первый сезон, и то досматривал уже на принципе лишь бы досмотреть. Сериал на любителя, каждая серия предсказуема, слабая игра актеров.

2. The big bang theory / Теория большого взрыва. Четверого ученых-ботанов знакомятся с новоиспеченой соседкой по лестничной клетке. Каждый персонаж со своим характеров. Хорошая игра актеров. Первые два сезона смотрелись на ура, на одном дыхании, но увы про третий так сказать не могу. Третий состоит из темной и светлой стороны, угу, но темных-не удачных серий на мой взгляд было больше. Сейчас сериал вошел в летнюю спячку до осени. Смотреть советую в переводе Кураж-Бамбей, серьезно, в любом другом переводе сериал смотреться не будет.

3. House M.D. / Доктор Хаус. Ага доктор дом. Хороший был сериал, для меня был. В этом году я посмотрел только пятый сезон и начало шестого, дальше не потянуло, как по мне так сериал себя изжил, исчерпал, умер - называйте как хотите. Хью Лори тянет весь сериал своей игрой. А да, забыл сказать, сериал про доктора с огромным опытом, своеобразный гений, умеет хорошо поставить диагноз, при этом не забудет выебать вам мозг (простите за мой французский, но из песни слов не выкинешь). Знакомые досмотрели шестой сезон, сказали что: вау, крошка, это улетный сериал, ты бы видел финальные серии.... Обойдусь.

4. Star Trek / Звездный путь. Ага, именно тот сериал. Просмотрел всё что было на лостфильме, а это 6 сериалов, из них несколько полнометражных фильмов (так же отдельно скачал новый фильм), и дофигища серий(даже считать не хочу, поверьте на слово - их дофига). Хоть сериал не блещет сумасшедшими спецэффектами, все таки сериалу уже много лет, но мне понравилась игра актеров, плюс в каждой серии были интересные истории. Сериал про космический корабль и про жизнь его экипажа. Начал его смотреть из-за Теории Большого Взрыва(кто смотрел тот поймет).

5. Lost / Остаться в живых. Сериал про группу людей которые выжили после крушения самолета на необитаемый остров. Сериал снимался давно, закончили неделю назад. Всего 6 сезонов, примерно в каждом от 13 до 20+ серий. Сам сериал я пробовал начать смотреть еще пару лет назад, но что-то не пошло. А в этом году голод потребовал нового и я решил посмотреть, и затянуло. Да, первые два сезона были замечательны, хорошая игра, продуманные серии, сценарий, но дальше пошли сопли, но что делать, в игру вступил принцип досмотреть до конца. Конец ИМХО УГ. Но это только мое ИМХО.

6. Супермен: Новые приключения Кларка Кента и Лоис Лейн. Посмотрел 3 сезона, если нравился в детстве этот супер герой советую переглянуть на досуге. С каждым сезоном улучшались спецэффекты, но как по мне ухудщалось качество сценариев, а так было весело.

7. Superman DCAU. Мультсериал супермен из вселеной DCAU. Хорошая прорисовка, сценарии, всегда было интересно смотреть, и даже жаль что больше не рисуют. 4 сезона, 54 серии. Советую переглянуть на досуге.

8. Justice League + Justice League Ultimate / Лига справедливости. Мультсериал про всевозможных супергероев которые обьединились против борьбы со злом во всем мире. В этом м.с. каждый найдет чтото свое, своего супергероя. Были и хорошие и плохие серии, в целом хороший мультсериал. После его просмотра, я скачал и просмотрел следующие фильмы: все части бэтмана, несколько эпизодов флэша, полометражный мультфильм зеленый фонарь, полнометражный мультфильм вандервумен, чтото еще но память сейчас отказывается помочь. Любителям супер героев советую.

9. Desperate Housewifes / Отчаянные домохозяйки. Сериал просмотрел весь, но на долю текущего года пришелся 5-ый и 6-ый сезон. Смешно? Да и мне было смешно когда начал его смотреть вместе с супругой. А потом втянулся :) Сериал про дам, домохозяек, у каждой свой неповторимый характер и манера поведения, у каждой свой склет в шкафу. Живут на одной улице, в домиках. В каждом сезоне появляется у них на улице новый жилец со своими странностями или у бывалых жильцов обнаруживаются нарушения в психике и т.д. Из всех героинь мне больше нравятся две: Габриель, за свою красоту, и Линнет, за ее характер. Сериал мало кого оставит равнодушным, но чтобы смотреть его безума, я так не сказал бы.

10. Cougar town / Город хищниц. Сериал молод, еще снимается, один сезон 20 серий. Привлек сериал своей главной героиней, Кортни Кокс, ага, она играла Монику в сериале Друзья. Сериал про 40 летнюю разведенную мадам с сыном подростком. В общем сериал про женщин которые постоянно ищут парней, в основном моложе себя, ради плотских утех. Юморной сериал. Годится для просмотра со своей второй половинкой. Ничего фантастического.

11. Modern Family / Американская семейка. Еще один молодой сериал. Аналогично 10-ой позиции всего 1 сезон и 21 серия. У кого семья (муж+жена+дети) думаю будет интересно посмотреть на ситуации из своей жизни на экране своих телевизоров/мониторов. В кратце, есть отец и его новая молодая жена с его маленьким сыном, у отца есть взрослые дети от первого брака: дочка и сын-гей. У дочки своя семья, а у сына-гея своя семья. Сериал повествует про взаимоотношения всех семей. Довольно интересно.

12. The IT Crowd / Компьютерщики. Несколько сезонов. Посмотрел всего лишь первый. Сериал про, кхм, компьютерщиков?! Бред полный, никому бы не посоветовал его смотреть.

13. Legend of the seeker / Легенда об искателе. Два сезона. Посмотред первый. И кажется сериал закрыли. О парне. Избранном. О параллельном мире. Волшебниках и злодеях. На любителя. Довольно не плохо реализованы спецэффекты, часть серий с хорошим сюжетом. Но увы не для меня.

14. Lie to me / Обмани меня. Всего два сезона по 10+ серий. В главных ролях Тим Рот. Играет психолога на службе у государства, его цель разгадать лжет человек или нет, без приборов и препаратов, всего лишь по мимике, голосу, движениям, поведениям. Как по мне так Тим Рот не вписался в этот сериал. Не вытягивал. Задумка сериала хорошая, хошие сценарии, но всегда какие то не доделаные, или лучше сказать не досказанные до конца. Опять таки на любителя, сериал нормальный, но порой нудный.

15. Dexter / Декстер. Этот сериал держал меня последние две недели в напряжении. Сериал не этого года, но так получилось что я о нем узнал только тогда когда он появился на лостфильме. Сам сериал из 4-х сезонов. Снят якобы по книгам, появился интерес купить книги и почитать. Повествует сериал про криминалиста, спеца по крови. Его задача дать заключение по найденой крови на месте убийста, так же расказать как он видит как произошло само убийство. Но не все так просто. Декстер, так зовут главного героя, не только коп, он еще и маньяк, или может правильнее сказать народный мститель. Он ведет две жизни, в одной он аккуратный порядочный коп, муж, отец, а во второй он убивает людей расчленяя их на части и сбрасывая в океан. Но убивает он только тщательно выбранных людей с темным прошлым, в основном убийцы. Осенью начнут транслировать 5-ый сезон. Четвертый закончился так неожиданно, что эмоции переваливали через край, хотелось и матерится и пойти с кем то обсудить увиденное, но увы была полночь, все спали.

16. How i met your mother / Как я встретил вашу маму. Этот сериал я начал смотреть сегодня. В переводе Кураж-Бамбей. Про нескольких друзей и их жизнь. Хотя не так. Про одного парня который рассказывает своим детям как он встретил их маму. Весь рассказ это и есть сериал. Пока просмотрел 4 серии первого сезона. Не могу сказать что мне нравится или нет, пока рано. Но такие сериалы напоминают мне Друзей, пожалуй Друзья это самый удачный сериал данного жанра.

Вперемешку с сериалами было просмотрено куча новинок из кино индустрии, так же были попытки начать разные сериалы но дальше чем первая серия они, попытки, никуда не привели. А да совсем забыл, посмотрел пару последних сезонов Симпсонов, уже не Симпсоны, но все еще пытаются держать форму.

К сожалению, просмотрев что я написал выше, я осознал что за все это время я прочитал всего две книги, а ведь мог вместо сериалов прочитать тонны книг. Может летом, когда у сериалов спячка, я прочту десяток книг, и опишу так же в кратце про них. А пока - привет пятая серия 16-сериала.
humster

кальянчик

Ребята не знаю как вы но мне реально нравится курить кальян.Но из за спорта я стараюсь делать это редко но метко.Вы задумывались о том где можно кальян приобрести? А вы знаете то что он должен соответсвовать определенным запросам.То есть сама схема построения его.Нет тогда читайте об этом здесь про кальян!
humster

автоавто

Я помогу вам сегодня рассказать про автокредит ! Это не простое дело получить автокредит в нашей стране.Для того чтобы не нарваться на плохих дяд советую быть очень избирательными в своих изысканиях!
обращайтесь в автокредит вам всегда помогут!
humster

дита гречневая

Ребят сидя за компом набрал целых 88 кг.Это при росте то метр 80!Че надо делать то ?А выход здесь один это гречневая диета и побольше двигаться в пространстве.Правдо надо пользоваться не для всех гречневая диета при ее неправильном использвовании.надо все делать с голой и тогда проблем вообще не будет.Побольше двигайтесь и занимайтесь спортом и это пойдет вам на пользу.!
humster

кадилак

Я всегда мечтал купить chevrolet себе.Но пока у меня нет на это средств.Для того чтобы иметь средства нужно работать и хорошо зарабатывать тогда вы сможете себе многое позволить.Мне нравятся машины.В ближайшее время я собираюсь получить права для автомобиля.Пока у меня прав нет я не могу купить себе машину.Для того чтобы купить себе хорошее авто надо найти себе хорошую работу.Например можно купить шевроле спарк но сначало надо найти работу.Работу можно найти только посредством связей либо знаний приобретенных.Вместо того чтобы сидеть и пялиться в интернете на все происходящее я мог бы пойти и выучить что либо.Но мне как получается лень.Значит не видать мне шевроле спарк !Но кто знает может я смогу в себе переломить эту составляющую и заработаю себе на хорошее авто как например шевроле спарк.У меня все впереди.М еще я хотел сказать что у меня богатая фантазия.И фантазия не всегда совпадает с желаемыеми результататми.Надо быть лучше и стремиться много узнать интеренсых вещей.
Чтоб сделать мир лучше и купить себе шевроле спарк!
Главное не отчаиваться и не падать духом!Я думаю самое главное надо сделать первый шаг и тогда мир подтянится к тебе!Нада напрячь свой мозг и как можно больше задействовать его в реале.
humster

story


Сказка про daviddavidov777
А.Милн - Винни Пух и Все-Все-Все(отрывок)


koplan1980 принялся расхаживать взад и вперед под деревом и говорить, что, кажется, дождь собирается, а daviddavidov777 запел такую песню:

Я daviddavidov777, daviddavidov777, daviddavidov777,
А вовсе не медведь,
Ах, как приятно daviddavidov777
По небу лететь!
Ах, в синем-синем небе
Порядок и уют
Поэтому все daviddavidov777
Так весело поют!

Но пчелы, как ни странно, жужжали все подозрительнее и подозрительнее. Многие из них даже вылетели из гнезда и стали летать вокруг daviddavidov777, когда он запел второй куплет песни. А одна пчела вдруг на минутку присела на нос daviddavidov777 и сразу же снова взлетела.
- koplan1980 - ай! - koplan1980! - закричал daviddavidov777.
- Что?
- Я думал, думал и наконец все понял. Это неправильные пчелы!
- Да ну?
- Совершенно неправильные! И они, наверно, делают неправильный мед, правда?
- Ну да?
- Да. Так что мне, скорей всего, лучше спуститься вниз.
- А как? - спросил koplan1980.
Об этом daviddavidov777 как раз еще и не подумал. Если он выпустит из лап веревочку, он упадет и опять бумкнет. Эта мысль ему не понравилась. Тогда он еще как следует подумал и потом сказал:
- koplan1980, ты должен сбить шар из ружья. Ружье у тебя с собой?
- Понятно, с собой,- сказал koplan1980.- Но если я выстрелю в шарик, он же испортится!
- А если ты не выстрелишь, тогда испорчусь я,-- сказал daviddavidov777.
Конечно, тут koplan1980 сразу понял, как надо поступить. Он очень тщательно прицелился в шарик и выстрелил.
- Ой-ой-ой!- вскрикнул daviddavidov777.
- Разве я не попал? - спросил koplan1980.
- Не то чтобы совсем не попал,- сказал daviddavidov777,- но только не попал в шарик!
- Прости, пожалуйста,- сказал koplan1980 и выстрелил снова.
На этот раз он не промахнулся. Воздух начал медленно выходить из шарика, и daviddavidov777 плавно опустился на землю.

Хотите получить свою сказку?

© qq_s md_mx alex_ginda dedgo
humster

эпл заказывали

Ребят а вам интересен Apple MacBook Pro (MC374RSA)?Мне нравится продукция от компании яблокО.Это очень эстетично выглядит и удобно.Это не важно что у вас от мака.Все что делает компания Стивена Джобса делает это очень профессионально и удобно.
Я советую вам переходить на Apple MacBook Pro (MC374RSA). Это очень класнно и прикольно.
humster

израильтосы )

Вы планируете в следующем отпуске посетить тёплые страны? Из всего многообразия туристы из России и сраны бывшего СНГ обычно отдают предпочтение таким странам как Турция, Египет, Болгария, Таиланд и Израиль. Как раз на последнем и хочется более подробно остановиться в этой статье.
Если Вы собираетесь поехать именно в эту удивительную страну, обязательно посетите курортный город Эйлат, расположенный на берегу Красного Моря. В Эйлате работает служба такси с русскоговорящими водителями, что наверняка будет очень удобно для тех туристов у котого не очень с английским. Обратившить в "Такси Эйлат", вы можете совершить поездку из Эйлата на Мёртвое Море, в Тель-Авив или в Иерусалим. Также водитель может выступить личным гидом и сделать для Вас индивидуальную экскурсию.