Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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

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

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

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

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

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

Код:

// функция получения случайного числа из диапазона
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 в 11:59.
Xo66um вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

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


07:14.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru