Перейти к содержимому
Топаз6.0 · До релиза
Загрузка →

Поиск в документации

Спецификация 6.0

Выберите результат стрелками и нажмите Enter, чтобы открыть его.

Введите имя API, номер диагностики, правило или тему проекта.

    Диагностика

    TPZ0002 · Удалена в 6.0.0

    TPZ0002 is retired in Topaz 6.0.0 and remains reserved for its former meaning, an unterminated block comment. It must not be emitted or assigned a new meaning.

    Diagnostic and cause

    Ссылка

    Unterminated block comment

    Семейство
    topaz
    Этап
    lex
    Код
    TPZ0002

    Причина и условия

    Действия

    Write each comment line with //. At the start of an expression, the former /* opener produces TPZ2001 during parsing.

    Historical compiler facts for the reserved code. These facts describe the former diagnostic, not a 6.0.0 trigger.

    Compiler phase: lex.

    Compiler explanation: A block comment reached the end of input before its closing delimiter.

    Message templates. The marker ⟨value⟩ stands for text computed for the reported program.

    • unterminated block comment Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ0002]: unterminated block comment

    TPZ0002 is retired in Topaz 6.0.0 and remains reserved for its former meaning, an unterminated block comment. It must not be emitted or assigned a new meaning.

    Правилоdiagnostics.tpz0002.rule

    Reserved code and current rejection

    TPZ0002 is retired in Topaz 6.0.0. Its code and former meaning remain reserved and must not be reused. Source comments begin with //. Outside a string or line comment, /* supplies the ordinary / and * tokens. At the start of a statement or expression, this sequence produces TPZ2001 in the parse phase. Adding a closing */ does not make it a comment. Whitespace between / and * does not give the sequence a comment meaning.

    Причина

    One comment spelling makes ignored source text unambiguous. The line-comments-only decision selects //. A retired code keeps its old meaning so stored diagnostics and links remain understandable. Invalid expression tokens use the existing parse diagnostic, which also applies when whitespace separates them.

    Response

    Ссылка

    Write each comment line with //. At the start of an expression, the former /* opener produces TPZ2001 during parsing.

    Reproduction and verification

    Ссылка

    Rejected program

    Ссылка
    example.tpzRejected programОткрыть песочницу →
    1. /* unfinished comment
    Ожидаемый выводНенулевой код завершения
    Нет стандартного вывода.
    $ topaz check example.tpz · Целевой продукт 5.21.3
    Ожидаемый результат

    Ожидаемый результат

    Этап отклонения parse. Ненулевой код завершения.

    The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.

    Corrected program

    Ссылка
    example.tpzCorrected programОткрыть песочницу →
    1. // finished comment
    Ожидаемый выводКод завершения 0
    Нет стандартного вывода.
    $ topaz check example.tpz --format json · Целевой продукт 5.21.3
    Ожидаемый результат

    Ожидаемый результат

    Проверка принимает программу. Код завершения 0.

    This program applies the repair described above. The verification status records whether it has been run.

    Current diagnostic

    Ссылка

    Unexpected token →

    Меню

    Загрузка →