• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

source-academy / py-slang / 34216270117
86%

Build:
DEFAULT BRANCH: main
Ran 08 Sep 2026 10:50AM UTC
Jobs 1
Files 139
Run time 1min
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

08 Sep 2026 10:35AM UTC coverage: 85.753%. Remained the same
34216270117

push

github

web-flow
docs(specs): add Operator Precedence and Associativity section (#462)

* docs(specs): add Operator Precedence and Associativity section

Adds a precedence/associativity table after Indentation in all four
chapter specs, derived from the actual grammar cascade in
src/parser/python.ne (chapters 1/2 use the python_1_bnf operator set,
chapters 3/4 add is/is not/in/not in and subscripting per
python_3_bnf). Unary operators and lambda are marked "n/a" for
associativity since, as prefix constructs with a single right operand,
they have only one possible grouping.

Also corrects python_numbers.tex, which described integer/float/complex
literals as "optionally prefixed with a sign" — verified against both
py-slang's parser output and CPython's ast module that a leading +/- is
always unary-operator application, not part of the literal (e.g.
-2 ** 2 is -(2 ** 2) == -4 in both, not (-2) ** 2 == 4).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQg5WPyxbnsMLEVveyqML8

* docs(specs): correct comparison-chaining note per chapter type rules

The prior note said a < b < c "unlike full Python's chained
comparisons" just compares the intermediate bool against c. That
undersells what actually happens, since ordering-comparison type
restrictions differ by chapter (docs/specs/python_typing_middle_12.tex
vs _34.tex):

- §1/§2: ordering comparisons only accept int/float, not bool, so
  a < b < c always raises a TypeError (verified via runCode at
  variant 1/2).
- §3/§4: bool is accepted (coerced to int, as in CPython), so it does
  not error, but silently diverges from chained semantics: 1 < 3 < 2
  evaluates to True here (verified via runCode at variant 3/4) versus
  False under full Python's `1 < 3 and 3 < 2` reading.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01WQg5WPyxbnsMLEVveyqML8

* docs(specs): fix self-contradiction in complex-number wording

"A c... (continued)

4892 of 6131 branches covered (79.79%)

Branch coverage included in aggregate %.

10920 of 12308 relevant lines covered (88.72%)

162109.57 hits per line

Jobs
ID Job ID Ran Files Coverage
1 34216270117.1 08 Sep 2026 10:50AM UTC 139
85.75
GitHub Action Run
Source Files on build 34216270117
  • Tree
  • List 139
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses
  • Back to Repo
  • Github Actions Build #34216270117
  • 20c21f31 on github
  • Prev Build on main (#33885547467)
  • Next Build on main (#34236008069)
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc