Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Web программирование > JavaScript, Ajax
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2018, 13:57   #1
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию Синтаксический анализатор

Очередная лабораторная. В общем суть вопроса такова, посмотрите пожалуйста задание и скажите с чего вообще начинать, куда двигаться, а то в гугле я ничего не нашла.
Написать программу, которая имеет набор правил, слова и поле для ввода текста.
1) Задать набор слов по группам (например, подлежащее, сказуемое, второстепенные
члены предложения). Слова по группам должны храниться во внешних подгружаемых
файлах, но при необходимости должна быть возможность корректировать их.
2) Задать правила формирования предложения текста. Проверить введенное предложение
на правильность написания по указанному правилу. При правильном написании
предложения выдать сообщение «ОК».
3) При неправильном написании предложить правильный вариант. А при невозможности
предложить правильный вариант выдать сообщение «Из данных слов невозможно
составить предложение».
Battori вне форума Ответить с цитированием
Старый 13.03.2018, 23:55   #2
Naive
Раздолбайских Дел
Старожил
 
Аватар для Naive
 
Регистрация: 22.05.2009
Сообщений: 3,828
По умолчанию

Цитата:
Сообщение от Battori Посмотреть сообщение
Слова по группам должны храниться во внешних подгружаемых
файлах
Только на этом я могу сказать, что вам в раздел Java, а не сюда. (JS может подгружать файлы, но с учетом того, что не так давно начали пропадать вопросы по паскалю, то о новых возможностях JS никто из преподов не знает)
Да и задачка больше на машинное обучение и работу на этой обученной нейросетке, походу препод просто угарнул...
Alar, верни репу!
Naive вне форума Ответить с цитированием
Старый 14.03.2018, 13:55   #3
Battori
 
Регистрация: 12.03.2018
Сообщений: 9
По умолчанию

Ну вот у меня есть какие-то наброски, но я не знаю как заставить это все работать.
Вложения
Тип файла: zip zen21.zip (7.9 Кб, 13 просмотров)
Battori вне форума Ответить с цитированием
Старый 15.03.2018, 10:57   #4
Xo66um
Форумчанин
 
Регистрация: 11.05.2013
Сообщений: 154
По умолчанию

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

Код:
// функция получения случайного числа из диапазона
function getRandomNum(min, max) {
    return min + Math.floor(Math.random() * (max + 1 - min));
}

// массивы слов
var words1 = ["слово1", "слово2"]; // первый словарь
var words2 = ["слово1", "слово2"]; // второй словарь
var words3 = ["слово1", "слово2"]; // третий словарь

// получаем по одному случайному слову из трех словарей
var word1 = words1[getRandomNum(0, 1)];
var word2 = words2[getRandomNum(0, 1)];
var word3 = words3[getRandomNum(0, 1)];
Дальше - только модификация кода:
1. Получение выбранного элемента из списка правил
2. Получение случайного слова из нужного словаря (см. п.1)
3. Вывод результата (хоть тем же alert)

Можно также парсить содержимое полей по разделителю (как обычно, по запятой, или точке с запятой) и либо динамически заполнять массивы, либо "на лету" их формировать и получать слова. Тут уже решайте сами, что вам нужно.

P.S.
Код накидал на коленке, но работать должен.

UPD:
Код на JS, т.к. тема в соответствующем форуме. Но я там смотрю, в проекте используется еще и PHP. Так что, возможно, придется код переписать, но суть я передал, надеюсь.

Последний раз редактировалось Xo66um; 15.03.2018 в 10:59.
Xo66um вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

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

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
C++ Синтаксический анализатор Си bambulbi Помощь студентам 0 22.12.2016 20:18
Синтаксический анализатор Lisёноk Помощь студентам 2 12.12.2011 09:51
Синтаксический анализатор Jeka57 Помощь студентам 1 05.06.2011 22:47
Синтаксический анализатор Douglas Помощь студентам 0 28.12.2010 18:01
Синтаксический анализатор Lifefine Общие вопросы Delphi 3 09.10.2010 19:42