Requirements for an outer parser

Open
#4,182 0 comments 1 reaction 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
25/100
Issue type
Feature
Clarity
Needs clarification
Activity status
Stale
Tech stack
python
Domain
compilers

Research direction

Start by reviewing the linked issues #4180, #4259, and #4260, then compare pyk's current behavior with the Java outer parser described in this issue. Done means pyk kompile can parse required files, handle prelude.md unless --no-prelude is passed, and resolve main and syntax module names.

Written by the indexing model from the issue text.

Description

pyk

For pyk to do outer parsing when invoked by pyk kompile, there are a few major steps it needs to perform:

  • runtimeverification/k#4180
  • Parse files included with requires clauses
  • Parse and add prelude.md to the definition unless --no-prelude is passed
  • Resolve the main/syntax module names.
  • runtimeverification/k#4259
  • runtimeverification/k#4260

This should be the absolute minimum that needs to be done by pyk. There are some other checks and transformations that get done in the java outer parsing. It may be possible to move these further down the compilation pipeline. See https://github.com/runtimeverification/k/issues/4131

Dominant language
Python
Stars
591
Forks
163
PR merge metrics
No merged PRs in 30d

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from runtimeverification/k

All issues in runtimeverification/k

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.