Разобрать по составу слово специальный: Разобрать по составу слово солнечный

морфемика — Морфемный разбор слова «награда»

Помогите разобрать слово «награда» по составу. В «Словаре морфем русского языка» А.И.Кузнецовой, Т.Ф.Ефремовой приставка НА-.

  • морфемика

А. И. Кузнецовв и Т. Ф. Ефремова не правы,

в слове «награда», как и «народ», корень -град-/-род- не выделяется: приставка (историческая) срослась с корнем.

Если онлайн-разбор не аргумент супротив авторитетного словаря, есть и другие источники:

Для правильного понимания смысла слов, точного их употребления необходимо разбираться в составе слова. Главное состоит в том, чтобы разбор слова по составу не проходил ме­ханически, когда всю работу по составу слов сводят к умению выделить корень, а это приводит к механическому разрубанию слова на куски, к выделе­нию корня только потому, что похожий звуковой комплекс слышится и в другом случае (награда и град).


. ..Сюда входят слова,

родственные отношения между которыми уже не может ни увидеть, ни даже «почувствовать» никто, ибо произошел реальный разрыв родственных отношений, произошла деэтимологизация слов; для обнаружения исторически существовавших родственных связей в таких случаях надо знать историю русского языка и применять специальные аналитические процедуры, выработанные этимологической наукой. К этой группе можно отнести такие случаи:

благоухать – нюхать,

бодрый – бдеть,

брак – брать,

вспылить – пылать,

вьюга – вить,

добыть – быть,

досуг – досягать,

ряд – заряд,

острый – изощрить,

изъять – изящный,

тяга – истязать;

колесо – колея – около,

награда – град / город,

польза – легкий – льгота

и другие.

источник


Ещё один словарь

, который, минуя «награду», разбирает по морфемам слово «наградной»:

В заключение — цитата из Фасмера:

Зарегистрируйтесь или войдите

Регистрация через Google

Регистрация через Facebook

Регистрация через почту

Отправить без регистрации

Почта

Необходима, но никому не показывается

Отправить без регистрации

Почта

Необходима, но никому не показывается

Нажимая на кнопку «Отправить ответ», вы соглашаетесь с нашими пользовательским соглашением, политикой конфиденциальности и политикой о куки

python — pyparsing: анализ предложения со специальными словами в нем

спросил

Изменено 5 лет, 11 месяцев назад

Просмотрено 969 раз

Я пытаюсь написать программу с pyparsing, которая анализирует все строки, содержащие специальные слова. Я написал следующий код, но он не работает:

 из импорта pyparsing *
слово = слово (альфа)
предложение = OneOrMore (слово)
день = буквально ("день")
предложение_end_with_happy = предложение + день + предложение
ret = предложение_end_with_happy.parseString ("привет, это хороший день, и все в порядке")
 

Я попытался разобрать предложение со специальным словом «день», но при разборе возникли ошибки…

pyparsing.ParseException: ожидаемый «день» (в символе 42), (строка: 1, столбец: 43)

  • питон
  • анализ

1

Использовать отрицательный прогноз при определении слова ; в противном случае слово соответствует дню и предложению .

 из импорта pyparsing *
день = ключевое слово ("день")
слово = ~ день + слово (альфа)
предложение = OneOrMore (слово)
предложение_конец_с_счастливым = предложение («первое») + день + предложение («последнее»)
ret = предложение_end_with_happy.
parseString ("привет, это хороший день, и все в порядке") напечатать рет['первый'] напечатать рет['последний'] распечатать рет

Вывод:

 ['привет', 'это', 'есть', 'а', 'приятно']
['и', 'все', 'есть', 'хорошо']
['привет', 'это', 'есть', 'а', 'приятно', 'день', 'и', 'все', 'есть', 'хорошо']
 

2

pyparsing выдает исключение, так как считает «день» словом в предложении.

В этом случае вы можете использовать встроенные строковые функции модуля Python.

 В [85]: str1 = "привет, это хороший день, и все в порядке"
В [86]: str2 = "день"
В [87]: str2_pos = str1.find(str2)
В [88]: str1_split_str2 = [mystr[:str2_pos], mystr[str2_pos:str2_pos+len(str2)], mystr[str2_pos+len(str2):]]
В [89]: str1_split_str2
Out[89]: ['привет, сегодня хороший', 'день', 'и все в порядке']
 

1

Зарегистрируйтесь или войдите в систему

Зарегистрируйтесь с помощью Google

Зарегистрироваться через Facebook

Зарегистрируйтесь, используя электронную почту и пароль

Опубликовать как гость

Электронная почта

Требуется, но не отображается

Опубликовать как гость

Электронная почта

Требуется, но не отображается

python — Использование pyparsing для разбора слова escape-split в нескольких строках

Я пытаюсь разобрать слова, которые можно разбить на несколько строк с помощью комбинации обратной косой черты и новой строки (» \\n «) с помощью pyparsing.

Вот что я сделал:

 из pyparsing import *
continue_ending = Литерал ('\\') + Конец строки
слово = слово (альфа)
split_word = слово + Подавить (продолжение_окончание)
multi_line_word = Вперед()
многострочное_слово << (слово | (разделенное_слово + многострочное_слово))
распечатать multi_line_word.parseString(
'''супер\\
кали\\
фраги\\
список''')
 

Я получаю результат ['super'] , а ожидаемый результат ['super', 'cali', fragi', 'listic'] . Еще лучше было бы, чтобы все они были объединены в одно слово (что, я думаю, я могу просто сделать с помощью multi_line_word.parseAction(lambda t: ''.join(t)) .

Я попытался посмотреть на этот код в помощнике pyparsing, но это дает мне ошибку, максимальная глубина рекурсии превысила . думал, что я анализировал, было намного свободнее, то есть мы не хотим видеть пробел между какой-либо частью слова, escape-символом и символом EOL.0005

Я понял, что приведенной выше небольшой строки примера недостаточно для тестового примера, поэтому я написал следующие модульные тесты. Код, прошедший эти тесты, должен быть в состоянии соответствовать тому, что я интуитивно воспринимаю как escape-разделенное слово, а только как escape-разделенное слово. Они не будут соответствовать основному слову, которое не является escape-split. Мы можем — и я считаю, что должны — использовать для этого другую грамматическую конструкцию. Это держит все в порядке, имея два отдельных.

 импорт юниттест
импорт pyparsing
# Предполагается, что вы назвали свой модуль 'multiline.py'
импортировать многострочный
класс MultiLineTests (unittest.TestCase):
 защита test_continued_ending (сам):
 случай = '\\\n'
 ожидается = ['\\', '\n']
 результат = многострочный.continued_ending.parseString(case).asList()
 self.assertEqual (результат, ожидаемый)
 def test_continued_ending_space_between_parse_error (я):
 случай = '\\ \n'
 self.assertRaises(
 pyparsing.ParseException,
 многострочный.continued_ending.parseString,
 случай
 )
 определение test_split_word (я):
 case = ('блестящий\\', 'блестящий\\\n', 'блестящий\\')
 ожидается = ['блестящий']
 на случай в случаях:
 результат = multiline.
split_word.parseString(case).asList() self.assertEqual (результат, ожидаемый) защита test_split_word_no_escape_parse_error (я): случай = 'блестящий' self.assertRaises( pyparsing.ParseException, многострочный.split_word.parseString, случай ) защита test_split_word_space_parse_error (я): case = ('блестящий\\', 'блестящий\r\\', 'блестящий\t\\', 'блестящий\\') на случай в случаях: self.assertRaises( pyparsing.ParseException, многострочный.split_word.parseString, случай ) определение test_multi_line_word (я): случаев = ( 'блестящий\\', 'ши\\\нни', 'ш\\\ни\\\нни\\\п', 'ши\\\нны\\', 'ши\\\нни' 'ши\\\нй капитан' ) ожидается = ['блестящий'] на случай в случаях: результат = multiline.multi_line_word.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *