Diagnostic and cause
링크Unexpected token
- 계열
- topaz
- 단계
- parse
- 코드
TPZ2001
원인과 조건
A let declaration has a binding pattern before =. Omitting it is a parse error.
대응
Insert the intended binding name between let and =. Fix this first parse error before interpreting any recovery messages.
Compiler phase: parse.
Compiler explanation: The parser found a token that cannot appear in this grammar position.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
- expected an expression Source
- expected a statement separator Source
- expected a statement Source
- a record spread
.must be the FIRST element and appear at most once Source. . - expected
,or}Source - expected
:aftertimeoutSource - expected a duration literal, e.g.
3sSource - expected a concurrent arm Source
concurrentrequires at least one arm Source- expected
caseSource matchrequires at least onecaseSource- expected a range endpoint after
., e.g.. 1.Source. 5 - a record type requires at least one field Source
- a literal type cannot contain interpolation Source
- a record pattern requires at least one field Source
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ2001]: expected an expression
A let declaration needs a binding pattern before its initializer. In the reproduction, = appears where that pattern must begin, so parsing stops at the equals sign.
Trigger and repair
A let declaration has a binding pattern before =. Omitting it is a parse error.
Response
링크Insert the intended binding name between let and =. Fix this first parse error before interpreting any recovery messages.
Reproduction and verification
링크Rejected program
링크let = 1
표준 출력 없음.기대 결과
The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.
Corrected program
링크let value = 1
기대 결과
기대 결과
검사가 프로그램을 받아들입니다. 종료 코드 0.
This program applies the repair described above. The verification status records whether it has been run.