runtimeverification / runtimeverification/llvm-backend

Range maps printing

Open
#806 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C++
Stars
43
Forks
22
PR merge metrics
No merged PRs in 30d

Description

There seems to be an issue with pretty printing range maps. This kore output file is the output of an execution whose final configuration includes the following range map:

M: [0 , 1) -> 0  [1 , 2) -> 1  [2 , 3) -> 2  [3 , 4) -> 3  [4 , 6) -> 4

Printing it with kprint results in a parenthesis that includes only the last range of the range map, instead of all its ranges.

$ kprint ./imp-with-rangemaps-kompiled pp.out.kore true true
<T>
  <k>
    .
  </k>
  <state>
    M |-> [ 0 , 1 ) r|-> 0
    [ 1 , 2 ) r|-> 1
    [ 2 , 3 ) r|-> 2
    [ 3 , 4 ) r|-> 3
    ( [ 4 , 6 ) r|-> 4 )
    i |-> 5
  </state>
</T>

The kore output to be printed appears to be correct. I have observed this to be the case with any range map size.

I attach the language definition (imp-with-ranemaps.k) and kore output file (pp.out.kore) needed to recreate the issue, as well as the test's K source (pp.test) that was used to create the kore output file.

imp-with-rangemaps.k.txt
pp.out.kore.txt
pp.test.txt

Contributor guide

No contributing guide indexed for this repository

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.

Research direction

Reproduce the output with the attached imp-with-rangemaps.k, pp.out.kore, and pp.test files using the documented kprint command. Trace the range-map pretty-printing path and compare its output with the complete input map. Done means every range appears within the parenthesized map, with a regression test covering maps of multiple sizes.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp
Domain
cli, tooling
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.