Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Разное
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 12.12.2012, 01:38
Тираэль Тираэль вне форума
Прохожий
 
Регистрация: 22.08.2010
Сообщения: 3
Репутация: 10
Радость Разбор порядка примитивных Математических Действий заданного языка

Изначально на вход подается файл с строками программного кода, в котором используются переменные (заданны по стандартным правилам), константы (в виде римских чисел), математические действия (+ - * /), скобки, знак прерывания строк, знак присваивания.
Текст программы может содержать комментарии. (//текст комментария).
Необходимо создать лексический анализатор кода, а на его основе произвести синтаксический анализ кода.

В виде синтаксического анализа представляется проверка правильности записи выражения, разбиение выражения на действия с соблюдением порядка действий. Результат анализа предоставляется в виде дерева.

Надеюсь кому-то поможет.
Сам найти примитивное не смог, поэтому решил сам написать.
Вложения
Тип файла: rar 3_Work.rar (433.1 Кбайт, 4 просмотров)

Последний раз редактировалось Тираэль, 12.12.2012 в 01:43. Причина: Добавление в статью файла.
Ответить с цитированием
  #2  
Старый 12.12.2012, 01:49
Тираэль Тираэль вне форума
Прохожий
 
Регистрация: 22.08.2010
Сообщения: 3
Репутация: 10
По умолчанию

Вот скрин работы программы.
Изображения
Тип файла: jpg yOjHzk__Wxk.jpg (90.4 Кбайт, 9 просмотров)
Ответить с цитированием
  #3  
Старый 12.12.2012, 09:32
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
По умолчанию

а чем IScriptControl не угодил? гораздо функциональнее. к тому же после "небольших допиливаний" его можно заставить работать и с VCL объектами программы: читать/писать значения и создавать TWinControl (TForm, TEdit, TMemo, TListBox TComboBox и т.д.), TControl (TLabel и т.д.). быть обработчиком событий TButton, TTimer. читать/писать файлы, работать с интернет. вообщем функционал программы легко расширяется без перекомпилирования exe.
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
  #4  
Старый 12.12.2012, 13:18
Тираэль Тираэль вне форума
Прохожий
 
Регистрация: 22.08.2010
Сообщения: 3
Репутация: 10
По умолчанию

Ну мне так проще было.
Ответить с цитированием
  #5  
Старый 12.12.2012, 14:05
Аватар для NumLock
NumLock NumLock вне форума
Let Me Show You
 
Регистрация: 30.04.2010
Адрес: Северодвинск
Сообщения: 5,426
Версия Delphi: 7, XE5
Репутация: 59586
Радость

да уж куда проще:
Код:
var
  ScriptControl: IScriptControl;
begin
  ScriptControl:=CreateComObject(CLASS_ScriptControl) as IScriptControl;
  ScriptControl.Language:='javascript';
  Memo1.Lines.Add(ScriptControl.Eval('(2*5+90+Math.abs(-900))/10'));
end;
__________________
Пишу программы за еду.
__________________
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:54.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter