0 / 0 / 0
Регистрация: 20.01.2009
Сообщений: 7
|
|
1 | |
Вычислитель арифметических выражений (DCG)25.05.2011, 16:08. Показов 2087. Ответов 3
Метки нет (Все метки)
Здравствуйте!
Задача тривиальная : нужно реализовать синтаксический анализатор арифметических выражений и вычисление их значений. Видела решения с реализацией на VIP и с дополнительным парсером, но хочется красивое решение с использованием DCG нотации, на SWI. Исходное выражение задается в виде списка : ['(',1,'+', 2, ')','*',3]. Накидайте простой работающий вариант с поддержкой операций +, *, скобки и целых чисел, пожалуйста.
0
|
25.05.2011, 16:08 | |
Ответы с готовыми решениями:
3
Упрощение арифметических выражений Создать список арифметических выражений Разбор и вычисление значений арифметических выражений Программа символьного дифференцирования арифметических выражений. Помогите |
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
25.05.2011, 18:30 | 2 | |||||
Ну можно было просьбу и повежливей составить, а то "накиньте", "работающий"
1
|
0 / 0 / 0
Регистрация: 20.01.2009
Сообщений: 7
|
||||||
26.05.2011, 00:27 [ТС] | 3 | |||||
простите, резковато вышло) Спасибо за ваш вариант, только хотелось бы именно в DCG нотации записать грамматику разбора. В этом собственно даже суть вопроса - наглядно представить грамматику арифметических выражений. Вот что получилось у нас:
Добавлено через 11 минут Ой, со степенью тоже все просто. Оказывается SWI умеет сам возводить в степень)
0
|
2505 / 1480 / 37
Регистрация: 14.09.2009
Сообщений: 2,740
|
||||||
26.05.2011, 02:20 | 4 | |||||
Вроде так действует, но не уверена, я с этой нотацией в первый раз встречаюсь
0
|
26.05.2011, 02:20 | |
26.05.2011, 02:20 | |
Помогаю со студенческими работами здесь
4
DCG грамматика Набор слов и DCG DCG в SWI-Prolog-е DCG + оператор univ/2 + вывод множества значений Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |