Многострочный текст при разборе с использованием английского языка выбрасывает исключение.

Issue #213 closed
Вадим Клевцов created an issue

Originally reported on Google Code with ID 213

Кодировка utf8, окончания строк linux style. 
Cтрока : 'Billy was like the other rich kids had a nurse, bicycle and swimming pool,
but he never played in the street, did not talk to poor people.'.
Ошибка Exception: Lexical error: Unmatched input 

Reported by vad23klev on 2013-07-21 16:45:07

Comments (12)

  1. Former user Account Deleted

    Reported by mamontov.dp on 2013-07-21 16:47:40 - Status changed: Accepted - Labels added: Component-WritingCompetently

  2. Oleg Sychev repo owner
    Дмитрий, если есть необходимость, посмотрите на лексер регулярных выражений в Preg -
    там поддерживаются многострочные регексы.
    
    И нужно наверное юнит-тесты многострочные завести на все языки.
    
    Вадим - все-таки лучше вводить символы перевода строки как \n в двойных кавычках, чем
    перевод строки в одинарных - более надежная работа на различных ОС.
    
    P.S. Дмитрий, не хотите упростить себе жизнь на следующий семестр, вводят ответы учителя
    в textarea? Только тогда надо все языки на многострочность протестировать...
    

    Reported by oasychev on 2013-07-22 12:04:49

  3. Вадим Клевцов Account Deactivated reporter
    Просто у меня предложение в132 символов не укладывалость я его разбил...  Ваше предложение
    для меня не совсем ясно. 
    

    Reported by vad23klev on 2013-07-22 12:10:42

  4. Oleg Sychev repo owner
    Если предложение просто не укладывается - его можно соединить через операцию . - склейка
    строк.
    
    Но многострочный текст надо уметь лексить (Мамонтов - с нормальной расстановкой позиции
    строки).  Просто при вводе его в юнит-тестах лучше переводы строки обозначать как "\n"
    а не буквальный перевод строки в одинарных кавычках.
    

    Reported by oasychev on 2013-07-22 12:30:57

  5. Oleg Sychev repo owner
    Дмитрий, вообще исключение типа несматченного текста должно отлавливаться блоком, переводится
    в erorr (для того они и есть в token_stream) и выдаваться как ошибка учителю на форме,
    либо студенту преобразовываться в mistake... Т.е. работать по тому же принципу, что
    и, например, символьный литерал из нескольких символов в языке Си.
    

    Reported by oasychev on 2013-07-22 14:34:46

  6. Former user Account Deleted
    Многострочность сделана, по поводу несматченного текста, должен быть, думаю отдельный
    разговор.
    

    Reported by mamontov.dp on 2013-09-17 05:11:23

  7. Oleg Sychev repo owner
    А чего там сильно отдельного? Просто надо уже типовую реакцию на это сделать, не должен
    же вопрос вылетать с эксепшном если китайский студент, изучающий английский или программирование,
    иероглиф случайно введет?
    

    Reported by oasychev on 2013-09-23 20:36:15

  8. Former user Account Deleted
    Ну, как оно должно конвертироваться в mistake, какое сообщение ставить, etc.
    

    Reported by mamontov.dp on 2013-09-24 13:50:31

  9. Oleg Sychev repo owner
    Конвертироваться примерно также, как например незакрытая кавычка.
    
    Сообщение в духе: символы "такие-то" не должны присутствовать в ответе на "таком-то"
    языке.
    

    Reported by oasychev on 2013-09-24 13:52:26

  10. Oleg Sychev repo owner
    Fixed или нет? Тут вроде просто все должно быть...
    

    Reported by oasychev on 2013-12-08 23:20:11

  11. Log in to comment