|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
21.02.2011, 21:11 | #1 |
Регистрация: 21.02.2011
Сообщений: 5
|
Анализатор кода
Здравствуйте! Возможно людям, искушённым в программировании, всё написанное ниже покажется наивным...Прошу не судить строго.
Работаю на станках с ЧПУ, пишу программы. Есть одна система, которая уже "плешь проела". Синтаксис введённого кода она не проверяет, принимает его "как есть", приходится ошибки искать "вручную", что бывает очень утомительно. Задумался о создании что-то вроде анализатора программного кода, для помощи в работе. Если честно, не представляю, с чего начать..Прошу совета, помощи. Немного (совсем немного) знаком с Borland Builder С++. |
21.02.2011, 23:43 | #2 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
Думаю стоит поискать что-нибудь на тему синтаксический анализ, регулярные выражения и др... Сам работаю с ЧПУ, была мысль что нить подобное сделать, но пока времени не хватает...
|
22.02.2011, 09:03 | #3 |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
На каком проце контроллер ЧПУ?
Код машинный или Assembler? Что нужно проверять? Синтаксис исходного кода (асм) или программный код (NEX-код)? А может лучше написать эмулятор контроллера с покомандным прохождением машинного кода?
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
22.02.2011, 09:42 | #4 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
А вообще, думаю, что это не очень сложная задача (не думаю, что синтаксис языка для станка такой уж навороченный ) counter, прав, синтаксический анализатор решит вашу проблему. Цитата:
Последний раз редактировалось Serge_Bliznykov; 22.02.2011 в 09:50. |
||
22.02.2011, 16:59 | #5 |
Регистрация: 21.02.2011
Сообщений: 5
|
[QUOTE=Serge_Bliznykov;741378]ну, так на каком-то этапе ошибка всё таки вылазит?!
А вообще, думаю, что это не очень сложная задача (не думаю, что синтаксис языка для станка такой уж навороченный ) counter, прав, синтаксический анализатор решит вашу проблему. То-то и оно, что ошибка "вылазит" на этапе обработки детали, и произойти может всё, что угодно (испортить заготовку, сломать инструмент стоимостью 20-30 тысяч, нет проблем) Это код ISO, язык самый простой. |
22.02.2011, 21:48 | #6 |
Участник клуба
Регистрация: 18.10.2008
Сообщений: 1,409
|
Если ошибки выявляются на этапе отработки УП, то тут вам поможет только эмулятор, который будет просчитывать все перемещения и в случае чего выдавать предупреждения. Однако в одиночку вам такой эмулятор ниасилить...
Я как-то видел на просторах интернета пакет T-Flex CAD, но у меня он работать не захотел так что, если есть желание, то можно посмотреть, что это за чудо... Кстати, какое у вас оборудование стоит? На современные обраб. центры есть много программ, которые созданы для разработки программ для станков с ПУ (начиная от построения модели и просчета перемещения инструмента и заканчивая подготовкой программы для станка), но все равно там все надо смотреть и проверять самому. |
23.02.2011, 09:15 | #7 |
Регистрация: 21.02.2011
Сообщений: 5
|
Но это CAD программы (чертёж, модель), для эмуляции обработки нужен CAM модуль. С MastrCAM работал, но есть несколько "но"...
1) На этом месте работы у меня её нет, поставить пиратку возможности нет. Есть T-flex, нет CAM модуля. 2) Использование таких программ оправдано, как правило, на сложных деталях. 3) Нужен постпроцессор... О современном оборудовании речь не идёт. Я меня есть SIEMENS 840D,тут проблем никаких, а есть ещё произведение "умельца" из НИАТ, называется АТАКА, будь она неладна! Мне не нужно чтобы происходила эмуляция обработки, надо проверять синтаксис. Например: Если я напишу T1 M3 (вместо M6) или G1 X0 Y-10 H0 J0(вместо G2/G3 X0 Y0 I0 J0), выдать сообщение и указать место ошибки. |
23.02.2011, 09:27 | #8 | |
Старожил
Регистрация: 31.05.2010
Сообщений: 13,543
|
Цитата:
М3 вместо М6. Проверка синтаксиса сдесь не поможет. Синтаксис может быть и верен, а значения аргументов погут приводить к непредсказуемым результатам.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder |
|
23.02.2011, 13:13 | #9 |
Регистрация: 21.02.2011
Сообщений: 5
|
Я думал, что можно сделать вещь типа проверки правописания в Word, и этим обойтись..Может я, в силу своей неграмотности в области программирования, неверно выражаю свои мысли?
|
23.02.2011, 13:28 | #10 | ||
Старожил
Регистрация: 03.01.2011
Сообщений: 2,508
|
А как Ворд поймёт, что в "T1 M3" нужно было поставить M6 ? Это всё-равно как заставить Ворд исправить смысловую ошибку в фразе:
Цитата:
Есть ведь формальное описание языка? Ну типа Цитата:
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
|
||
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
анализатор | Sparky | Паскаль, Turbo Pascal, PascalABC.NET | 15 | 17.12.2010 07:28 |
Синтаксический анализатор | Lifefine | Общие вопросы Delphi | 3 | 09.10.2010 19:42 |
Анализатор! | gallion | Помощь студентам | 2 | 19.05.2010 09:32 |
Анализатор текста | Xeon332 | Помощь студентам | 1 | 14.03.2010 17:24 |
Логический анализатор | NieL | Общие вопросы Delphi | 1 | 10.03.2009 13:28 |