docs← Back to article

Markdown for LLMs

LDC-E0101 — A character the reader does not accept

The source Markdown for this article. Copy it into your assistant or download it as a text file.

Download this articlePlain text ↗
# LDC-E0101 — A character the reader does not accept

## What it means

Before the compiler understands a word of the package, it reads the file
character by character. Most text passes through — letters, digits,
punctuation the language defines. A character outside that alphabet stops
the read at that exact spot: an emoji, a stray control byte, punctuation
borrowed from prose.

The fault is always at the reported position, never in the logic around it.
Delete the character or retype it with the keyboard layout the file uses,
and the read continues past it.

## Example

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

—
```

## Fix

```law
language "law.core" version "0.2";
package demo.diagnostics version "0.1.0";
namespace "urn:law:demo:diagnostics";

entity Applicant;
```

## Engine message

The engine reports this in its own wording:

```text
example.law:5:1: error LDC-E0101: invalid character '—'
```

## Related

- [LDC-E0102](/diagnostics/LDC-E0102/) — an unfinished comment or string the reader cannot close.