This is a public, read-only report. Striff reads this repository's docs, turns each sentence that makes a claim about the code into a rule, and checks the rule against the code on the default branch. How this works
The runtime collaboration is small — five objects, all package-private: Class Eo, Role Top-level driver Splits input into Span s (one per source line), classifies each via Eo.classify , dispatches to the chosen Line Also runs end-of-file checks (text-block closure, dangling comments) and the close-time hooks for popping levels
Eo is internal to its module
HoldsPR #9467 · Oct 13
Read Oct 2
The runtime collaboration is small — five objects, all package-private: … Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
Line is internal to its module
HoldsPR #9467 · Oct 13
Read Oct 2
The runtime collaboration is small — five objects, all package-private: … Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
2 rules from this sentence
Stack is internal to its module
HoldsPR #9467 · Oct 13
Level is internal to its module
HoldsPR #9467 · Oct 13
Read Oct 2
The runtime collaboration is small — five objects, all package-private: … Class Globals, Role Cross-line transient state pending comment block, in-flight text-block body, blank-line counter, "first object emitted" flag Lets Ln classes communicate without threading parameters through the line dispatch
Globals is internal to its module
HoldsPR #9467 · Oct 13
Read Oct 2
The runtime collaboration is small — five objects, all package-private: … Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
Emit is internal to its module
HoldsPR #9467 · Oct 13
Read Oct 11
It's done by the org.eolang.parser.EoSyntax class in the eo-parser module.
EoSyntax is in eo-parser
HoldsPR #9438 · Oct 13
Read Oct 11
The class org.eolang.maven.MjTranspile in the eo-maven-plugin module is responsible for taking parsed and optimized XMIRs and then transforming the XML document into a collection of .java files.
MjTranspile is in eo-maven-plugin
HoldsPR #9438 · Oct 13
Read Oct 2
The public entry point is EoSyntax:
EoSyntax is exported
HoldsPR #9467 · Oct 13
Read Oct 2
Class Line (interface), Role A single line's behaviour void into(Stack, Globals, Emit) Implemented by LnApplication , LnFormation , LnReversed , LnOnlyPhi , LnCompactTuple , LnMethod , LnMeta , LnComment , LnBlank , LnTextBlock — one class per spec line shape Each one is the authoritative parser for its shape classifier-level checks (e.g Eo.onlyPhi ) are shape detectors only
11 rules from this sentence
Line is a contract
HoldsPR #9467 · Oct 13
LnApplication implements Line
HoldsPR #9467 · Oct 13
LnFormation implements Line
HoldsPR #9467 · Oct 13
LnReversed implements Line
HoldsPR #9467 · Oct 13
LnOnlyPhi implements Line
HoldsPR #9467 · Oct 13
LnCompactTuple implements Line
HoldsPR #9467 · Oct 13
LnMethod implements Line
HoldsPR #9467 · Oct 13
LnMeta implements Line
HoldsPR #9467 · Oct 13
LnComment implements Line
HoldsPR #9467 · Oct 13
LnBlank implements Line
HoldsPR #9467 · Oct 13
LnTextBlock implements Line
HoldsPR #9467 · Oct 13
Read Oct 2
Class Stack + Level, Role The indent stack of §5 in the spec One Level per occupied indent column, carrying kind , openness , named , child counters, and per-kind state (compact-tuple N , bare-reversed receiver flag, etc.) Stack.popDeeperThan(indent) fires close-time hooks ( Eo.checkOnClose ) so each level reports its own R-5.3 violation
4 rules from this sentence
Stack has a popDeeperThan method
HoldsPR #9467 · Oct 13
Level has kind
HoldsPR #9467 · Oct 13
Level has openness
HoldsPR #9467 · Oct 13
Level has named
HoldsPR #9467 · Oct 13
Read Oct 2
Class Emit, Role Xembly- Directives sink Line shapes call object , voidParam , method , star , close , set , slot against this surface Emit also exposes savepoint / rollback so a ParseError thrown inside a single line rolls back just that line's directives, allowing recovery and continued parsing
9 rules from this sentence
Emit has an object method
HoldsPR #9467 · Oct 13
Emit has a voidParam method
HoldsPR #9467 · Oct 13
Emit has a method method
HoldsPR #9467 · Oct 13
Emit has a star method
HoldsPR #9467 · Oct 13
Emit has a close method
HoldsPR #9467 · Oct 13
Emit has a set method
HoldsPR #9467 · Oct 13
Emit has a slot method
HoldsPR #9467 · Oct 13
Emit has a savepoint method
HoldsPR #9467 · Oct 13
Emit has a rollback method
HoldsPR #9467 · Oct 13
33 rules from 2 docs
See these where the change is. The browser extension puts a pull request's doc findings, and a diagram of what it changed, on the GitHub page itself, so the code and what your docs say about it are side by side.