jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба и что не так с интерфейсами в шарпе ? с ними все прекрасно. но их надо реализовывать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба с ними все прекрасно. но их надо реализовывать. Lost at C? Forth May Be the Answer Классический цикл работы FVM Слова разделены пробелами или переводом строки. Взяли слово из входного потока. Ищем слово в словарике. Нашли слово? то проверяем его признаки: immediate (всегда исполняем) иначе компилируем вызов слова (система в состоянии компиляции) или исполняем. Если не нашли слово то может это число? Да число то проверяем состояние системы: компиляция (компилируем литерал) иначе ложим его на стек Нет - выдаём ошибку P.S. Immediate слово - слово немедленного исполнения ( : ; IF ELSE THEN. и другие необходимые во время трансляции кода для его добавления к основному "телу" системы при построении новых слов) Если для пользователя понадобится Бейсик или какие то другие фишки то небольшим расширением Форт системы его несложно получить :) На местном форуме тоже есть несколько тем интересного обсуждения Forth (Форт). Ищется через поле поиска. Для Форт систем записанных в контроллер, часто в качестве потока ввода/вывода используется UART и терминальная программа общения с контроллером по UART. (или что то более функциональное). В контроллере может находится и дополнительный сервисый софт - типа встроенного редактора (обычно тоже на Форт добавленного к телу системы) Программа дописыватся или удаляется в контроллере при использовании режима самопрограммирования контроллера. Изменено 27 января, 2016 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба их надо реализовывать в смысле, для вас надо написать программу ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба в смысле, для вас надо написать программу ? в смысле конкретный, реальный пример. советы - возьми слово, положи в стак, задвинь фортом придави джансоном, ну ты ж дурак не понимаешь что ли это ж так элементарно - лично я, постеснялся бы давать. не знаю как принято у вас но если бы я дал такой совет положить в стек номер порта читать порт положить в стек константу сравнить то на меня бы долго смотрели нехорошим взглядом. а могли бы и что нибудь сказать. ну это у нас на районе такие нравы. как у вас - не знаю. Изменено 27 января, 2016 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Kopa 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба советы - возьми слово, положи в стак, задвинь фортом придави джансоном, ну ты ж дурак не понимаешь что ли это ж так элементарно - лично я, постеснялся бы давать. не знаю как принято у вас но если бы я дал такой совет Как в известном анекдоте: @"Ну тады Ой!" Блок-схема тоже не интересна? Вы похоже разделом ошиблись. P.S. Должно было звучать так "Предлагаю сделать за меня PLC, но не знаю как. Требования к PLC придумайте сами и сами себя мотивируйте для выполнения моей задачи! Ась? Изучать слишком долго для меня, а мне это нужно? Плачу 500р за готовое устройство" :) Сколько Вам лет профессор(ша)? Изменено 27 января, 2016 пользователем Kopa Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба P.S. Должно было звучать так "Предлагаю сделать за меня PLC, но не знаю как. Требования к PLC придумайте сами и сами себя мотивируйте для выполнения моей задачи! Ась? Изучать слишком долго для меня, а мне это нужно? Плачу 500р за готовое устройство" :) Сколько Вам лет профессор(ша)? Самое смешное, что задача решается в лоб по инструкции на видео за 10 минут и 50 бакинских на железо и софт. И сиди себе спокойно на IL программируй свою логику сколько хочешь. https://m.youtube.com/watch?v=_MeQBfQObgk Но нет, мы не ищем легких путей. Нам надо изобрести свои парсеры, фреймворки, джейсоны и форты с компиляторами разработать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 27 января, 2016 Опубликовано 27 января, 2016 (изменено) · Жалоба Самое смешное, что задача решается в лоб по инструкции на видео за 10 минут и 50 бакинских на железо и софт. И сиди себе спокойно на IL программируй свою логику сколько хочешь. https://m.youtube.com/watch?v=_MeQBfQObgk Но нет, мы не ищем легких путей. Нам надо изобрести свои парсеры, фреймворки, джейсоны и форты с компиляторами разработать. ну расбери с линуксом это тоже не совсем тот путь который мне подходит. Изменено 27 января, 2016 пользователем Jenya7 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 74 27 января, 2016 Опубликовано 27 января, 2016 · Жалоба в смысле конкретный, реальный пример. советы - возьми слово, положи в стак, задвинь фортом придави джансоном, ну ты ж дурак не понимаешь что ли это ж так элементарно - лично я, постеснялся бы давать. не знаю как принято у вас но если бы я дал такой совет положить в стек номер порта читать порт положить в стек константу сравнить то на меня бы долго смотрели нехорошим взглядом. а могли бы и что нибудь сказать. ну это у нас на районе такие нравы. как у вас - не знаю. если непонятно что такое стэк то надо открыть какой-нибудь букварь по программированию прочитать что же это такое, а не жаловаться на четырёх уже страницах что советы "неправильные" дают. у Страуструпа в книжке есть пример калькулятора на сотню строк, с разбором любых выражений со скобочками и переменными, добавить туда ||, &&, ~ для логической арифметики в стиле С, когда 0 = false. И если хочется именно "скомпилировать", чтобы не парсить каждый раз, надо вместо непосредственно вычисления сложить все операции и значения в стэк и потом просто пройтись по нему и выполнить. кода для этого написать надо куда меньше чем в этой теме нафлужено. собственно на первой же странице RabidRabbit всё уже рассказал как сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smalcom 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба задача действительно плевая. для сильных спецов. о-о-о-о, всё ясно. повидал я таких: > Сделать то-то. Задача лёгкая, но мне некогда. Потому ценник низкий. Я понимаю, что современный мир крайне неидеален, но отсутствие логики - это проблема для инженера. Чуть-чуть разжую вам, ато мало ли. Вы не можете категоризировать сложность задачи, которую не выполнили. Все невыполненные задачи априори сложные. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба в смысле конкретный, реальный пример да легко, давайте небольшую реальную задачу, $20 и будет вам программа и интерпретатор под неё Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sigmaN 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба И это еще Огурцов реально по-Божески заряжает. Так то я слыхал, обычно со ста тыщ рублей ценник начинается! )))))))))))))))))) Рекомендую немедленно соглашаться! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба казалось бы причём тут зарядка, это ж чисто на пиво, дабы не скучать а за стотыщ я вам шарп со студией 16 и фреймворком 6.0 напишу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
syoma 1 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба ну расбери с линуксом это тоже не совсем тот путь который мне подходит. Я вам показал интерпретатор, парсер и отладчик для ПЛК в одном флаконе - это то, к чему вы собираетесь идти. Распбери с линуксом там только одна из платформ. Не нравится - возьмите другую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jcxz 234 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба param1 input1 && param2 input2 input3 || && || Это называется "обратная польская нотация". Удобна для обработки стековой машиной. да но вопрос как это сохранить, в какой структре. чтоб потом знать - сделай AND с этой группой а потом сделай OR с той группой а потом сделай AND межу ними. как это практически связать. Вам уже всё разжевали и даже в рот положили. И правильно указали - что у Вас проблемы уже с парсингом. Выражения удобно парсить в формат записи обратной польской нотацией. И в ней уже обрабатывать выражения. Скобки проходятся рекурсией. В обратной польской нотации раньше задавались выражения для программируемых калькуляторов, если кто помнит такие девайсы.... Выражение в обычной записи (a*b+c*(d-e)) в обратной польской нотации будет выглядеть: ab*cde-*+ - это уже удобно для обработки исполнительным алгоритмом и уже без скобок. если это операция - снимаем со стека 2 значения, выполняем операцию, результат кладём в стек Не обязательно 2 операнда. 2 - это для бинарных операций. Для унарных - 1 операнд. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
jenya7 0 28 января, 2016 Опубликовано 28 января, 2016 · Жалоба Я вам показал интерпретатор, парсер и отладчик для ПЛК в одном флаконе - это то, к чему вы собираетесь идти. Распбери с линуксом там только одна из платформ. Не нравится - возьмите другую. мне бы не хотелось уходить в какие то специализированные среды разработки. у меня есть мощный камень и такой же язык программирования. и я думаю этих двух условий вполне хватает для решения задачи. тем более что она почти решена. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться