Token В этой задаче нужно модифицировать Lexer так, чтобы readNext() возвращал не строку, а экземпляр специального класса Token, в котором хранится расширенная информация про токен: подстрока входной строки, соответствующая токену (то, что раньше возвращал readNext()) индекс первого символа токена в исходной строке (чтобы по токену было понятно, где он встречается в исходной строке) класс токена, определяемый токен-ридером он был прочитан. Кроме того, должно быть следующее поведение Lexer-а: Если достигнут конец исходной строки, то readNext должен возвращать null. Если в очередной момент лексер не может прочитать токен ни одним из ридеров, то Lexer должен выбросить исключение с понятным текстом.
Текст понятен =) Про этичность сообщения или правила оформления кода ничего не сказано.. Не красиво, конечно.. Но изменять правила после начала игры не честно, не по мужски как то.. Замечание, да, сделать надо.. Задачу я бы зачел..
1. Подпись под анонимным комментарием всегда приветствуется. ;) 2. Напомню, что у нас не игра, а обучающий процесс. И никто не обещал, конечно же, что все правила будут зафиксированы заранее - в этом нет смысла. 3. "Задачу я бы зачел..." Гмм... Считать это попыткой психологического давления на преподавателя? ;-)
1. Богинич Денис, КН-201 2. Правила желательны всегда, хотя бы для того что бы игрок/обучающийся мог выбрать правильную стратегию. Критерий принятия решения обязан быть, иначе абсолютно не понятно, что от нас требуют. Я уверен, что вам четко формулируют, что от вас требуется(на работе). Да, и если решение удовлетворяет объявленому в задаче критерию "Accepted", то оно должно быть засчитано. Все условия критерия выполнены =) . Условие лежит на Wiki. 3. Как вам будет угодно..
Comments 21
В этой задаче нужно модифицировать Lexer так, чтобы readNext() возвращал не строку, а экземпляр специального класса Token, в котором хранится расширенная информация про токен:
подстрока входной строки, соответствующая токену (то, что раньше возвращал readNext())
индекс первого символа токена в исходной строке (чтобы по токену было понятно, где он встречается в исходной строке)
класс токена, определяемый токен-ридером он был прочитан.
Кроме того, должно быть следующее поведение Lexer-а: Если достигнут конец исходной строки, то readNext должен возвращать null. Если в очередной момент лексер не может прочитать токен ни одним из ридеров, то Lexer должен выбросить исключение с понятным текстом.
Текст понятен =) Про этичность сообщения или правила оформления кода ничего не сказано.. Не красиво, конечно.. Но изменять правила после начала игры не честно, не по мужски как то.. Замечание, да, сделать надо.. Задачу я бы зачел..
Reply
2. Напомню, что у нас не игра, а обучающий процесс. И никто не обещал, конечно же, что все правила будут зафиксированы заранее - в этом нет смысла.
3. "Задачу я бы зачел..." Гмм... Считать это попыткой психологического давления на преподавателя? ;-)
Reply
2. Правила желательны всегда, хотя бы для того что бы игрок/обучающийся мог выбрать правильную стратегию. Критерий принятия решения обязан быть, иначе абсолютно не понятно, что от нас требуют. Я уверен, что вам четко формулируют, что от вас требуется(на работе). Да, и если решение удовлетворяет объявленому в задаче критерию "Accepted", то оно должно быть засчитано. Все условия критерия выполнены =) . Условие лежит на Wiki.
3. Как вам будет угодно..
Reply
Reply
Leave a comment