Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

eoc test fails after eoc unphi #2873

Closed
deemp opened this issue Feb 9, 2024 · 87 comments
Closed

eoc test fails after eoc unphi #2873

deemp opened this issue Feb 9, 2024 · 87 comments

Comments

@deemp
Copy link
Member

deemp commented Feb 9, 2024

I used eoc 0.15.1

Workflow: https://github.com/objectionary/normalizer/actions/runs/7843597391/job/21404276775#step:6:36
Pipeline script: https://github.com/objectionary/normalizer/blob/53ce6966b4df5e138a4ce22214c6c697720ea0c1/pipeline.sh

Initial EO

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

[] > compares-two-bools
  eq. > @
    TRUE
    TRUE

[] > compares-two-different-types
  not. > @
    eq.
      TRUE
      42

[] > forks-on-condition
  eq. > @
    if.
      5.eq 8
      123
      42
    42

[] > iterates-over-simple-counter
  memory 0 > x
  and. > @
    eq.
      x.write 5
      5
    eq.
      while.
        x.as-int.lt 10
        [i]
          x.write > @
            x.as-int.plus 1
      11

[] > compares-bool-to-bytes
  and. > @
    TRUE.eq 01-
    FALSE.eq 00-

[] > compares-bool-to-string
  and. > @
    TRUE.eq "\001"
    FALSE.eq "\000"

[] > compares-bool-to-bytes-reverse
  and. > @
    01-.as-bytes.eq TRUE
    00-.as-bytes.eq FALSE

Converted to PHI

{org ↦ ⟦eolang ↦ ⟦compares-two-bools ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)))⟧, compares-two-different-types ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-2A))).not⟧, forks-on-condition ↦ ⟦φ ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-05)).eq(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-08))).if(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-7B)), α1 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-2A))).eq(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-2A)))⟧, iterates-over-simple-counter ↦ ⟦x ↦ Φ.org.eolang.memory(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-00))), φ ↦ ξ.x.write(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-05))).eq(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-05))).and(α0 ↦ ξ.x.as-int.lt(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-0A))).while(α0 ↦ ⟦i ↦ ∅, φ ↦ ξ.ρ.x.write(α0 ↦ ξ.ρ.x.as-int.plus(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-01))))⟧).eq(α0 ↦ Φ.org.eolang.int(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-00-00-00-00-00-00-0B))))⟧, compares-bool-to-bytes ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).and(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-)).eq(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-)))⟧, compares-bool-to-string ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.string(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-))).and(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-)).eq(α0 ↦ Φ.org.eolang.string(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-))))⟧, compares-bool-to-bytes-reverse ↦ ⟦φ ↦ Φ.org.eolang.bytes(Δ ⤍ 01-).as-bytes.eq(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-))).and(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-).as-bytes.eq(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 00-))))⟧, λ ⤍ Package⟧, λ ⤍ Package⟧}

Normalized

⟦ org ↦ ⟦ eolang ↦ ⟦ compares-two-bools ↦ ⟦ φ ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-)).eq (α0 ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-))) ⟧, compares-two-different-types ↦ ⟦ φ ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-)).eq (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-2A))).not ⟧, forks-on-condition ↦ ⟦ φ ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-05)).eq (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-08))).if (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-7B)), α1 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-2A))).eq (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-2A))) ⟧, iterates-over-simple-counter ↦ ⟦ x ↦ Φ.org.eolang.memory (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-00))), φ ↦ ξ.x.write (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-05))).eq (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-05))).and (α0 ↦ ξ.x.as-int.lt (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-0A))).while (α0 ↦ ⟦ i ↦ ∅, φ ↦ ξ.ρ.x.write (α0 ↦ ξ.ρ.x.as-int.plus (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-01)))) ⟧).eq (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-0B)))) ⟧, compares-bool-to-bytes ↦ ⟦ φ ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-)).eq (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-)).and (α0 ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-)).eq (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-))) ⟧, compares-bool-to-string ↦ ⟦ φ ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-)).eq (α0 ↦ Φ.org.eolang.string (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-))).and (α0 ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-)).eq (α0 ↦ Φ.org.eolang.string (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-)))) ⟧, compares-bool-to-bytes-reverse ↦ ⟦ φ ↦ Φ.org.eolang.bytes (Δ ⤍ 01-).as-bytes.eq (α0 ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 01-))).and (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-).as-bytes.eq (α0 ↦ Φ.org.eolang.bool (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-)))) ⟧, λ ⤍ Package ⟧, λ ⤍ Package ⟧ ⟧

Converted back to EO

+package org.eolang

[] > compares-two-bools
  Q
  .org
  .eolang
  Q
  .bool
    .org
    .eolang
    01-
    .bytes:0
  Q
  .eq > @
    .org
    .eolang
    Q
    .bool:0
      .org
      .eolang
      01-
      .bytes:0

[] > compares-two-different-types
  Q
  .org
  .eolang
  Q
  .bool
    .org
    .eolang
    01-
    .bytes:0
  Q
  .eq
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-2A
      .bytes:0
  .not > @

[] > forks-on-condition
  Q
  .org
  .eolang
  Q
  .int
    .org
    .eolang
    00-00-00-00-00-00-00-05
    .bytes:0
  Q
  .eq
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-08
      .bytes:0
  Q
  .if
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-7B
      .bytes:0
    Q
    .org
    .eolang
    Q
    .int:1
      .org
      .eolang
      00-00-00-00-00-00-00-2A
      .bytes:0
  Q
  .eq > @
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-2A
      .bytes:0

[] > iterates-over-simple-counter
  Q
  .org
  .eolang
  Q
  .memory > x
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-00
      .bytes:0
  $
  .x
  Q
  .write
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-05
      .bytes:0
  Q
  .eq
    .org
    .eolang
    Q
    .int:0
      .org
      .eolang
      00-00-00-00-00-00-00-05
      .bytes:0
  $
  .and > @
    .x
    .as-int
    Q
    .lt
      .org
      .eolang
      Q
      .int:0
        .org
        .eolang
        00-00-00-00-00-00-00-0A
        .bytes:0
    [i]:0
      $
      .^
      .x
      $
      .write > @
        .^
        .x
        .as-int
        Q
        .plus:0
          .org
          .eolang
          Q
          .int:0
            .org
            .eolang
            00-00-00-00-00-00-00-01
            .bytes:0
    .while
    Q
    .eq:0
      .org
      .eolang
      Q
      .int:0
        .org
        .eolang
        00-00-00-00-00-00-00-0B
        .bytes:0

[] > compares-bool-to-bytes
  Q
  .org
  .eolang
  Q
  .bool
    .org
    .eolang
    01-
    .bytes:0
  Q
  .eq
    .org
    .eolang
    01-
    .bytes:0
  Q
  .and > @
    .org
    .eolang
    Q
    .bool
      .org
      .eolang
      00-
      .bytes:0
    Q
    .eq:0
      .org
      .eolang
      00-
      .bytes:0

[] > compares-bool-to-string
  Q
  .org
  .eolang
  Q
  .bool
    .org
    .eolang
    01-
    .bytes:0
  Q
  .eq
    .org
    .eolang
    Q
    .string:0
      .org
      .eolang
      01-
      .bytes:0
  Q
  .and > @
    .org
    .eolang
    Q
    .bool
      .org
      .eolang
      00-
      .bytes:0
    Q
    .eq:0
      .org
      .eolang
      Q
      .string:0
        .org
        .eolang
        00-
        .bytes:0

[] > compares-bool-to-bytes-reverse
  Q
  .org
  .eolang
  01-
  .bytes
  .as-bytes
  Q
  .eq
    .org
    .eolang
    Q
    .bool:0
      .org
      .eolang
      01-
      .bytes:0
  Q
  .and > @
    .org
    .eolang
    00-
    .bytes
    .as-bytes
    Q
    .eq:0
      .org
      .eolang
      Q
      .bool:0
        .org
        .eolang
        00-
        .bytes:0

eoc test error:

[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:9': [9:4] no viable alternative at input 'Q\n  .bool\n    INT.': "    .org"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:8': [8:2] extraneous input '.' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "  .bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:10': [10:-1] extraneous input 'INT' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "    .eolang"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:12': [12:10] no viable alternative at input '01-\n    .bytes:': "    .bytes:0"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:12': [12:4] extraneous input '.' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "    .bytes:0"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:15': [15:4] no viable alternative at input 'Q\n  .eq > @\n    INT.': "    .org"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo:14': [14:2] mismatched input '.' expecting {<EOF>, COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "  .eq > @"
[ERROR] net.sf.saxon.style.XSLMessage@6d40af55: This transformation must be applied only after you remove @method attributes from objects, using 'wrap-method-calls.xsl'
[ERROR] #fatalError(): Processing terminated by xsl:message at line 82 in set-locators.xsl; SystemID: file:///org/eolang/parser/set-locators.xsl; Line#: 82; Column#: 36
[ERROR] Processing terminated by xsl:message at line 82 in set-locators.xsl
[ERROR] 'org.eolang.maven.ShakeMojo@85ee7b6' execution failed
[ERROR] Processing terminated by xsl:message at line 82 in set-locators.xsl
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.34.1:assemble (default-cli) on project eoc: 'org.eolang.maven.AssembleMojo@6de6faa6' execution failed: java.lang.IllegalStateException: org.apache.maven.plugin.MojoFailureException: 'org.eolang.maven.ShakeMojo@85ee7b6' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Failed to transform by net.sf.saxon.jaxp.TransformerImpl: Processing terminated by xsl:message at line 82 in set-locators.xsl; SystemID: file:///org/eolang/parser/set-locators.xsl; Line#: 82; Column#: 36 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:assemble -Deo.version=0.34.1 -Deo.hash=0.34.1 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/eo-placed.csv -Deo.placedFormat=csv --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code
@deemp deemp changed the title eo test fails after eo unphi eoc test fails after eoc unphi Feb 9, 2024
@maxonfjvipon
Copy link
Member

Normalized phi expression is incorrect
image

⟦ org ↦ ⟦ eolang ↦ ⟦ compares-two-bools..., should be { org ↦ ⟦ eolang ↦ ⟦ compares-two-bools...

@maxonfjvipon
Copy link
Member

@deemp there's also bug in our PhiMojo: it should throw an exception when meet parsing errors

@deemp
Copy link
Member Author

deemp commented Feb 9, 2024

Okay. eoc test fails without normalization.

Workflow: https://github.com/objectionary/normalizer/actions/runs/7844948642/job/21408311976#step:6:39

Initial EO

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

[] > compares-two-bools
  eq. > @
    TRUE
    TRUE

Converted to PHI

{org ↦ ⟦eolang ↦ ⟦compares-two-bools ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)))⟧, λ ⤍ Package⟧, λ ⤍ Package⟧}

Converted back to EO

+package org.eolang

[] > compares-two-bools
  Q
  .org
  .eolang
  Q
  .bool
    .org
    .eolang
    01-
    .bytes:0
  Q
  .eq > @
    .org
    .eolang
    Q
    .bool:0
      .org
      .eolang
      01-
      .bytes:0

unphi warning

line 1:346 no viable alternative at input 'org ↦ ⟦eolang ↦ ⟦bytes ↦ ⟦eq ↦ ⟦λ ⤍ Lambda, x ↦ ∅⟧, size ↦ ⟦λ ⤍ Lambda⟧, slice ↦ ⟦λ ⤍ Lambda, start ↦ ∅, len ↦ ∅⟧, as-string ↦ ⟦λ ⤍ Lambda⟧, as-int ↦ ⟦λ ⤍ Lambda⟧, as-float ↦ ⟦λ ⤍ Lambda⟧, and ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, or ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, xor ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, not ↦ ⟦λ ⤍ Lambda⟧, left ↦ ⟦x ↦ ∅⟧, right ↦ ⟦λ ⤍ Lambda, x ↦ ∅⟧, as-bool ↦ ⟦ξ'
PHI files converted into XMIR files at .eoc/unphi

Test

[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:9': [9:4] no viable alternative at input 'Q\n  .bool\n    INT.': "    .org"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:8': [8:2] extraneous input '.' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "  .bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:10': [10:-1] extraneous input 'INT' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "    .eolang"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:12': [12:10] no viable alternative at input '01-\n    .bytes:': "    .bytes:0"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:12': [12:4] extraneous input '.' expecting {COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT, UNTAB}: "    .bytes:0"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:15': [15:4] no viable alternative at input 'Q\n  .eq > @\n    INT.': "    .org"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo:14': [14:2] mismatched input '.' expecting {<EOF>, COMMENT, 'Q', 'QQ', '*', '<', '&', '$', '[', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "  .eq > @"
[ERROR] net.sf.saxon.style.XSLMessage@782b9273: This transformation must be applied only after you remove @method attributes from objects, using 'wrap-method-calls.xsl'
[ERROR] #fatalError(): Processing terminated by xsl:message at line 82 in set-locators.xsl; SystemID: file:///org/eolang/parser/set-locators.xsl; Line#: 82; Column#: 36
[ERROR] Processing terminated by xsl:message at line 82 in set-locators.xsl
[ERROR] 'org.eolang.maven.ShakeMojo@7fbfb81f' execution failed
[ERROR] Processing terminated by xsl:message at line 82 in set-locators.xsl
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.34.1:assemble (default-cli) on project eoc: 'org.eolang.maven.AssembleMojo@5f2de715' execution failed: java.lang.IllegalStateException: org.apache.maven.plugin.MojoFailureException: 'org.eolang.maven.ShakeMojo@7fbfb81f' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Failed to transform by net.sf.saxon.jaxp.TransformerImpl: Processing terminated by xsl:message at line 82 in set-locators.xsl; SystemID: file:///org/eolang/parser/set-locators.xsl; Line#: 82; Column#: 36 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:assemble -Deo.version=0.34.1 -Deo.hash=0.34.1 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/eo-placed.csv -Deo.placedFormat=csv --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

@maxonfjvipon
Copy link
Member

@deemp could you please provide me full phi from here?

line 1:346 no viable alternative at input 'org ↦ ⟦eolang ↦ ⟦bytes ↦ ⟦eq ↦ ⟦λ ⤍ Lambda'

@deemp
Copy link
Member Author

deemp commented Feb 9, 2024

@maxonfjvipon, where does it come from?

This phi has less than 346 columns.

{org ↦ ⟦eolang ↦ ⟦compares-two-bools ↦ ⟦φ ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)).eq(α0 ↦ Φ.org.eolang.bool(α0 ↦ Φ.org.eolang.bytes(Δ ⤍ 01-)))⟧, λ ⤍ Package⟧, λ ⤍ Package⟧}

I used this script for testing without normalization.

https://github.com/objectionary/normalizer/blob/601a878f42813184eda6208b12ff3b0b1a449e8c/pipeline.sh

I reused .eoc in phi because it failed otherwise

mkdir -p eo-not-normalized
cd phi
cp -r ../eo/.eoc .
eo unphi

@maxonfjvipon
Copy link
Member

line 1:346 no viable alternative at input 'org ↦ ⟦eolang ↦ ⟦bytes ↦ ⟦eq ↦ ⟦λ ⤍ Lambda, x ↦ ∅⟧, size ↦ ⟦λ ⤍ Lambda⟧, slice ↦ ⟦λ ⤍ Lambda, start ↦ ∅, len ↦ ∅⟧, as-string ↦ ⟦λ ⤍ Lambda⟧, as-int ↦ ⟦λ ⤍ Lambda⟧, as-float ↦ ⟦λ ⤍ Lambda⟧, and ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, or ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, xor ↦ ⟦λ ⤍ Lambda, b ↦ ∅⟧, not ↦ ⟦λ ⤍ Lambda⟧, left ↦ ⟦x ↦ ∅⟧, right ↦ ⟦λ ⤍ Lambda, x ↦ ∅⟧, as-bool ↦ ⟦ξ'
PHI files converted into XMIR files at .eoc/unphi

This phi expression is not parsable by our Phi parse because of #2864

@deemp
Copy link
Member Author

deemp commented Feb 13, 2024

Switched eo repo to 0.35.2, set eoc --parser=0.35.2. Got errors:

Convert EO to PHI

The directory .eoc deleted
Warning: JAVA_HOME environment variable is not set.
EO objects registered in .eoc/eo-foreign.json
Assembling into .eoc
Warning: JAVA_HOME environment variable is not set.
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/as-phi.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[as-bytes] > bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:29': [29:0] mismatched input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[] > bytes"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:29': [29:9] no viable alternative at input 'as-bytes]': "[as-bytes] > bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/memory.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdout.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[text] > stdout /bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[as-bytes] > int"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[as-bytes] > string"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdout.eo:29': [29:5] no viable alternative at input 'text]': "[text] > stdout /bool"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:29': [29:9] no viable alternative at input 'as-bytes]': "[as-bytes] > int"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/as-phi.eo:29': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:29': [29:9] no viable alternative at input 'as-bytes]': "[as-bytes] > string"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/as-phi.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[as-bytes] > float"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdin.eo:29': [29:0] mismatched input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[] > stdin"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:52': [52:39] no viable alternative at input '# Positive infinity\n[] > positive-infinity\n  INT1.0.div 0.0 > @\n\n  # Tests that $ = x\n  [x] > eq\n    INTeq. > @\n      INT^.as-bytes\n      x.as-bytes\nEXPONENTEXPONENT\n  # Tests that $ < x\n  [x] > lt\n    INTFALSE > @\nEXPONENT\n  # Tests that $ ≤ x\n  [x] > lte\n    INT^.eq x > @\nEXPONENT\n  # Tests that $ > x\n  [x] > gt\n    INTx > value!\n    not. > @\n      INTor.\n        INTvalue.as-bytes.eq (nan.as-bytes)': "        value.as-bytes.eq (nan.as-bytes)"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:29': [29:9] no viable alternative at input 'as-bytes]': "[as-bytes] > float"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:44': [44:39] no viable alternative at input '# Negative infinity\n[] > negative-infinity\n  INT-1.0.div 0.0 > @\n\n  # Tests that $ = x\n  [x] > eq\n    INTeq. > @\n      INT^.as-bytes\n      x.as-bytes\nEXPONENTEXPONENT\n  # Tests that $ < x\n  [x] > lt\n    INTx > value!\n    not. > @\n      INTor.\n        INTvalue.as-bytes.eq (nan.as-bytes)': "        value.as-bytes.eq (nan.as-bytes)"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/goto.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/switch.eo:45': [45:2] no viable alternative at input '# Allow to choose right options according to cases conditions.\n# Parameter cases is the array of two dimensional array, which\n# consist of condition bool value and expected value, if this\n# condition is TRUE.\n# e.g.\n# switch\n#   *\n#     TRUE\n#     "this value will be returned"\n#   *\n#     FALSE\n#     "this value will be skipped"\n#\n# This object returns value of only first truly statement.\n[cases] > switch\n  INTcases.length > len!\n  [': "  [index] > case-at"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/rust.eo:29': [29:0] extraneous input '[' expecting {COMMENTARY, 'Q', 'QQ', '*', '<', '&', '$', '(', '@', '^', BYTES, BOOL, STRING, INT, FLOAT, HEX, NAME, TEXT}: "[code portal params] > rust /?"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:63': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:33': [33:4] no viable alternative at input '# Tuple.\n[head tail] > tuple\n  INT# Empty tuple\n  [] > empty\n    INT[': "    [i] > at"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/rust.eo:29': [29:19] no viable alternative at input 'code portal params]': "[code portal params] > rust /?"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nop.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/cage.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nop.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:63': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:67': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:67': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:37': [37:2] no viable alternative at input '# Random-access memory (RAM).\n[size] > ram\n  INT# Write bytes from position.\n  [position data] > write /true\n\n  # Slice fixed size of bytes from position.\n  [position size] > slice /ram-slice\n\n  [': "  [position size] > ram-slice"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:74': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/seq.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:33': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:74': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:37': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:79': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:37': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:41': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:41': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:41': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:45': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:45': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:49': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:49': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:49': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:53': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:53': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:57': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:57': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:61': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:61': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:65': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:65': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:69': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:69': Comment must end with dot
EO program assembled in .eoc
Warning: JAVA_HOME environment variable is not set.
XMIR files converted into PHI files at .eoc

as-phi.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2023 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+package org.eolang
+rt jvm org.eolang:eo-runtime:0.35.0
+version 0.35.0

# Turns an object into a φ-term
[x] > as-phi /string

@maxonfjvipon
Copy link
Member

@deemp do you use test sources from EO 0.35.2?

@deemp
Copy link
Member Author

deemp commented Feb 13, 2024

Yes.

as-phi-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+alias org.eolang.io.stdout
+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > prints-itself
  gt. > @
    length.
      as-phi $
    0

# Test.
[] > prints-itself-to-console
  42 > x
  stdout > @
    as-phi $

bool-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > compares-two-bools
  eq. > @
    TRUE
    TRUE

# Test.
[] > compares-two-different-types
  not. > @
    eq.
      TRUE
      42

# Test.
[] > forks-on-condition
  eq. > @
    if.
      5.eq 8
      123
      42
    42

# Test.
[] > iterates-over-simple-counter
  memory 0 > x
  and. > @
    eq.
      x.write 5
      5
    eq.
      while.
        x.as-int.lt 10
        [i]
          x.write > @
            x.as-int.plus 1
      11

# Test.
[] > compares-bool-to-bytes
  and. > @
    TRUE.eq 01-
    FALSE.eq 00-

# Test.
[] > compares-bool-to-string
  and. > @
    TRUE.eq "\001"
    FALSE.eq "\000"

# Test.
[] > compares-bool-to-bytes-reverse
  and. > @
    01-.as-bytes.eq TRUE
    00-.as-bytes.eq FALSE

@deemp
Copy link
Member Author

deemp commented Feb 13, 2024

as-phi.eo on master (link) is different from 4-pull/as-phi.eo.

4-pull/as-phi.eo:

# The MIT License (MIT)
#
# Copyright (c) 2016-2023 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+package org.eolang
+rt jvm org.eolang:eo-runtime:0.35.0
+version 0.35.0

# Turns an object into a φ-term
[x] > as-phi /string

@maxonfjvipon
Copy link
Member

@deemp we updated sourced in objectionary/home, please try again

@deemp
Copy link
Member Author

deemp commented Feb 13, 2024

Still

[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdout.eo:29': Comment must be at least 64 characters long

@deemp
Copy link
Member Author

deemp commented Feb 13, 2024

If I use the --parser option in eoc phi or eoc unphi, no Phi or EO files are generated.

@deemp
Copy link
Member Author

deemp commented Feb 14, 2024

Current summary.

I want to run eoc phi and eoc unphi on current eo-runtime tests (e.g., bool.eo).

  • eoc phi fails because eoc 0.15.1 uses an old parser.
  • eoc --parser=0.35.2 doesn't generate phi files.

How do I generate phi files and then unphi them using the latest eo?

@yegor256
Copy link
Member

@deemp I released eoc 0.16.0. It seems that it works with your example out of the box. Please try:

$ eoc phi
$ eoc unphi

@deemp
Copy link
Member Author

deemp commented Feb 14, 2024

It fails at eoc unphi because of $\xi$ without a dispatch.
This error was fixed in eo 0.35.2.

Error

Convert PHI to EO without normalization

Warning: JAVA_HOME environment variable is not set.
[ERROR] 1 files with parsing errors were found: [as-phi-tests.phi]
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.35.1:phi-to-xmir (default-cli) on project eoc: 'org.eolang.maven.UnphiMojo@642413d4' execution failed: java.lang.IllegalStateException: 1 files with parsing errors were found: [as-phi-tests.phi] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:phi-to-xmir -Deo.version=0.35.1 -Deo.hash=0.35.1 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/eo-placed.csv -Deo.placedFormat=csv -DunphiInputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/phi -DunphiOutputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/unphi --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

as-phi-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+alias org.eolang.io.stdout
+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > prints-itself
  gt. > @
    length.
      as-phi $
    0

# Test.
[] > prints-itself-to-console
  42 > x
  stdout > @
    as-phi $

as-phi-tests.phi

{
  org ↦ ⟦
    eolang ↦ ⟦
      prints-itself ↦ ⟦
        φ ↦ Φ.org.eolang.as-phi(
          α0 ↦ ξ
        ).length.gt(
          α0 ↦ Φ.org.eolang.int(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 00-00-00-00-00-00-00-00
            )
          )
        )
      ⟧,
      prints-itself-to-console ↦ ⟦
        x ↦ Φ.org.eolang.int(
          α0 ↦ Φ.org.eolang.bytes(
            Δ ⤍ 00-00-00-00-00-00-00-2A
          )
        ),
        φ ↦ Φ.org.eolang.io.stdout(
          α0 ↦ Φ.org.eolang.as-phi(
            α0 ↦ ξ
          )
        )
      ⟧,
      λ ⤍ Package
    ⟧,
    λ ⤍ Package
  ⟧
}

@deemp
Copy link
Member Author

deemp commented Feb 14, 2024

I used eolang 0.17.0.

There's an error during eoc test

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:3.2.5:test (default-cli) on project eoc: No tests were executed!  (Set -DfailIfNoTests=false to ignore this error.) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw surefire:test -Deo.version=0.35.2 -Deo.hash=130afdd1456a0cbafd52aee8d7bc612e1faac547 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/.eoc/eo-placed.csv -Deo.placedFormat=csv --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

bool-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > compares-two-bools
  eq. > @
    TRUE
    TRUE

bool-tests.phi (after eoc phi)

{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        compares-two-bools ↦ ⟦
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).eq(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 01-
              )
            )
          )
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}

bool-tests.eo (after eoc unphi)

+package org.eolang

# This is the default 64+ symbols comment in front of named abstract object.
[] > compares-two-bools
  Q
  .org
  .eolang
  .bool
    Q
    .org
    .eolang
    .bytes:0
      01
  .eq > @
    Q
    .org
    .eolang
    .bool:0
      Q
      .org
      .eolang
      .bytes:0
        01

@yegor256
Copy link
Member

yegor256 commented Feb 15, 2024

@deemp the problem is that the +tests meta is not created in the generated .eo file after unphi. If you put it there manually, should work:

+package org.eolang
+tests

# This is the default 64+ symbols comment in front of named abstract object.
[] > compares-two-bools
  Q
  .org
  .eolang
  .bool
    Q
    .org
    .eolang
    .bytes:0
      01
  .eq > @
    Q
    .org
    .eolang
    .bool:0
      Q
      .org
      .eolang
      .bytes:0
        01

We should think about representing EO tags somehow in the .phi expression.

@deemp
Copy link
Member Author

deemp commented Feb 15, 2024

With this fix, eoc test works. However, eoc phi generates invalid files.

as-phi-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+alias org.eolang.io.stdout
+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > prints-itself
  gt. > @
    length.
      as-phi $
    0

as-phi-tests.phi

{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        prints-itself ↦ ⟦
          φ ↦ Φ.org.eolang.as-phi(
            α0 ↦ ξ
          ).length.gt(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          )
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}

@deemp
Copy link
Member Author

deemp commented Feb 15, 2024

!!!I can't reproduce!!!

Fails on eoc test with this error:

[ERROR] /home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo, line 13: [13:11] no viable alternative at input '# This is the default 64+ symbols comment in front of named abstract object.\n[] > compares-two-bools\n  INTQ\n  .org\n  .eolang\n  .bool\n    INTQ\n    .org\n    .eolang\n    .bytes:\n      ': "    .bytes:"
[ERROR] net.sf.saxon.style.XSLMessage@4dfaac1f: Critical error identified:
  /home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-not-normalized/bool-tests.eo, 13: [13:11] no viable alternative at input '# This is the default 64+ symbols comment in front of named abstract object.\n[] &gt; compares-two-bools\n  INTQ\n  .org\n  .eolang\n  .bool\n    INTQ\n    .org\n    .eolang\n    .bytes:\n      ': "    .bytes:";
[ERROR] #fatalError(): Processing terminated by xsl:message at line 31 in fail-on-critical.xsl; SystemID: file:///org/eolang/parser/fail-on-critical.xsl; Line#: 31; Column#: 34
[ERROR] Processing terminated by xsl:message at line 31 in fail-on-critical.xsl
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.35.2:verify (default-cli) on project eoc: 'org.eolang.maven.VerifyMojo@5a50d9fc' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Failed to transform by net.sf.saxon.jaxp.TransformerImpl: Processing terminated by xsl:message at line 31 in fail-on-critical.xsl; SystemID: file:///org/eolang/parser/fail-on-critical.xsl; Line#: 31; Column#: 34 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:verify -Deo.version=0.35.2 -Deo.hash=130afdd1456a0cbafd52aee8d7bc612e1faac547 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/eo-placed.csv -Deo.placedFormat=csv --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

as-phi-tests.phi (after normalization)

{ ⟦ org ↦ ⟦ eolang ↦ ⟦ prints-itself ↦ ⟦ φ ↦ Φ.org.eolang.as-phi (α0 ↦ ξ).length.gt (α0 ↦ Φ.org.eolang.int (α0 ↦ Φ.org.eolang.bytes (Δ ⤍ 00-00-00-00-00-00-00-00))) ⟧, λ ⤍ Package ⟧, λ ⤍ Package ⟧ ⟧ }

as-phi-tests.eo (after unphi)

+tests
+package org.eolang

# This is the default 64+ symbols comment in front of named abstract object.
[] > prints-itself
  Q
  .org
  .eolang
  .as-phi
    $:0
  .length
  .gt > @
    Q
    .org
    .eolang
    .int:0
      Q
      .org
      .eolang
      .bytes:0
        00-00-00-00-00-00-00-00

@deemp
Copy link
Member Author

deemp commented Feb 15, 2024

Hmm, can't reproduce this error when I run only as-phi-tests.eo.

@deemp
Copy link
Member Author

deemp commented Feb 15, 2024

However, I can reproduce an error when running eoc test only on bool-tests.eo (after unphi):

[ERROR] /home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo, line 57: [57:11] no viable alternative at input '# This is the default 64+ symbols comment in front of named abstract object.\n[] > iterates-over-simple-counter\n  INTQ\n  .org\n  .eolang\n  .memory > x\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-00\n  EXPONENTEXPONENTEXPONENT$\n  .x\n  .write\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-05\n  EXPONENTEXPONENTEXPONENT.eq\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-05\n  EXPONENTEXPONENTEXPONENT.and > @\n    INT$\n    .x\n    .as-int\n    .lt\n      INTQ\n      .org\n      .eolang\n      .int:0\n        INTQ\n        .org\n        .eolang\n        .bytes:0\n          INT00-00-00-00-00-00-00-0A\n    EXPONENTEXPONENTEXPONENT.while\n      INT# This is the default 64+ symbols comment in front of named abstract object.\n      [i]:0\n        ': "      [i]:0"
[ERROR] net.sf.saxon.style.XSLMessage@4812a045: Critical error identified:
  /home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/bool-tests.eo, 57: [57:11] no viable alternative at input '# This is the default 64+ symbols comment in front of named abstract object.\n[] &gt; iterates-over-simple-counter\n  INTQ\n  .org\n  .eolang\n  .memory &gt; x\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-00\n  EXPONENTEXPONENTEXPONENT$\n  .x\n  .write\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-05\n  EXPONENTEXPONENTEXPONENT.eq\n    INTQ\n    .org\n    .eolang\n    .int:0\n      INTQ\n      .org\n      .eolang\n      .bytes:0\n        INT00-00-00-00-00-00-00-05\n  EXPONENTEXPONENTEXPONENT.and &gt; @\n    INT$\n    .x\n    .as-int\n    .lt\n      INTQ\n      .org\n      .eolang\n      .int:0\n        INTQ\n        .org\n        .eolang\n        .bytes:0\n          INT00-00-00-00-00-00-00-0A\n    EXPONENTEXPONENTEXPONENT.while\n      INT# This is the default 64+ symbols comment in front of named abstract object.\n      [i]:0\n        ': "      [i]:0";
[ERROR] #fatalError(): Processing terminated by xsl:message at line 31 in fail-on-critical.xsl; SystemID: file:///org/eolang/parser/fail-on-critical.xsl; Line#: 31; Column#: 34
[ERROR] Processing terminated by xsl:message at line 31 in fail-on-critical.xsl
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.35.2:verify (default-cli) on project eoc: 'org.eolang.maven.VerifyMojo@5a50d9fc' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalArgumentException: Failed to transform by net.sf.saxon.jaxp.TransformerImpl: Processing terminated by xsl:message at line 31 in fail-on-critical.xsl; SystemID: file:///org/eolang/parser/fail-on-critical.xsl; Line#: 31; Column#: 34 -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:verify -Deo.version=0.35.2 -Deo.hash=130afdd1456a0cbafd52aee8d7bc612e1faac547 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo-normalized/.eoc/eo-placed.csv -Deo.placedFormat=csv --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

bool-tests.eo

# The MIT License (MIT)
#
# Copyright (c) 2016-2024 Objectionary.com
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included
# in all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > iterates-over-simple-counter
  memory 0 > x
  and. > @
    eq.
      x.write 5
      5
    eq.
      while.
        x.as-int.lt 10
        [i]
          x.write > @
            x.as-int.plus 1
      11

bool-tests.phi

{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        iterates-over-simple-counter ↦ ⟦
          x ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          φ ↦ ξ.x.write(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-05
              )
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-05
              )
            )
          ).and(
            α0 ↦ ξ.x.as-int.lt(
              α0 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-0A
                )
              )
            ).while(
              α0 ↦ ⟦
                i ↦ ∅,
                φ ↦ ξ.ρ.x.write(
                  α0 ↦ ξ.ρ.x.as-int.plus(
                    α0 ↦ Φ.org.eolang.int(
                      α0 ↦ Φ.org.eolang.bytes(
                        Δ ⤍ 00-00-00-00-00-00-00-01
                      )
                    )
                  )
                )
              ⟧
            ).eq(
              α0 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-0B
                )
              )
            )
          )
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}

bool-tests.eo (after unphi)

+tests
+package org.eolang

# This is the default 64+ symbols comment in front of named abstract object.
[] > iterates-over-simple-counter
  Q
  .org
  .eolang
  .memory > x
    Q
    .org
    .eolang
    .int:0
      Q
      .org
      .eolang
      .bytes:0
        00-00-00-00-00-00-00-00
  $
  .x
  .write
    Q
    .org
    .eolang
    .int:0
      Q
      .org
      .eolang
      .bytes:0
        00-00-00-00-00-00-00-05
  .eq
    Q
    .org
    .eolang
    .int:0
      Q
      .org
      .eolang
      .bytes:0
        00-00-00-00-00-00-00-05
  .and > @
    $
    .x
    .as-int
    .lt
      Q
      .org
      .eolang
      .int:0
        Q
        .org
        .eolang
        .bytes:0
          00-00-00-00-00-00-00-0A
    .while
      # This is the default 64+ symbols comment in front of named abstract object.
      [i]:0
        $
        .^
        .x
        .write > @
          $
          .^
          .x
          .as-int
          .plus:0
            Q
            .org
            .eolang
            .int:0
              Q
              .org
              .eolang
              .bytes:0
                00-00-00-00-00-00-00-01
    .eq:0
      Q
      .org
      .eolang
      .int:0
        Q
        .org
        .eolang
        .bytes:0
          00-00-00-00-00-00-00-0B

yegor256 added a commit that referenced this issue Feb 15, 2024
yegor256 added a commit that referenced this issue Feb 15, 2024
yegor256 added a commit that referenced this issue Feb 15, 2024
@yegor256
Copy link
Member

@rultor release, tag is 0.35.3

@rultor
Copy link
Contributor

rultor commented Feb 15, 2024

@rultor release, tag is 0.35.3

@yegor256 OK, I will release it now. Please check the progress here

@deemp
Copy link
Member Author

deemp commented Mar 6, 2024

You can see the full PR.
objectionary/normalizer#98

It contains a GH Action that runs the pipeline. Here is one of the runs.
https://github.com/objectionary/normalizer/actions/runs/8176304877

@maxonfjvipon
Copy link
Member

@yegor256 do you know what's going on here?

@yegor256
Copy link
Member

yegor256 commented Mar 6, 2024

@maxonfjvipon I see this in the log: mvnw eo:register -Deo.version=0.35.7. Do we have 0.35.7 released already?

@yegor256
Copy link
Member

yegor256 commented Mar 6, 2024

@maxonfjvipon this is the problem: objectionary/eoc#253

@maxonfjvipon
Copy link
Member

@deemp my bad, the latest version if 0.35.6 for now, so please use it

@deemp
Copy link
Member Author

deemp commented Mar 6, 2024

Finally, the pipeline works.

https://github.com/objectionary/normalizer/actions/runs/8178774742

I think this issue can be closed.

@deemp
Copy link
Member Author

deemp commented Mar 7, 2024

Sorry. I didn't enable all tests at the time of writing the previous message.

@deemp
Copy link
Member Author

deemp commented Mar 7, 2024

ram-tests.eo

+architect yegor256@gmail.com
+home https://github.com/objectionary/eo
+tests
+package org.eolang
+version 0.0.0

# Test.
[] > slice-chain
  ram 1024 > r
  # Cut hello.
  [] > cut-hello
    seq > @
      *
        write.
          r.slice 200 13 > s
          "Hello, world!".as-bytes
        s.slice 0 5
        .slice 0 4
        .slice 0 1
  eq. > @
    cut-hello
    "H"

Errors

Convert EO to PHI

The directory .eoc deleted
Warning: JAVA_HOME environment variable is not set.
EO objects registered in .eoc/eo-foreign.json
Assembling into .eoc
Warning: JAVA_HOME environment variable is not set.
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/ram-tests.eo:18': [18:8] no viable alternative at input '# Test.\n[] > slice-chain\n  INTram 1024 > r\n  # Cut hello.\n  [] > cut-hello\n    INTseq > @\n      INT*\n        INTwrite.\n          INTr.slice 200 13 > s\n          "Hello, world!".as-bytes\n        EXPONENTs.slice 0 5\n        .': "        .slice 0 4"
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:63': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/rust.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdin.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:33': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdout.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/io/stdin.eo:35': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:42': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:48': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/goto.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bool.eo:58': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:67': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:74': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:31': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/heap.eo:79': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:47': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/memory.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:47': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:54': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:58': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/string.eo:42': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:37': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:41': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nop.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:41': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:45': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:49': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:49': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:53': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:57': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:61': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:33': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:65': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:69': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/nan.eo:69': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:78': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:78': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:85': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:88': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:88': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/as-phi.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:95': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/cage.eo:29': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:58': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:36': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:62': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:43': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:66': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:43': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:80': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:43': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/as-phi.eo:29': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:47': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:48': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/tuple.eo:71': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:97': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/seq.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:102': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:113': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:31': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:129': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:34': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:29': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:37': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:31': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:98': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:47': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:34': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:101': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:40': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:55': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:53': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/negative-infinity.eo:129': Comment must end with dot
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:48': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:105': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:55': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:53': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:37': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:62': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:56': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/ram.eo:39': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:56': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:71': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/float.eo:109': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:56': Comment must contain only ASCII printable characters: 0x20-0x7f
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:59': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:81': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:62': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:97': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:61': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:65': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:113': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:69': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/positive-infinity.eo:129': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:65': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:72': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:68': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/bytes.eo:76': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:72': Comment must be at least 64 characters long
[ERROR] Failed to parse '/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/4-pull/org/eolang/int.eo:75': Comment must be at least 64 characters long
EO program assembled in .eoc
Warning: JAVA_HOME environment variable is not set.
[ERROR] XPath 'phi/text()' not found in '<?xml version="1.0" encoding="UTF-8"?>\uA<program ..2043..  </metas>\uA   <objects/>\uA</program>\uA': Index (0) is out of bounds (size=0)
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.35.6:xmir-to-phi (default-cli) on project eoc: 'org.eolang.maven.PhiMojo@6f9c5048' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: com.jcabi.xml.ListWrapper$NodeNotFoundException: XPath 'phi/text()' not found in '<?xml version="1.0" encoding="UTF-8"?>\uA<program ..2043..  </metas>\uA   <objects/>\uA</program>\uA': Index (0) is out of bounds (size=0) -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:xmir-to-phi -Deo.version=0.35.6 -Deo.hash=130afdd1456a0cbafd52aee8d7bc612e1faac547 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/eo-placed.csv -Deo.placedFormat=csv -Deo.phiInputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/2-optimize -Deo.phiOutputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/eo/.eoc/phi --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

@maxonfjvipon
Copy link
Member

maxonfjvipon commented Mar 7, 2024

@yegor256 this bug was fixed in EO 0.35.6, but Rultor failed to make a successful release on github. The latest one is 0.35.5 now. Could you please make it manually? Then we update version in objectionary/home and everything should work fine

@yegor256
Copy link
Member

yegor256 commented Mar 7, 2024

@maxonfjvipon done https://github.com/objectionary/eo/releases/tag/0.35.6

@deemp
Copy link
Member Author

deemp commented Mar 7, 2024

Should I update something on my side?

@maxonfjvipon
Copy link
Member

@yegor256 it seems we need to make a new release. Let's make it with tag 0.35.7

@yegor256
Copy link
Member

yegor256 commented Mar 7, 2024

@rultor release, tag is 0.35.7

@rultor
Copy link
Contributor

rultor commented Mar 7, 2024

@rultor release, tag is 0.35.7

@yegor256 OK, I will release it now. Please check the progress here

@rultor
Copy link
Contributor

rultor commented Mar 7, 2024

@rultor release, tag is 0.35.7

@deemp @yegor256 Oops, I failed. You can see the full log here (spent 18min)

@maxonfjvipon
Copy link
Member

@deemp no, just wait a bit

@maxonfjvipon
Copy link
Member

@yegor256 let's try again with 0.35.8

@yegor256
Copy link
Member

yegor256 commented Mar 7, 2024

@rultor release, tag is 0.35.8

@rultor
Copy link
Contributor

rultor commented Mar 7, 2024

@rultor release, tag is 0.35.8

@yegor256 OK, I will release it now. Please check the progress here

@rultor
Copy link
Contributor

rultor commented Mar 7, 2024

@rultor release, tag is 0.35.8

@yegor256 Done! FYI, the full log is here (took me 18min)

@yegor256
Copy link
Member

yegor256 commented Mar 7, 2024

@maxonfjvipon finally

@maxonfjvipon
Copy link
Member

@deemp we finally released all we wanted, please use EO 0.35.8 and try again

@deemp
Copy link
Member Author

deemp commented Mar 7, 2024

Got an error

Convert PHI to EO without normalization

Warning: JAVA_HOME environment variable is not set.
[ERROR] XML with XSD failures: generated so far...
<?xml version="1.0" encoding="UTF-8"?>
<program dob="2024-03-07T12:56:24"
         name="bool-tests"
         revision="3650885"
         time="2024-03-07T15:08:37.566214Z"
         version="0.35.8"><!--This is XMIR - a dialect of XML, which is used to present a parsed EO program. For more information please visit https://news.eolang.org/2022-11-25-xmir-guide.html-->
   <listing>{
  ⟦
    org ↦ ⟦
      eolang ↦ ⟦
        compares-two-bools ↦ ⟦
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).eq(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 01-
              )
            )
          )
        ⟧,
        compares-two-different-types ↦ ⟦
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-2A
              )
            )
          ).not
        ⟧,
        forks-on-condition ↦ ⟦
          φ ↦ Φ.org.eolang.int(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 00-00-00-00-00-00-00-05
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-08
              )
            )
          ).if(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-7B
              )
            ),
            α1 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-2A
              )
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-2A
              )
            )
          )
        ⟧,
        iterates-over-simple-counter ↦ ⟦
          x ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          φ ↦ ξ.x.write(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-05
              )
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-05
              )
            )
          ).and(
            α0 ↦ ξ.x.as-int.lt(
              α0 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-0A
                )
              )
            ).while(
              α0 ↦ ⟦
                i ↦ ∅,
                φ ↦ ξ.σ.x.write(
                  α0 ↦ ξ.σ.x.as-int.plus(
                    α0 ↦ Φ.org.eolang.int(
                      α0 ↦ Φ.org.eolang.bytes(
                        Δ ⤍ 00-00-00-00-00-00-00-01
                      )
                    )
                  )
                )
              ⟧
            ).eq(
              α0 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-0B
                )
              )
            )
          )
        ⟧,
        compares-bool-to-bytes ↦ ⟦
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).eq(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).and(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-
              )
            ).eq(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-
              )
            )
          )
        ⟧,
        compares-bool-to-string ↦ ⟦
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          ).eq(
            α0 ↦ Φ.org.eolang.string(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 01-
              )
            )
          ).and(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-
              )
            ).eq(
              α0 ↦ Φ.org.eolang.string(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-
                )
              )
            )
          )
        ⟧,
        compares-bool-to-bytes-reverse ↦ ⟦
          φ ↦ Φ.org.eolang.bytes(
            Δ ⤍ 01-
          ).as-bytes.eq(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 01-
              )
            )
          ).and(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 00-
            ).as-bytes.eq(
              α0 ↦ Φ.org.eolang.bool(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-
                )
              )
            )
          )
        ⟧,
        complex-bool-expression-in-while ↦ ⟦
          m ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          res ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple.empty,
                  α1 ↦ ξ.m.write(
                    α0 ↦ Φ.org.eolang.int(
                      α0 ↦ Φ.org.eolang.bytes(
                        Δ ⤍ 00-00-00-00-00-00-00-05
                      )
                    )
                  )
                ),
                α1 ↦ ξ.m.as-int.gt(
                  α0 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-00
                    )
                  )
                ).eq(
                  α0 ↦ Φ.org.eolang.bool(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 01-
                    )
                  )
                ).while(
                  α0 ↦ ⟦
                    i ↦ ∅,
                    φ ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple.empty,
                          α1 ↦ ξ.σ.m.write(
                            α0 ↦ ξ.σ.m.as-int.minus(
                              α0 ↦ Φ.org.eolang.int(
                                α0 ↦ Φ.org.eolang.bytes(
                                  Δ ⤍ 00-00-00-00-00-00-00-01
                                )
                              )
                            )
                          )
                        ),
                        α1 ↦ Φ.org.eolang.bool(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 01-
                          )
                        )
                      )
                    )
                  ⟧
                )
              ),
              α1 ↦ Φ.org.eolang.bool(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 01-
                )
              )
            )
          ),
          φ ↦ Φ.org.eolang.nop
        ⟧,
        last-while-dataization-object ↦ ⟦
          x ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          φ ↦ ξ.x.as-int.lt(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-02
              )
            )
          ).while(
            α0 ↦ ⟦
              i ↦ ∅,
              φ ↦ Φ.org.eolang.seq(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple(
                    α0 ↦ Φ.org.eolang.tuple.empty,
                    α1 ↦ ξ.σ.x.write(
                      α0 ↦ ξ.σ.x.as-int.plus(
                        α0 ↦ Φ.org.eolang.int(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 00-00-00-00-00-00-00-01
                          )
                        )
                      )
                    )
                  ),
                  α1 ↦ ξ.σ.x.as-int
                )
              )
            ⟧
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-03
              )
            )
          )
        ⟧,
        while-without-last-dataization ↦ ⟦
          x ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          φ ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple.empty,
                α1 ↦ ξ.x.as-int.lt(
                  α0 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-02
                    )
                  )
                ).while(
                  α0 ↦ ⟦
                    i ↦ ∅,
                    φ ↦ ξ.σ.x.write(
                      α0 ↦ ξ.σ.x.as-int.plus(
                        α0 ↦ Φ.org.eolang.int(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 00-00-00-00-00-00-00-01
                          )
                        )
                      )
                    )
                  ⟧
                ).φ.ν
              ),
              α1 ↦ ξ.x.as-int
            )
          ).eq(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-02
              )
            )
          )
        ⟧,
        last-while-dataization-object-with-false-condition ↦ ⟦
          x ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-03
              )
            )
          ),
          φ ↦ ξ.x.as-int.lt(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ).while(
            α0 ↦ ⟦
              i ↦ ∅,
              φ ↦ Φ.org.eolang.seq(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple(
                    α0 ↦ Φ.org.eolang.tuple.empty,
                    α1 ↦ ξ.σ.x.write(
                      α0 ↦ ξ.σ.x.as-int.plus(
                        α0 ↦ Φ.org.eolang.int(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 00-00-00-00-00-00-00-01
                          )
                        )
                      )
                    )
                  ),
                  α1 ↦ ξ.σ.x
                )
              )
            ⟧
          ).eq(
            α0 ↦ Φ.org.eolang.bool(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-
              )
            )
          )
        ⟧,
        iterating-tuple-with-while-using-internal-iterator ↦ ⟦
          arr ↦ Φ.org.eolang.tuple(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple.empty,
                  α1 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-01
                    )
                  )
                ),
                α1 ↦ Φ.org.eolang.int(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 00-00-00-00-00-00-00-01
                  )
                )
              ),
              α1 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-01
                )
              )
            ),
            α1 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          iter ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          acc ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          max ↦ ξ.arr.length.minus(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          φ ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple.empty,
                α1 ↦ ξ.max.eq(
                  α0 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-00
                    )
                  )
                ).if(
                  α0 ↦ ξ.acc.write(
                    α0 ↦ ξ.acc.as-int.plus(
                      α0 ↦ ξ.arr.at(
                        α0 ↦ Φ.org.eolang.int(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 00-00-00-00-00-00-00-00
                          )
                        )
                      )
                    )
                  ),
                  α1 ↦ ξ.iter.as-int.lt(
                    α0 ↦ ξ.max
                  ).while(
                    α0 ↦ ⟦
                      i ↦ ∅,
                      φ ↦ Φ.org.eolang.seq(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple.empty,
                            α1 ↦ ξ.σ.acc.write(
                              α0 ↦ ξ.σ.acc.as-int.plus(
                                α0 ↦ ξ.σ.arr.at(
                                  α0 ↦ ξ.i
                                )
                              )
                            )
                          ),
                          α1 ↦ ξ.σ.iter.write(
                            α0 ↦ ξ.σ.iter.as-int.plus(
                              α0 ↦ Φ.org.eolang.int(
                                α0 ↦ Φ.org.eolang.bytes(
                                  Δ ⤍ 00-00-00-00-00-00-00-01
                                )
                              )
                            )
                          )
                        )
                      )
                    ⟧
                  )
                )
              ),
              α1 ↦ ξ.acc.as-int.eq(
                α0 ↦ ξ.arr.length
              )
            )
          )
        ⟧,
        iterating-tuple-with-while-using-external-iterator ↦ ⟦
          arr ↦ Φ.org.eolang.tuple(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple.empty,
                  α1 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-01
                    )
                  )
                ),
                α1 ↦ Φ.org.eolang.int(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 00-00-00-00-00-00-00-01
                  )
                )
              ),
              α1 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-01
                )
              )
            ),
            α1 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          iter ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          acc ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          max ↦ ξ.arr.length.minus(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          nop ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple.empty,
                α1 ↦ ξ.max.eq(
                  α0 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-00
                    )
                  )
                ).if(
                  α0 ↦ ξ.acc.write(
                    α0 ↦ ξ.acc.as-int.plus(
                      α0 ↦ ξ.arr.at(
                        α0 ↦ Φ.org.eolang.int(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 00-00-00-00-00-00-00-00
                          )
                        )
                      )
                    )
                  ),
                  α1 ↦ ξ.iter.as-int.lt(
                    α0 ↦ ξ.max
                  ).while(
                    α0 ↦ ⟦
                      i ↦ ∅,
                      φ ↦ Φ.org.eolang.seq(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple.empty,
                            α1 ↦ ξ.σ.acc.write(
                              α0 ↦ ξ.σ.acc.as-int.plus(
                                α0 ↦ ξ.σ.arr.at(
                                  α0 ↦ ξ.σ.iter.as-int
                                )
                              )
                            )
                          ),
                          α1 ↦ ξ.σ.iter.write(
                            α0 ↦ ξ.σ.iter.as-int.plus(
                              α0 ↦ Φ.org.eolang.int(
                                α0 ↦ Φ.org.eolang.bytes(
                                  Δ ⤍ 00-00-00-00-00-00-00-01
                                )
                              )
                            )
                          )
                        )
                      )
                    ⟧
                  )
                )
              ),
              α1 ↦ ξ.acc.as-int.eq(
                α0 ↦ ξ.arr.length
              )
            )
          ),
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          )
        ⟧,
        iterating-tuple-with-while-without-body-multiple ↦ ⟦
          arr ↦ Φ.org.eolang.tuple(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple(
                  α0 ↦ Φ.org.eolang.tuple.empty,
                  α1 ↦ Φ.org.eolang.int(
                    α0 ↦ Φ.org.eolang.bytes(
                      Δ ⤍ 00-00-00-00-00-00-00-01
                    )
                  )
                ),
                α1 ↦ Φ.org.eolang.int(
                  α0 ↦ Φ.org.eolang.bytes(
                    Δ ⤍ 00-00-00-00-00-00-00-01
                  )
                )
              ),
              α1 ↦ Φ.org.eolang.int(
                α0 ↦ Φ.org.eolang.bytes(
                  Δ ⤍ 00-00-00-00-00-00-00-01
                )
              )
            ),
            α1 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          iter ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          acc ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          max ↦ ξ.arr.length,
          φ ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple.empty,
                α1 ↦ ⟦
                  φ ↦ ξ.σ.iter.as-int.lt(
                    α0 ↦ ξ.σ.max
                  ).if(
                    α0 ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple.empty,
                            α1 ↦ ξ.σ.acc.write(
                              α0 ↦ ξ.σ.acc.as-int.plus(
                                α0 ↦ ξ.σ.arr.at(
                                  α0 ↦ ξ.σ.iter.as-int
                                )
                              )
                            )
                          ),
                          α1 ↦ ξ.σ.iter.write(
                            α0 ↦ ξ.σ.iter.as-int.plus(
                              α0 ↦ Φ.org.eolang.int(
                                α0 ↦ Φ.org.eolang.bytes(
                                  Δ ⤍ 00-00-00-00-00-00-00-01
                                )
                              )
                            )
                          )
                        ),
                        α1 ↦ Φ.org.eolang.bool(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 01-
                          )
                        )
                      )
                    ),
                    α1 ↦ Φ.org.eolang.bool(
                      α0 ↦ Φ.org.eolang.bytes(
                        Δ ⤍ 00-
                      )
                    )
                  )
                ⟧.while(
                  α0 ↦ Φ.org.eolang.nop
                )
              ),
              α1 ↦ ξ.acc.as-int.eq(
                α0 ↦ ξ.arr.length
              )
            )
          )
        ⟧,
        iterating-tuple-with-while-without-body-single ↦ ⟦
          arr ↦ Φ.org.eolang.tuple(
            α0 ↦ Φ.org.eolang.tuple.empty,
            α1 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-01
              )
            )
          ),
          iter ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          acc ↦ Φ.org.eolang.memory(
            α0 ↦ Φ.org.eolang.int(
              α0 ↦ Φ.org.eolang.bytes(
                Δ ⤍ 00-00-00-00-00-00-00-00
              )
            )
          ),
          max ↦ ξ.arr.length,
          nop ↦ Φ.org.eolang.seq(
            α0 ↦ Φ.org.eolang.tuple(
              α0 ↦ Φ.org.eolang.tuple(
                α0 ↦ Φ.org.eolang.tuple.empty,
                α1 ↦ ⟦
                  φ ↦ ξ.σ.iter.as-int.lt(
                    α0 ↦ ξ.σ.max
                  ).if(
                    α0 ↦ Φ.org.eolang.seq(
                      α0 ↦ Φ.org.eolang.tuple(
                        α0 ↦ Φ.org.eolang.tuple(
                          α0 ↦ Φ.org.eolang.tuple(
                            α0 ↦ Φ.org.eolang.tuple.empty,
                            α1 ↦ ξ.σ.acc.write(
                              α0 ↦ ξ.σ.acc.as-int.plus(
                                α0 ↦ ξ.σ.arr.at(
                                  α0 ↦ ξ.σ.iter.as-int
                                )
                              )
                            )
                          ),
                          α1 ↦ ξ.σ.iter.write(
                            α0 ↦ ξ.σ.iter.as-int.plus(
                              α0 ↦ Φ.org.eolang.int(
                                α0 ↦ Φ.org.eolang.bytes(
                                  Δ ⤍ 00-00-00-00-00-00-00-01
                                )
                              )
                            )
                          )
                        ),
                        α1 ↦ Φ.org.eolang.bool(
                          α0 ↦ Φ.org.eolang.bytes(
                            Δ ⤍ 01-
                          )
                        )
                      )
                    ),
                    α1 ↦ Φ.org.eolang.bool(
                      α0 ↦ Φ.org.eolang.bytes(
                        Δ ⤍ 00-
                      )
                    )
                  )
                ⟧.while(
                  α0 ↦ ξ.nop
                )
              ),
              α1 ↦ ξ.acc.as-int.eq(
                α0 ↦ ξ.arr.length
              )
            )
          ),
          φ ↦ Φ.org.eolang.bool(
            α0 ↦ Φ.org.eolang.bytes(
              Δ ⤍ 01-
            )
          )
        ⟧,
        λ ⤍ Package
      ⟧,
      λ ⤍ Package
    ⟧
  ⟧
}</listing>
   <errors/>
   <sheets/>
   <license/>
   <metas>
      <meta>
         <head>package</head>
         <tail>org.eolang</tail>
         <part>org.eolang</part>
      </meta>
      <meta>
         <head>tests</head>
         <tail/>
      </meta>
   </metas>
   <objects>
      <o abstract="" line="5" name="compares-two-bools" pos="8">
         <o base="Q" line="6" pos="10"/>
         <o base=".org" line="6" method="" pos="15"/>
         <o base=".eolang" line="6" method="" pos="19"/>
         <o base=".bool" line="6" method="" pos="26">
            <o base="Q" line="7" pos="12"/>
            <o base=".org" line="7" method="" pos="18"/>
            <o base=".eolang" line="7" method="" pos="22"/>
            <o as="0" base=".bytes" line="7" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="8" pos="14">01</o>
            </o>
         </o>
         <o base=".eq" line="10" method="" name="@" pos="11">
            <o base="Q" line="11" pos="12"/>
            <o base=".org" line="11" method="" pos="18"/>
            <o base=".eolang" line="11" method="" pos="22"/>
            <o as="0" base=".bool" line="11" method="" pos="29">
               <o base="Q" line="12" pos="14"/>
               <o base=".org" line="12" method="" pos="20"/>
               <o base=".eolang" line="12" method="" pos="24"/>
               <o as="0" base=".bytes" line="12" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="13" pos="16">01</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="18"
         name="compares-two-different-types"
         pos="8">
         <o base="Q" line="19" pos="10"/>
         <o base=".org" line="19" method="" pos="15"/>
         <o base=".eolang" line="19" method="" pos="19"/>
         <o base=".bool" line="19" method="" pos="26">
            <o base="Q" line="20" pos="12"/>
            <o base=".org" line="20" method="" pos="18"/>
            <o base=".eolang" line="20" method="" pos="22"/>
            <o as="0" base=".bytes" line="20" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="21" pos="14">01</o>
            </o>
         </o>
         <o base=".eq" line="23" method="" pos="11">
            <o base="Q" line="24" pos="12"/>
            <o base=".org" line="24" method="" pos="18"/>
            <o base=".eolang" line="24" method="" pos="22"/>
            <o as="0" base=".int" line="24" method="" pos="29">
               <o base="Q" line="25" pos="14"/>
               <o base=".org" line="25" method="" pos="20"/>
               <o base=".eolang" line="25" method="" pos="24"/>
               <o as="0" base=".bytes" line="25" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="26" pos="16">00 00 00 00 00 00 00 2A</o>
               </o>
            </o>
         </o>
         <o base=".not" line="29" method="" name="@" pos="11"/>
      </o>
      <o abstract="" line="31" name="forks-on-condition" pos="8">
         <o base="Q" line="32" pos="10"/>
         <o base=".org" line="32" method="" pos="15"/>
         <o base=".eolang" line="32" method="" pos="19"/>
         <o base=".int" line="32" method="" pos="26">
            <o base="Q" line="33" pos="12"/>
            <o base=".org" line="33" method="" pos="18"/>
            <o base=".eolang" line="33" method="" pos="22"/>
            <o as="0" base=".bytes" line="33" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="34" pos="14">00 00 00 00 00 00 00 05</o>
            </o>
         </o>
         <o base=".eq" line="36" method="" pos="11">
            <o base="Q" line="37" pos="12"/>
            <o base=".org" line="37" method="" pos="18"/>
            <o base=".eolang" line="37" method="" pos="22"/>
            <o as="0" base=".int" line="37" method="" pos="29">
               <o base="Q" line="38" pos="14"/>
               <o base=".org" line="38" method="" pos="20"/>
               <o base=".eolang" line="38" method="" pos="24"/>
               <o as="0" base=".bytes" line="38" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="39" pos="16">00 00 00 00 00 00 00 08</o>
               </o>
            </o>
         </o>
         <o base=".if" line="42" method="" pos="11">
            <o base="Q" line="43" pos="12"/>
            <o base=".org" line="43" method="" pos="18"/>
            <o base=".eolang" line="43" method="" pos="22"/>
            <o as="0" base=".int" line="43" method="" pos="29">
               <o base="Q" line="44" pos="14"/>
               <o base=".org" line="44" method="" pos="20"/>
               <o base=".eolang" line="44" method="" pos="24"/>
               <o as="0" base=".bytes" line="44" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="45" pos="16">00 00 00 00 00 00 00 7B</o>
               </o>
            </o>
            <o base="Q" line="48" pos="12"/>
            <o base=".org" line="48" method="" pos="18"/>
            <o base=".eolang" line="48" method="" pos="22"/>
            <o as="1" base=".int" line="48" method="" pos="29">
               <o base="Q" line="49" pos="14"/>
               <o base=".org" line="49" method="" pos="20"/>
               <o base=".eolang" line="49" method="" pos="24"/>
               <o as="0" base=".bytes" line="49" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="50" pos="16">00 00 00 00 00 00 00 2A</o>
               </o>
            </o>
         </o>
         <o base=".eq" line="53" method="" name="@" pos="11">
            <o base="Q" line="54" pos="12"/>
            <o base=".org" line="54" method="" pos="18"/>
            <o base=".eolang" line="54" method="" pos="22"/>
            <o as="0" base=".int" line="54" method="" pos="29">
               <o base="Q" line="55" pos="14"/>
               <o base=".org" line="55" method="" pos="20"/>
               <o base=".eolang" line="55" method="" pos="24"/>
               <o as="0" base=".bytes" line="55" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="56" pos="16">00 00 00 00 00 00 00 2A</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="61"
         name="iterates-over-simple-counter"
         pos="8">
         <o base="Q" line="62" pos="10"/>
         <o base=".org" line="62" method="" pos="15"/>
         <o base=".eolang" line="62" method="" pos="19"/>
         <o base=".memory" line="62" method="" name="x" pos="26">
            <o base="Q" line="63" pos="12"/>
            <o base=".org" line="63" method="" pos="18"/>
            <o base=".eolang" line="63" method="" pos="22"/>
            <o as="0" base=".int" line="63" method="" pos="29">
               <o base="Q" line="64" pos="14"/>
               <o base=".org" line="64" method="" pos="20"/>
               <o base=".eolang" line="64" method="" pos="24"/>
               <o as="0" base=".bytes" line="64" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="65" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="$" line="69" pos="10"/>
         <o base=".x" line="69" method="" pos="15"/>
         <o base=".write" line="69" method="" pos="17">
            <o base="Q" line="70" pos="12"/>
            <o base=".org" line="70" method="" pos="18"/>
            <o base=".eolang" line="70" method="" pos="22"/>
            <o as="0" base=".int" line="70" method="" pos="29">
               <o base="Q" line="71" pos="14"/>
               <o base=".org" line="71" method="" pos="20"/>
               <o base=".eolang" line="71" method="" pos="24"/>
               <o as="0" base=".bytes" line="71" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="72" pos="16">00 00 00 00 00 00 00 05</o>
               </o>
            </o>
         </o>
         <o base=".eq" line="75" method="" pos="11">
            <o base="Q" line="76" pos="12"/>
            <o base=".org" line="76" method="" pos="18"/>
            <o base=".eolang" line="76" method="" pos="22"/>
            <o as="0" base=".int" line="76" method="" pos="29">
               <o base="Q" line="77" pos="14"/>
               <o base=".org" line="77" method="" pos="20"/>
               <o base=".eolang" line="77" method="" pos="24"/>
               <o as="0" base=".bytes" line="77" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="78" pos="16">00 00 00 00 00 00 00 05</o>
               </o>
            </o>
         </o>
         <o base=".and" line="81" method="" name="@" pos="11">
            <o base="$" line="82" pos="12"/>
            <o base=".x" line="82" method="" pos="18"/>
            <o base=".as-int" line="82" method="" pos="20"/>
            <o base=".lt" line="82" method="" pos="27">
               <o base="Q" line="83" pos="14"/>
               <o base=".org" line="83" method="" pos="20"/>
               <o base=".eolang" line="83" method="" pos="24"/>
               <o as="0" base=".int" line="83" method="" pos="31">
                  <o base="Q" line="84" pos="16"/>
                  <o base=".org" line="84" method="" pos="22"/>
                  <o base=".eolang" line="84" method="" pos="26"/>
                  <o as="0" base=".bytes" line="84" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="85" pos="18">00 00 00 00 00 00 00 0A</o>
                  </o>
               </o>
            </o>
            <o base=".while" line="88" method="" pos="13">
               <o abstract="" as="0" line="89" pos="14">
                  <o line="90" name="i" pos="16"/>
                  <o base="$" line="91" pos="16"/>
                  <o base=".&amp;" line="91" method="" pos="21"/>
                  <o base=".x" line="91" method="" pos="23"/>
                  <o base=".write" line="91" method="" name="@" pos="25">
                     <o base="$" line="92" pos="18"/>
                     <o base=".&amp;" line="92" method="" pos="24"/>
                     <o base=".x" line="92" method="" pos="26"/>
                     <o base=".as-int" line="92" method="" pos="28"/>
                     <o as="0" base=".plus" line="92" method="" pos="35">
                        <o base="Q" line="93" pos="20"/>
                        <o base=".org" line="93" method="" pos="26"/>
                        <o base=".eolang" line="93" method="" pos="30"/>
                        <o as="0" base=".int" line="93" method="" pos="37">
                           <o base="Q" line="94" pos="22"/>
                           <o base=".org" line="94" method="" pos="28"/>
                           <o base=".eolang" line="94" method="" pos="32"/>
                           <o as="0" base=".bytes" line="94" method="" pos="39">
                              <o base="org.eolang.bytes" data="bytes" line="95" pos="24">00 00 00 00 00 00 00 01</o>
                           </o>
                        </o>
                     </o>
                  </o>
               </o>
            </o>
            <o as="0" base=".eq" line="101" method="" pos="13">
               <o base="Q" line="102" pos="14"/>
               <o base=".org" line="102" method="" pos="20"/>
               <o base=".eolang" line="102" method="" pos="24"/>
               <o as="0" base=".int" line="102" method="" pos="31">
                  <o base="Q" line="103" pos="16"/>
                  <o base=".org" line="103" method="" pos="22"/>
                  <o base=".eolang" line="103" method="" pos="26"/>
                  <o as="0" base=".bytes" line="103" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="104" pos="18">00 00 00 00 00 00 00 0B</o>
                  </o>
               </o>
            </o>
         </o>
      </o>
      <o abstract="" line="110" name="compares-bool-to-bytes" pos="8">
         <o base="Q" line="111" pos="10"/>
         <o base=".org" line="111" method="" pos="15"/>
         <o base=".eolang" line="111" method="" pos="19"/>
         <o base=".bool" line="111" method="" pos="26">
            <o base="Q" line="112" pos="12"/>
            <o base=".org" line="112" method="" pos="18"/>
            <o base=".eolang" line="112" method="" pos="22"/>
            <o as="0" base=".bytes" line="112" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="113" pos="14">01</o>
            </o>
         </o>
         <o base=".eq" line="115" method="" pos="11">
            <o base="Q" line="116" pos="12"/>
            <o base=".org" line="116" method="" pos="18"/>
            <o base=".eolang" line="116" method="" pos="22"/>
            <o as="0" base=".bytes" line="116" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="117" pos="14">01</o>
            </o>
         </o>
         <o base=".and" line="119" method="" name="@" pos="11">
            <o base="Q" line="120" pos="12"/>
            <o base=".org" line="120" method="" pos="18"/>
            <o base=".eolang" line="120" method="" pos="22"/>
            <o base=".bool" line="120" method="" pos="29">
               <o base="Q" line="121" pos="14"/>
               <o base=".org" line="121" method="" pos="20"/>
               <o base=".eolang" line="121" method="" pos="24"/>
               <o as="0" base=".bytes" line="121" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="122" pos="16">00</o>
               </o>
            </o>
            <o as="0" base=".eq" line="124" method="" pos="13">
               <o base="Q" line="125" pos="14"/>
               <o base=".org" line="125" method="" pos="20"/>
               <o base=".eolang" line="125" method="" pos="24"/>
               <o as="0" base=".bytes" line="125" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="126" pos="16">00</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract="" line="131" name="compares-bool-to-string" pos="8">
         <o base="Q" line="132" pos="10"/>
         <o base=".org" line="132" method="" pos="15"/>
         <o base=".eolang" line="132" method="" pos="19"/>
         <o base=".bool" line="132" method="" pos="26">
            <o base="Q" line="133" pos="12"/>
            <o base=".org" line="133" method="" pos="18"/>
            <o base=".eolang" line="133" method="" pos="22"/>
            <o as="0" base=".bytes" line="133" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="134" pos="14">01</o>
            </o>
         </o>
         <o base=".eq" line="136" method="" pos="11">
            <o base="Q" line="137" pos="12"/>
            <o base=".org" line="137" method="" pos="18"/>
            <o base=".eolang" line="137" method="" pos="22"/>
            <o as="0" base=".string" line="137" method="" pos="29">
               <o base="Q" line="138" pos="14"/>
               <o base=".org" line="138" method="" pos="20"/>
               <o base=".eolang" line="138" method="" pos="24"/>
               <o as="0" base=".bytes" line="138" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="139" pos="16">01</o>
               </o>
            </o>
         </o>
         <o base=".and" line="142" method="" name="@" pos="11">
            <o base="Q" line="143" pos="12"/>
            <o base=".org" line="143" method="" pos="18"/>
            <o base=".eolang" line="143" method="" pos="22"/>
            <o base=".bool" line="143" method="" pos="29">
               <o base="Q" line="144" pos="14"/>
               <o base=".org" line="144" method="" pos="20"/>
               <o base=".eolang" line="144" method="" pos="24"/>
               <o as="0" base=".bytes" line="144" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="145" pos="16">00</o>
               </o>
            </o>
            <o as="0" base=".eq" line="147" method="" pos="13">
               <o base="Q" line="148" pos="14"/>
               <o base=".org" line="148" method="" pos="20"/>
               <o base=".eolang" line="148" method="" pos="24"/>
               <o as="0" base=".string" line="148" method="" pos="31">
                  <o base="Q" line="149" pos="16"/>
                  <o base=".org" line="149" method="" pos="22"/>
                  <o base=".eolang" line="149" method="" pos="26"/>
                  <o as="0" base=".bytes" line="149" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="150" pos="18">00</o>
                  </o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="156"
         name="compares-bool-to-bytes-reverse"
         pos="8">
         <o base="Q" line="157" pos="10"/>
         <o base=".org" line="157" method="" pos="15"/>
         <o base=".eolang" line="157" method="" pos="19"/>
         <o base=".bytes" line="157" method="" pos="26">
            <o base="org.eolang.bytes" data="bytes" line="158" pos="12">01</o>
         </o>
         <o base=".as-bytes" line="159" method="" pos="11"/>
         <o base=".eq" line="159" method="" pos="20">
            <o base="Q" line="160" pos="12"/>
            <o base=".org" line="160" method="" pos="18"/>
            <o base=".eolang" line="160" method="" pos="22"/>
            <o as="0" base=".bool" line="160" method="" pos="29">
               <o base="Q" line="161" pos="14"/>
               <o base=".org" line="161" method="" pos="20"/>
               <o base=".eolang" line="161" method="" pos="24"/>
               <o as="0" base=".bytes" line="161" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="162" pos="16">01</o>
               </o>
            </o>
         </o>
         <o base=".and" line="165" method="" name="@" pos="11">
            <o base="Q" line="166" pos="12"/>
            <o base=".org" line="166" method="" pos="18"/>
            <o base=".eolang" line="166" method="" pos="22"/>
            <o base=".bytes" line="166" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="167" pos="14">00</o>
            </o>
            <o base=".as-bytes" line="168" method="" pos="13"/>
            <o as="0" base=".eq" line="168" method="" pos="22">
               <o base="Q" line="169" pos="14"/>
               <o base=".org" line="169" method="" pos="20"/>
               <o base=".eolang" line="169" method="" pos="24"/>
               <o as="0" base=".bool" line="169" method="" pos="31">
                  <o base="Q" line="170" pos="16"/>
                  <o base=".org" line="170" method="" pos="22"/>
                  <o base=".eolang" line="170" method="" pos="26"/>
                  <o as="0" base=".bytes" line="170" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="171" pos="18">00</o>
                  </o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="177"
         name="complex-bool-expression-in-while"
         pos="8">
         <o base="Q" line="178" pos="10"/>
         <o base=".org" line="178" method="" pos="15"/>
         <o base=".eolang" line="178" method="" pos="19"/>
         <o base=".memory" line="178" method="" name="m" pos="26">
            <o base="Q" line="179" pos="12"/>
            <o base=".org" line="179" method="" pos="18"/>
            <o base=".eolang" line="179" method="" pos="22"/>
            <o as="0" base=".int" line="179" method="" pos="29">
               <o base="Q" line="180" pos="14"/>
               <o base=".org" line="180" method="" pos="20"/>
               <o base=".eolang" line="180" method="" pos="24"/>
               <o as="0" base=".bytes" line="180" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="181" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="Q" line="185" pos="10"/>
         <o base=".org" line="185" method="" pos="17"/>
         <o base=".eolang" line="185" method="" pos="21"/>
         <o base=".seq" line="185" method="" name="res" pos="28">
            <o base="Q" line="186" pos="12"/>
            <o base=".org" line="186" method="" pos="18"/>
            <o base=".eolang" line="186" method="" pos="22"/>
            <o as="0" base=".tuple" line="186" method="" pos="29">
               <o base="Q" line="187" pos="14"/>
               <o base=".org" line="187" method="" pos="20"/>
               <o base=".eolang" line="187" method="" pos="24"/>
               <o as="0" base=".tuple" line="187" method="" pos="31">
                  <o base="Q" line="188" pos="16"/>
                  <o base=".org" line="188" method="" pos="22"/>
                  <o base=".eolang" line="188" method="" pos="26"/>
                  <o as="0" base=".tuple" line="188" method="" pos="33">
                     <o base="Q" line="189" pos="18"/>
                     <o base=".org" line="189" method="" pos="24"/>
                     <o base=".eolang" line="189" method="" pos="28"/>
                     <o base=".tuple" line="189" method="" pos="35"/>
                     <o as="0" base=".empty" line="189" method="" pos="41"/>
                     <o base="$" line="190" pos="18"/>
                     <o base=".m" line="190" method="" pos="24"/>
                     <o as="1" base=".write" line="190" method="" pos="26">
                        <o base="Q" line="191" pos="20"/>
                        <o base=".org" line="191" method="" pos="26"/>
                        <o base=".eolang" line="191" method="" pos="30"/>
                        <o as="0" base=".int" line="191" method="" pos="37">
                           <o base="Q" line="192" pos="22"/>
                           <o base=".org" line="192" method="" pos="28"/>
                           <o base=".eolang" line="192" method="" pos="32"/>
                           <o as="0" base=".bytes" line="192" method="" pos="39">
                              <o base="org.eolang.bytes" data="bytes" line="193" pos="24">00 00 00 00 00 00 00 05</o>
                           </o>
                        </o>
                     </o>
                  </o>
                  <o base="$" line="198" pos="16"/>
                  <o base=".m" line="198" method="" pos="22"/>
                  <o base=".as-int" line="198" method="" pos="24"/>
                  <o base=".gt" line="198" method="" pos="31">
                     <o base="Q" line="199" pos="18"/>
                     <o base=".org" line="199" method="" pos="24"/>
                     <o base=".eolang" line="199" method="" pos="28"/>
                     <o as="0" base=".int" line="199" method="" pos="35">
                        <o base="Q" line="200" pos="20"/>
                        <o base=".org" line="200" method="" pos="26"/>
                        <o base=".eolang" line="200" method="" pos="30"/>
                        <o as="0" base=".bytes" line="200" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="201" pos="22">00 00 00 00 00 00 00 00</o>
                        </o>
                     </o>
                  </o>
                  <o base=".eq" line="204" method="" pos="17">
                     <o base="Q" line="205" pos="18"/>
                     <o base=".org" line="205" method="" pos="24"/>
                     <o base=".eolang" line="205" method="" pos="28"/>
                     <o as="0" base=".bool" line="205" method="" pos="35">
                        <o base="Q" line="206" pos="20"/>
                        <o base=".org" line="206" method="" pos="26"/>
                        <o base=".eolang" line="206" method="" pos="30"/>
                        <o as="0" base=".bytes" line="206" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="207" pos="22">01</o>
                        </o>
                     </o>
                  </o>
                  <o as="1" base=".while" line="210" method="" pos="17">
                     <o abstract="" as="0" line="211" pos="18">
                        <o line="212" name="i" pos="20"/>
                        <o base="Q" line="213" pos="20"/>
                        <o base=".org" line="213" method="" pos="25"/>
                        <o base=".eolang" line="213" method="" pos="29"/>
                        <o base=".seq" line="213" method="" name="@" pos="36">
                           <o base="Q" line="214" pos="22"/>
                           <o base=".org" line="214" method="" pos="28"/>
                           <o base=".eolang" line="214" method="" pos="32"/>
                           <o as="0" base=".tuple" line="214" method="" pos="39">
                              <o base="Q" line="215" pos="24"/>
                              <o base=".org" line="215" method="" pos="30"/>
                              <o base=".eolang" line="215" method="" pos="34"/>
                              <o as="0" base=".tuple" line="215" method="" pos="41">
                                 <o base="Q" line="216" pos="26"/>
                                 <o base=".org" line="216" method="" pos="32"/>
                                 <o base=".eolang" line="216" method="" pos="36"/>
                                 <o base=".tuple" line="216" method="" pos="43"/>
                                 <o as="0" base=".empty" line="216" method="" pos="49"/>
                                 <o base="$" line="217" pos="26"/>
                                 <o base=".&amp;" line="217" method="" pos="32"/>
                                 <o base=".m" line="217" method="" pos="34"/>
                                 <o as="1" base=".write" line="217" method="" pos="36">
                                    <o base="$" line="218" pos="28"/>
                                    <o base=".&amp;" line="218" method="" pos="34"/>
                                    <o base=".m" line="218" method="" pos="36"/>
                                    <o base=".as-int" line="218" method="" pos="38"/>
                                    <o as="0" base=".minus" line="218" method="" pos="45">
                                       <o base="Q" line="219" pos="30"/>
                                       <o base=".org" line="219" method="" pos="36"/>
                                       <o base=".eolang" line="219" method="" pos="40"/>
                                       <o as="0" base=".int" line="219" method="" pos="47">
                                          <o base="Q" line="220" pos="32"/>
                                          <o base=".org" line="220" method="" pos="38"/>
                                          <o base=".eolang" line="220" method="" pos="42"/>
                                          <o as="0" base=".bytes" line="220" method="" pos="49">
                                             <o base="org.eolang.bytes" data="bytes" line="221" pos="34">00 00 00 00 00 00 00 01</o>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                              </o>
                              <o base="Q" line="227" pos="24"/>
                              <o base=".org" line="227" method="" pos="30"/>
                              <o base=".eolang" line="227" method="" pos="34"/>
                              <o as="1" base=".bool" line="227" method="" pos="41">
                                 <o base="Q" line="228" pos="26"/>
                                 <o base=".org" line="228" method="" pos="32"/>
                                 <o base=".eolang" line="228" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="228" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="229" pos="28">01</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                  </o>
               </o>
               <o base="Q" line="237" pos="14"/>
               <o base=".org" line="237" method="" pos="20"/>
               <o base=".eolang" line="237" method="" pos="24"/>
               <o as="1" base=".bool" line="237" method="" pos="31">
                  <o base="Q" line="238" pos="16"/>
                  <o base=".org" line="238" method="" pos="22"/>
                  <o base=".eolang" line="238" method="" pos="26"/>
                  <o as="0" base=".bytes" line="238" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="239" pos="18">01</o>
                  </o>
               </o>
            </o>
         </o>
         <o base="Q" line="244" pos="10"/>
         <o base=".org" line="244" method="" pos="15"/>
         <o base=".eolang" line="244" method="" pos="19"/>
         <o base=".nop" line="244" method="" name="@" pos="26"/>
      </o>
      <o abstract=""
         line="246"
         name="last-while-dataization-object"
         pos="8">
         <o base="Q" line="247" pos="10"/>
         <o base=".org" line="247" method="" pos="15"/>
         <o base=".eolang" line="247" method="" pos="19"/>
         <o base=".memory" line="247" method="" name="x" pos="26">
            <o base="Q" line="248" pos="12"/>
            <o base=".org" line="248" method="" pos="18"/>
            <o base=".eolang" line="248" method="" pos="22"/>
            <o as="0" base=".int" line="248" method="" pos="29">
               <o base="Q" line="249" pos="14"/>
               <o base=".org" line="249" method="" pos="20"/>
               <o base=".eolang" line="249" method="" pos="24"/>
               <o as="0" base=".bytes" line="249" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="250" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="$" line="254" pos="10"/>
         <o base=".x" line="254" method="" pos="15"/>
         <o base=".as-int" line="254" method="" pos="17"/>
         <o base=".lt" line="254" method="" pos="24">
            <o base="Q" line="255" pos="12"/>
            <o base=".org" line="255" method="" pos="18"/>
            <o base=".eolang" line="255" method="" pos="22"/>
            <o as="0" base=".int" line="255" method="" pos="29">
               <o base="Q" line="256" pos="14"/>
               <o base=".org" line="256" method="" pos="20"/>
               <o base=".eolang" line="256" method="" pos="24"/>
               <o as="0" base=".bytes" line="256" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="257" pos="16">00 00 00 00 00 00 00 02</o>
               </o>
            </o>
         </o>
         <o base=".while" line="260" method="" pos="11">
            <o abstract="" as="0" line="261" pos="12">
               <o line="262" name="i" pos="14"/>
               <o base="Q" line="263" pos="14"/>
               <o base=".org" line="263" method="" pos="19"/>
               <o base=".eolang" line="263" method="" pos="23"/>
               <o base=".seq" line="263" method="" name="@" pos="30">
                  <o base="Q" line="264" pos="16"/>
                  <o base=".org" line="264" method="" pos="22"/>
                  <o base=".eolang" line="264" method="" pos="26"/>
                  <o as="0" base=".tuple" line="264" method="" pos="33">
                     <o base="Q" line="265" pos="18"/>
                     <o base=".org" line="265" method="" pos="24"/>
                     <o base=".eolang" line="265" method="" pos="28"/>
                     <o as="0" base=".tuple" line="265" method="" pos="35">
                        <o base="Q" line="266" pos="20"/>
                        <o base=".org" line="266" method="" pos="26"/>
                        <o base=".eolang" line="266" method="" pos="30"/>
                        <o base=".tuple" line="266" method="" pos="37"/>
                        <o as="0" base=".empty" line="266" method="" pos="43"/>
                        <o base="$" line="267" pos="20"/>
                        <o base=".&amp;" line="267" method="" pos="26"/>
                        <o base=".x" line="267" method="" pos="28"/>
                        <o as="1" base=".write" line="267" method="" pos="30">
                           <o base="$" line="268" pos="22"/>
                           <o base=".&amp;" line="268" method="" pos="28"/>
                           <o base=".x" line="268" method="" pos="30"/>
                           <o base=".as-int" line="268" method="" pos="32"/>
                           <o as="0" base=".plus" line="268" method="" pos="39">
                              <o base="Q" line="269" pos="24"/>
                              <o base=".org" line="269" method="" pos="30"/>
                              <o base=".eolang" line="269" method="" pos="34"/>
                              <o as="0" base=".int" line="269" method="" pos="41">
                                 <o base="Q" line="270" pos="26"/>
                                 <o base=".org" line="270" method="" pos="32"/>
                                 <o base=".eolang" line="270" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="270" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="271" pos="28">00 00 00 00 00 00 00 01</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                     <o base="$" line="277" pos="18"/>
                     <o base=".&amp;" line="277" method="" pos="24"/>
                     <o base=".x" line="277" method="" pos="26"/>
                     <o as="1" base=".as-int" line="277" method="" pos="28"/>
                  </o>
               </o>
            </o>
         </o>
         <o base=".eq" line="281" method="" name="@" pos="11">
            <o base="Q" line="282" pos="12"/>
            <o base=".org" line="282" method="" pos="18"/>
            <o base=".eolang" line="282" method="" pos="22"/>
            <o as="0" base=".int" line="282" method="" pos="29">
               <o base="Q" line="283" pos="14"/>
               <o base=".org" line="283" method="" pos="20"/>
               <o base=".eolang" line="283" method="" pos="24"/>
               <o as="0" base=".bytes" line="283" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="284" pos="16">00 00 00 00 00 00 00 03</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="289"
         name="while-without-last-dataization"
         pos="8">
         <o base="Q" line="290" pos="10"/>
         <o base=".org" line="290" method="" pos="15"/>
         <o base=".eolang" line="290" method="" pos="19"/>
         <o base=".memory" line="290" method="" name="x" pos="26">
            <o base="Q" line="291" pos="12"/>
            <o base=".org" line="291" method="" pos="18"/>
            <o base=".eolang" line="291" method="" pos="22"/>
            <o as="0" base=".int" line="291" method="" pos="29">
               <o base="Q" line="292" pos="14"/>
               <o base=".org" line="292" method="" pos="20"/>
               <o base=".eolang" line="292" method="" pos="24"/>
               <o as="0" base=".bytes" line="292" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="293" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="Q" line="297" pos="10"/>
         <o base=".org" line="297" method="" pos="15"/>
         <o base=".eolang" line="297" method="" pos="19"/>
         <o base=".seq" line="297" method="" pos="26">
            <o base="Q" line="298" pos="12"/>
            <o base=".org" line="298" method="" pos="18"/>
            <o base=".eolang" line="298" method="" pos="22"/>
            <o as="0" base=".tuple" line="298" method="" pos="29">
               <o base="Q" line="299" pos="14"/>
               <o base=".org" line="299" method="" pos="20"/>
               <o base=".eolang" line="299" method="" pos="24"/>
               <o as="0" base=".tuple" line="299" method="" pos="31">
                  <o base="Q" line="300" pos="16"/>
                  <o base=".org" line="300" method="" pos="22"/>
                  <o base=".eolang" line="300" method="" pos="26"/>
                  <o base=".tuple" line="300" method="" pos="33"/>
                  <o as="0" base=".empty" line="300" method="" pos="39"/>
                  <o base="$" line="301" pos="16"/>
                  <o base=".x" line="301" method="" pos="22"/>
                  <o base=".as-int" line="301" method="" pos="24"/>
                  <o base=".lt" line="301" method="" pos="31">
                     <o base="Q" line="302" pos="18"/>
                     <o base=".org" line="302" method="" pos="24"/>
                     <o base=".eolang" line="302" method="" pos="28"/>
                     <o as="0" base=".int" line="302" method="" pos="35">
                        <o base="Q" line="303" pos="20"/>
                        <o base=".org" line="303" method="" pos="26"/>
                        <o base=".eolang" line="303" method="" pos="30"/>
                        <o as="0" base=".bytes" line="303" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="304" pos="22">00 00 00 00 00 00 00 02</o>
                        </o>
                     </o>
                  </o>
                  <o base=".while" line="307" method="" pos="17">
                     <o abstract="" as="0" line="308" pos="18">
                        <o line="309" name="i" pos="20"/>
                        <o base="$" line="310" pos="20"/>
                        <o base=".&amp;" line="310" method="" pos="25"/>
                        <o base=".x" line="310" method="" pos="27"/>
                        <o base=".write" line="310" method="" name="@" pos="29">
                           <o base="$" line="311" pos="22"/>
                           <o base=".&amp;" line="311" method="" pos="28"/>
                           <o base=".x" line="311" method="" pos="30"/>
                           <o base=".as-int" line="311" method="" pos="32"/>
                           <o as="0" base=".plus" line="311" method="" pos="39">
                              <o base="Q" line="312" pos="24"/>
                              <o base=".org" line="312" method="" pos="30"/>
                              <o base=".eolang" line="312" method="" pos="34"/>
                              <o as="0" base=".int" line="312" method="" pos="41">
                                 <o base="Q" line="313" pos="26"/>
                                 <o base=".org" line="313" method="" pos="32"/>
                                 <o base=".eolang" line="313" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="313" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="314" pos="28">00 00 00 00 00 00 00 01</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                  </o>
                  <o base=".@" line="320" method="" pos="17"/>
                  <o as="1" base=".&lt;" line="320" method="" pos="19"/>
               </o>
               <o base="$" line="322" pos="14"/>
               <o base=".x" line="322" method="" pos="20"/>
               <o as="1" base=".as-int" line="322" method="" pos="22"/>
            </o>
         </o>
         <o base=".eq" line="324" method="" name="@" pos="11">
            <o base="Q" line="325" pos="12"/>
            <o base=".org" line="325" method="" pos="18"/>
            <o base=".eolang" line="325" method="" pos="22"/>
            <o as="0" base=".int" line="325" method="" pos="29">
               <o base="Q" line="326" pos="14"/>
               <o base=".org" line="326" method="" pos="20"/>
               <o base=".eolang" line="326" method="" pos="24"/>
               <o as="0" base=".bytes" line="326" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="327" pos="16">00 00 00 00 00 00 00 02</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="332"
         name="last-while-dataization-object-with-false-condition"
         pos="8">
         <o base="Q" line="333" pos="10"/>
         <o base=".org" line="333" method="" pos="15"/>
         <o base=".eolang" line="333" method="" pos="19"/>
         <o base=".memory" line="333" method="" name="x" pos="26">
            <o base="Q" line="334" pos="12"/>
            <o base=".org" line="334" method="" pos="18"/>
            <o base=".eolang" line="334" method="" pos="22"/>
            <o as="0" base=".int" line="334" method="" pos="29">
               <o base="Q" line="335" pos="14"/>
               <o base=".org" line="335" method="" pos="20"/>
               <o base=".eolang" line="335" method="" pos="24"/>
               <o as="0" base=".bytes" line="335" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="336" pos="16">00 00 00 00 00 00 00 03</o>
               </o>
            </o>
         </o>
         <o base="$" line="340" pos="10"/>
         <o base=".x" line="340" method="" pos="15"/>
         <o base=".as-int" line="340" method="" pos="17"/>
         <o base=".lt" line="340" method="" pos="24">
            <o base="Q" line="341" pos="12"/>
            <o base=".org" line="341" method="" pos="18"/>
            <o base=".eolang" line="341" method="" pos="22"/>
            <o as="0" base=".int" line="341" method="" pos="29">
               <o base="Q" line="342" pos="14"/>
               <o base=".org" line="342" method="" pos="20"/>
               <o base=".eolang" line="342" method="" pos="24"/>
               <o as="0" base=".bytes" line="342" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="343" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base=".while" line="346" method="" pos="11">
            <o abstract="" as="0" line="347" pos="12">
               <o line="348" name="i" pos="14"/>
               <o base="Q" line="349" pos="14"/>
               <o base=".org" line="349" method="" pos="19"/>
               <o base=".eolang" line="349" method="" pos="23"/>
               <o base=".seq" line="349" method="" name="@" pos="30">
                  <o base="Q" line="350" pos="16"/>
                  <o base=".org" line="350" method="" pos="22"/>
                  <o base=".eolang" line="350" method="" pos="26"/>
                  <o as="0" base=".tuple" line="350" method="" pos="33">
                     <o base="Q" line="351" pos="18"/>
                     <o base=".org" line="351" method="" pos="24"/>
                     <o base=".eolang" line="351" method="" pos="28"/>
                     <o as="0" base=".tuple" line="351" method="" pos="35">
                        <o base="Q" line="352" pos="20"/>
                        <o base=".org" line="352" method="" pos="26"/>
                        <o base=".eolang" line="352" method="" pos="30"/>
                        <o base=".tuple" line="352" method="" pos="37"/>
                        <o as="0" base=".empty" line="352" method="" pos="43"/>
                        <o base="$" line="353" pos="20"/>
                        <o base=".&amp;" line="353" method="" pos="26"/>
                        <o base=".x" line="353" method="" pos="28"/>
                        <o as="1" base=".write" line="353" method="" pos="30">
                           <o base="$" line="354" pos="22"/>
                           <o base=".&amp;" line="354" method="" pos="28"/>
                           <o base=".x" line="354" method="" pos="30"/>
                           <o base=".as-int" line="354" method="" pos="32"/>
                           <o as="0" base=".plus" line="354" method="" pos="39">
                              <o base="Q" line="355" pos="24"/>
                              <o base=".org" line="355" method="" pos="30"/>
                              <o base=".eolang" line="355" method="" pos="34"/>
                              <o as="0" base=".int" line="355" method="" pos="41">
                                 <o base="Q" line="356" pos="26"/>
                                 <o base=".org" line="356" method="" pos="32"/>
                                 <o base=".eolang" line="356" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="356" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="357" pos="28">00 00 00 00 00 00 00 01</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                     <o base="$" line="363" pos="18"/>
                     <o base=".&amp;" line="363" method="" pos="24"/>
                     <o as="1" base=".x" line="363" method="" pos="26"/>
                  </o>
               </o>
            </o>
         </o>
         <o base=".eq" line="367" method="" name="@" pos="11">
            <o base="Q" line="368" pos="12"/>
            <o base=".org" line="368" method="" pos="18"/>
            <o base=".eolang" line="368" method="" pos="22"/>
            <o as="0" base=".bool" line="368" method="" pos="29">
               <o base="Q" line="369" pos="14"/>
               <o base=".org" line="369" method="" pos="20"/>
               <o base=".eolang" line="369" method="" pos="24"/>
               <o as="0" base=".bytes" line="369" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="370" pos="16">00</o>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="375"
         name="iterating-tuple-with-while-using-internal-iterator"
         pos="8">
         <o base="Q" line="376" pos="10"/>
         <o base=".org" line="376" method="" pos="17"/>
         <o base=".eolang" line="376" method="" pos="21"/>
         <o base=".tuple" line="376" method="" name="arr" pos="28">
            <o base="Q" line="377" pos="12"/>
            <o base=".org" line="377" method="" pos="18"/>
            <o base=".eolang" line="377" method="" pos="22"/>
            <o as="0" base=".tuple" line="377" method="" pos="29">
               <o base="Q" line="378" pos="14"/>
               <o base=".org" line="378" method="" pos="20"/>
               <o base=".eolang" line="378" method="" pos="24"/>
               <o as="0" base=".tuple" line="378" method="" pos="31">
                  <o base="Q" line="379" pos="16"/>
                  <o base=".org" line="379" method="" pos="22"/>
                  <o base=".eolang" line="379" method="" pos="26"/>
                  <o as="0" base=".tuple" line="379" method="" pos="33">
                     <o base="Q" line="380" pos="18"/>
                     <o base=".org" line="380" method="" pos="24"/>
                     <o base=".eolang" line="380" method="" pos="28"/>
                     <o base=".tuple" line="380" method="" pos="35"/>
                     <o as="0" base=".empty" line="380" method="" pos="41"/>
                     <o base="Q" line="381" pos="18"/>
                     <o base=".org" line="381" method="" pos="24"/>
                     <o base=".eolang" line="381" method="" pos="28"/>
                     <o as="1" base=".int" line="381" method="" pos="35">
                        <o base="Q" line="382" pos="20"/>
                        <o base=".org" line="382" method="" pos="26"/>
                        <o base=".eolang" line="382" method="" pos="30"/>
                        <o as="0" base=".bytes" line="382" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="383" pos="22">00 00 00 00 00 00 00 01</o>
                        </o>
                     </o>
                  </o>
                  <o base="Q" line="387" pos="16"/>
                  <o base=".org" line="387" method="" pos="22"/>
                  <o base=".eolang" line="387" method="" pos="26"/>
                  <o as="1" base=".int" line="387" method="" pos="33">
                     <o base="Q" line="388" pos="18"/>
                     <o base=".org" line="388" method="" pos="24"/>
                     <o base=".eolang" line="388" method="" pos="28"/>
                     <o as="0" base=".bytes" line="388" method="" pos="35">
                        <o base="org.eolang.bytes" data="bytes" line="389" pos="20">00 00 00 00 00 00 00 01</o>
                     </o>
                  </o>
               </o>
               <o base="Q" line="393" pos="14"/>
               <o base=".org" line="393" method="" pos="20"/>
               <o base=".eolang" line="393" method="" pos="24"/>
               <o as="1" base=".int" line="393" method="" pos="31">
                  <o base="Q" line="394" pos="16"/>
                  <o base=".org" line="394" method="" pos="22"/>
                  <o base=".eolang" line="394" method="" pos="26"/>
                  <o as="0" base=".bytes" line="394" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="395" pos="18">00 00 00 00 00 00 00 01</o>
                  </o>
               </o>
            </o>
            <o base="Q" line="399" pos="12"/>
            <o base=".org" line="399" method="" pos="18"/>
            <o base=".eolang" line="399" method="" pos="22"/>
            <o as="1" base=".int" line="399" method="" pos="29">
               <o base="Q" line="400" pos="14"/>
               <o base=".org" line="400" method="" pos="20"/>
               <o base=".eolang" line="400" method="" pos="24"/>
               <o as="0" base=".bytes" line="400" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="401" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base="Q" line="405" pos="10"/>
         <o base=".org" line="405" method="" pos="18"/>
         <o base=".eolang" line="405" method="" pos="22"/>
         <o base=".memory" line="405" method="" name="iter" pos="29">
            <o base="Q" line="406" pos="12"/>
            <o base=".org" line="406" method="" pos="18"/>
            <o base=".eolang" line="406" method="" pos="22"/>
            <o as="0" base=".int" line="406" method="" pos="29">
               <o base="Q" line="407" pos="14"/>
               <o base=".org" line="407" method="" pos="20"/>
               <o base=".eolang" line="407" method="" pos="24"/>
               <o as="0" base=".bytes" line="407" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="408" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="Q" line="412" pos="10"/>
         <o base=".org" line="412" method="" pos="17"/>
         <o base=".eolang" line="412" method="" pos="21"/>
         <o base=".memory" line="412" method="" name="acc" pos="28">
            <o base="Q" line="413" pos="12"/>
            <o base=".org" line="413" method="" pos="18"/>
            <o base=".eolang" line="413" method="" pos="22"/>
            <o as="0" base=".int" line="413" method="" pos="29">
               <o base="Q" line="414" pos="14"/>
               <o base=".org" line="414" method="" pos="20"/>
               <o base=".eolang" line="414" method="" pos="24"/>
               <o as="0" base=".bytes" line="414" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="415" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="$" line="419" pos="10"/>
         <o base=".arr" line="419" method="" pos="17"/>
         <o base=".length" line="419" method="" pos="21"/>
         <o base=".minus" line="419" method="" name="max" pos="28">
            <o base="Q" line="420" pos="12"/>
            <o base=".org" line="420" method="" pos="18"/>
            <o base=".eolang" line="420" method="" pos="22"/>
            <o as="0" base=".int" line="420" method="" pos="29">
               <o base="Q" line="421" pos="14"/>
               <o base=".org" line="421" method="" pos="20"/>
               <o base=".eolang" line="421" method="" pos="24"/>
               <o as="0" base=".bytes" line="421" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="422" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base="Q" line="426" pos="10"/>
         <o base=".org" line="426" method="" pos="15"/>
         <o base=".eolang" line="426" method="" pos="19"/>
         <o base=".seq" line="426" method="" name="@" pos="26">
            <o base="Q" line="427" pos="12"/>
            <o base=".org" line="427" method="" pos="18"/>
            <o base=".eolang" line="427" method="" pos="22"/>
            <o as="0" base=".tuple" line="427" method="" pos="29">
               <o base="Q" line="428" pos="14"/>
               <o base=".org" line="428" method="" pos="20"/>
               <o base=".eolang" line="428" method="" pos="24"/>
               <o as="0" base=".tuple" line="428" method="" pos="31">
                  <o base="Q" line="429" pos="16"/>
                  <o base=".org" line="429" method="" pos="22"/>
                  <o base=".eolang" line="429" method="" pos="26"/>
                  <o base=".tuple" line="429" method="" pos="33"/>
                  <o as="0" base=".empty" line="429" method="" pos="39"/>
                  <o base="$" line="430" pos="16"/>
                  <o base=".max" line="430" method="" pos="22"/>
                  <o base=".eq" line="430" method="" pos="26">
                     <o base="Q" line="431" pos="18"/>
                     <o base=".org" line="431" method="" pos="24"/>
                     <o base=".eolang" line="431" method="" pos="28"/>
                     <o as="0" base=".int" line="431" method="" pos="35">
                        <o base="Q" line="432" pos="20"/>
                        <o base=".org" line="432" method="" pos="26"/>
                        <o base=".eolang" line="432" method="" pos="30"/>
                        <o as="0" base=".bytes" line="432" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="433" pos="22">00 00 00 00 00 00 00 00</o>
                        </o>
                     </o>
                  </o>
                  <o as="1" base=".if" line="436" method="" pos="17">
                     <o base="$" line="437" pos="18"/>
                     <o base=".acc" line="437" method="" pos="24"/>
                     <o as="0" base=".write" line="437" method="" pos="28">
                        <o base="$" line="438" pos="20"/>
                        <o base=".acc" line="438" method="" pos="26"/>
                        <o base=".as-int" line="438" method="" pos="30"/>
                        <o as="0" base=".plus" line="438" method="" pos="37">
                           <o base="$" line="439" pos="22"/>
                           <o base=".arr" line="439" method="" pos="28"/>
                           <o as="0" base=".at" line="439" method="" pos="32">
                              <o base="Q" line="440" pos="24"/>
                              <o base=".org" line="440" method="" pos="30"/>
                              <o base=".eolang" line="440" method="" pos="34"/>
                              <o as="0" base=".int" line="440" method="" pos="41">
                                 <o base="Q" line="441" pos="26"/>
                                 <o base=".org" line="441" method="" pos="32"/>
                                 <o base=".eolang" line="441" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="441" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="442" pos="28">00 00 00 00 00 00 00 00</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                     <o base="$" line="448" pos="18"/>
                     <o base=".iter" line="448" method="" pos="24"/>
                     <o base=".as-int" line="448" method="" pos="29"/>
                     <o base=".lt" line="448" method="" pos="36">
                        <o base="$" line="449" pos="20"/>
                        <o as="0" base=".max" line="449" method="" pos="26"/>
                     </o>
                     <o as="1" base=".while" line="450" method="" pos="19">
                        <o abstract="" as="0" line="451" pos="20">
                           <o line="452" name="i" pos="22"/>
                           <o base="Q" line="453" pos="22"/>
                           <o base=".org" line="453" method="" pos="27"/>
                           <o base=".eolang" line="453" method="" pos="31"/>
                           <o base=".seq" line="453" method="" name="@" pos="38">
                              <o base="Q" line="454" pos="24"/>
                              <o base=".org" line="454" method="" pos="30"/>
                              <o base=".eolang" line="454" method="" pos="34"/>
                              <o as="0" base=".tuple" line="454" method="" pos="41">
                                 <o base="Q" line="455" pos="26"/>
                                 <o base=".org" line="455" method="" pos="32"/>
                                 <o base=".eolang" line="455" method="" pos="36"/>
                                 <o as="0" base=".tuple" line="455" method="" pos="43">
                                    <o base="Q" line="456" pos="28"/>
                                    <o base=".org" line="456" method="" pos="34"/>
                                    <o base=".eolang" line="456" method="" pos="38"/>
                                    <o base=".tuple" line="456" method="" pos="45"/>
                                    <o as="0" base=".empty" line="456" method="" pos="51"/>
                                    <o base="$" line="457" pos="28"/>
                                    <o base=".&amp;" line="457" method="" pos="34"/>
                                    <o base=".acc" line="457" method="" pos="36"/>
                                    <o as="1" base=".write" line="457" method="" pos="40">
                                       <o base="$" line="458" pos="30"/>
                                       <o base=".&amp;" line="458" method="" pos="36"/>
                                       <o base=".acc" line="458" method="" pos="38"/>
                                       <o base=".as-int" line="458" method="" pos="42"/>
                                       <o as="0" base=".plus" line="458" method="" pos="49">
                                          <o base="$" line="459" pos="32"/>
                                          <o base=".&amp;" line="459" method="" pos="38"/>
                                          <o base=".arr" line="459" method="" pos="40"/>
                                          <o as="0" base=".at" line="459" method="" pos="44">
                                             <o base="$" line="460" pos="34"/>
                                             <o as="0" base=".i" line="460" method="" pos="40"/>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                                 <o base="$" line="465" pos="26"/>
                                 <o base=".&amp;" line="465" method="" pos="32"/>
                                 <o base=".iter" line="465" method="" pos="34"/>
                                 <o as="1" base=".write" line="465" method="" pos="39">
                                    <o base="$" line="466" pos="28"/>
                                    <o base=".&amp;" line="466" method="" pos="34"/>
                                    <o base=".iter" line="466" method="" pos="36"/>
                                    <o base=".as-int" line="466" method="" pos="41"/>
                                    <o as="0" base=".plus" line="466" method="" pos="48">
                                       <o base="Q" line="467" pos="30"/>
                                       <o base=".org" line="467" method="" pos="36"/>
                                       <o base=".eolang" line="467" method="" pos="40"/>
                                       <o as="0" base=".int" line="467" method="" pos="47">
                                          <o base="Q" line="468" pos="32"/>
                                          <o base=".org" line="468" method="" pos="38"/>
                                          <o base=".eolang" line="468" method="" pos="42"/>
                                          <o as="0" base=".bytes" line="468" method="" pos="49">
                                             <o base="org.eolang.bytes" data="bytes" line="469" pos="34">00 00 00 00 00 00 00 01</o>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                  </o>
               </o>
               <o base="$" line="480" pos="14"/>
               <o base=".acc" line="480" method="" pos="20"/>
               <o base=".as-int" line="480" method="" pos="24"/>
               <o as="1" base=".eq" line="480" method="" pos="31">
                  <o base="$" line="481" pos="16"/>
                  <o base=".arr" line="481" method="" pos="22"/>
                  <o as="0" base=".length" line="481" method="" pos="26"/>
               </o>
            </o>
         </o>
      </o>
      <o abstract=""
         line="486"
         name="iterating-tuple-with-while-using-external-iterator"
         pos="8">
         <o base="Q" line="487" pos="10"/>
         <o base=".org" line="487" method="" pos="17"/>
         <o base=".eolang" line="487" method="" pos="21"/>
         <o base=".tuple" line="487" method="" name="arr" pos="28">
            <o base="Q" line="488" pos="12"/>
            <o base=".org" line="488" method="" pos="18"/>
            <o base=".eolang" line="488" method="" pos="22"/>
            <o as="0" base=".tuple" line="488" method="" pos="29">
               <o base="Q" line="489" pos="14"/>
               <o base=".org" line="489" method="" pos="20"/>
               <o base=".eolang" line="489" method="" pos="24"/>
               <o as="0" base=".tuple" line="489" method="" pos="31">
                  <o base="Q" line="490" pos="16"/>
                  <o base=".org" line="490" method="" pos="22"/>
                  <o base=".eolang" line="490" method="" pos="26"/>
                  <o as="0" base=".tuple" line="490" method="" pos="33">
                     <o base="Q" line="491" pos="18"/>
                     <o base=".org" line="491" method="" pos="24"/>
                     <o base=".eolang" line="491" method="" pos="28"/>
                     <o base=".tuple" line="491" method="" pos="35"/>
                     <o as="0" base=".empty" line="491" method="" pos="41"/>
                     <o base="Q" line="492" pos="18"/>
                     <o base=".org" line="492" method="" pos="24"/>
                     <o base=".eolang" line="492" method="" pos="28"/>
                     <o as="1" base=".int" line="492" method="" pos="35">
                        <o base="Q" line="493" pos="20"/>
                        <o base=".org" line="493" method="" pos="26"/>
                        <o base=".eolang" line="493" method="" pos="30"/>
                        <o as="0" base=".bytes" line="493" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="494" pos="22">00 00 00 00 00 00 00 01</o>
                        </o>
                     </o>
                  </o>
                  <o base="Q" line="498" pos="16"/>
                  <o base=".org" line="498" method="" pos="22"/>
                  <o base=".eolang" line="498" method="" pos="26"/>
                  <o as="1" base=".int" line="498" method="" pos="33">
                     <o base="Q" line="499" pos="18"/>
                     <o base=".org" line="499" method="" pos="24"/>
                     <o base=".eolang" line="499" method="" pos="28"/>
                     <o as="0" base=".bytes" line="499" method="" pos="35">
                        <o base="org.eolang.bytes" data="bytes" line="500" pos="20">00 00 00 00 00 00 00 01</o>
                     </o>
                  </o>
               </o>
               <o base="Q" line="504" pos="14"/>
               <o base=".org" line="504" method="" pos="20"/>
               <o base=".eolang" line="504" method="" pos="24"/>
               <o as="1" base=".int" line="504" method="" pos="31">
                  <o base="Q" line="505" pos="16"/>
                  <o base=".org" line="505" method="" pos="22"/>
                  <o base=".eolang" line="505" method="" pos="26"/>
                  <o as="0" base=".bytes" line="505" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="506" pos="18">00 00 00 00 00 00 00 01</o>
                  </o>
               </o>
            </o>
            <o base="Q" line="510" pos="12"/>
            <o base=".org" line="510" method="" pos="18"/>
            <o base=".eolang" line="510" method="" pos="22"/>
            <o as="1" base=".int" line="510" method="" pos="29">
               <o base="Q" line="511" pos="14"/>
               <o base=".org" line="511" method="" pos="20"/>
               <o base=".eolang" line="511" method="" pos="24"/>
               <o as="0" base=".bytes" line="511" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="512" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base="Q" line="516" pos="10"/>
         <o base=".org" line="516" method="" pos="18"/>
         <o base=".eolang" line="516" method="" pos="22"/>
         <o base=".memory" line="516" method="" name="iter" pos="29">
            <o base="Q" line="517" pos="12"/>
            <o base=".org" line="517" method="" pos="18"/>
            <o base=".eolang" line="517" method="" pos="22"/>
            <o as="0" base=".int" line="517" method="" pos="29">
               <o base="Q" line="518" pos="14"/>
               <o base=".org" line="518" method="" pos="20"/>
               <o base=".eolang" line="518" method="" pos="24"/>
               <o as="0" base=".bytes" line="518" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="519" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="Q" line="523" pos="10"/>
         <o base=".org" line="523" method="" pos="17"/>
         <o base=".eolang" line="523" method="" pos="21"/>
         <o base=".memory" line="523" method="" name="acc" pos="28">
            <o base="Q" line="524" pos="12"/>
            <o base=".org" line="524" method="" pos="18"/>
            <o base=".eolang" line="524" method="" pos="22"/>
            <o as="0" base=".int" line="524" method="" pos="29">
               <o base="Q" line="525" pos="14"/>
               <o base=".org" line="525" method="" pos="20"/>
               <o base=".eolang" line="525" method="" pos="24"/>
               <o as="0" base=".bytes" line="525" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="526" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="$" line="530" pos="10"/>
         <o base=".arr" line="530" method="" pos="17"/>
         <o base=".length" line="530" method="" pos="21"/>
         <o base=".minus" line="530" method="" name="max" pos="28">
            <o base="Q" line="531" pos="12"/>
            <o base=".org" line="531" method="" pos="18"/>
            <o base=".eolang" line="531" method="" pos="22"/>
            <o as="0" base=".int" line="531" method="" pos="29">
               <o base="Q" line="532" pos="14"/>
               <o base=".org" line="532" method="" pos="20"/>
               <o base=".eolang" line="532" method="" pos="24"/>
               <o as="0" base=".bytes" line="532" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="533" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base="Q" line="537" pos="10"/>
         <o base=".org" line="537" method="" pos="17"/>
         <o base=".eolang" line="537" method="" pos="21"/>
         <o base=".seq" line="537" method="" name="nop" pos="28">
            <o base="Q" line="538" pos="12"/>
            <o base=".org" line="538" method="" pos="18"/>
            <o base=".eolang" line="538" method="" pos="22"/>
            <o as="0" base=".tuple" line="538" method="" pos="29">
               <o base="Q" line="539" pos="14"/>
               <o base=".org" line="539" method="" pos="20"/>
               <o base=".eolang" line="539" method="" pos="24"/>
               <o as="0" base=".tuple" line="539" method="" pos="31">
                  <o base="Q" line="540" pos="16"/>
                  <o base=".org" line="540" method="" pos="22"/>
                  <o base=".eolang" line="540" method="" pos="26"/>
                  <o base=".tuple" line="540" method="" pos="33"/>
                  <o as="0" base=".empty" line="540" method="" pos="39"/>
                  <o base="$" line="541" pos="16"/>
                  <o base=".max" line="541" method="" pos="22"/>
                  <o base=".eq" line="541" method="" pos="26">
                     <o base="Q" line="542" pos="18"/>
                     <o base=".org" line="542" method="" pos="24"/>
                     <o base=".eolang" line="542" method="" pos="28"/>
                     <o as="0" base=".int" line="542" method="" pos="35">
                        <o base="Q" line="543" pos="20"/>
                        <o base=".org" line="543" method="" pos="26"/>
                        <o base=".eolang" line="543" method="" pos="30"/>
                        <o as="0" base=".bytes" line="543" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="544" pos="22">00 00 00 00 00 00 00 00</o>
                        </o>
                     </o>
                  </o>
                  <o as="1" base=".if" line="547" method="" pos="17">
                     <o base="$" line="548" pos="18"/>
                     <o base=".acc" line="548" method="" pos="24"/>
                     <o as="0" base=".write" line="548" method="" pos="28">
                        <o base="$" line="549" pos="20"/>
                        <o base=".acc" line="549" method="" pos="26"/>
                        <o base=".as-int" line="549" method="" pos="30"/>
                        <o as="0" base=".plus" line="549" method="" pos="37">
                           <o base="$" line="550" pos="22"/>
                           <o base=".arr" line="550" method="" pos="28"/>
                           <o as="0" base=".at" line="550" method="" pos="32">
                              <o base="Q" line="551" pos="24"/>
                              <o base=".org" line="551" method="" pos="30"/>
                              <o base=".eolang" line="551" method="" pos="34"/>
                              <o as="0" base=".int" line="551" method="" pos="41">
                                 <o base="Q" line="552" pos="26"/>
                                 <o base=".org" line="552" method="" pos="32"/>
                                 <o base=".eolang" line="552" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="552" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="553" pos="28">00 00 00 00 00 00 00 00</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                     <o base="$" line="559" pos="18"/>
                     <o base=".iter" line="559" method="" pos="24"/>
                     <o base=".as-int" line="559" method="" pos="29"/>
                     <o base=".lt" line="559" method="" pos="36">
                        <o base="$" line="560" pos="20"/>
                        <o as="0" base=".max" line="560" method="" pos="26"/>
                     </o>
                     <o as="1" base=".while" line="561" method="" pos="19">
                        <o abstract="" as="0" line="562" pos="20">
                           <o line="563" name="i" pos="22"/>
                           <o base="Q" line="564" pos="22"/>
                           <o base=".org" line="564" method="" pos="27"/>
                           <o base=".eolang" line="564" method="" pos="31"/>
                           <o base=".seq" line="564" method="" name="@" pos="38">
                              <o base="Q" line="565" pos="24"/>
                              <o base=".org" line="565" method="" pos="30"/>
                              <o base=".eolang" line="565" method="" pos="34"/>
                              <o as="0" base=".tuple" line="565" method="" pos="41">
                                 <o base="Q" line="566" pos="26"/>
                                 <o base=".org" line="566" method="" pos="32"/>
                                 <o base=".eolang" line="566" method="" pos="36"/>
                                 <o as="0" base=".tuple" line="566" method="" pos="43">
                                    <o base="Q" line="567" pos="28"/>
                                    <o base=".org" line="567" method="" pos="34"/>
                                    <o base=".eolang" line="567" method="" pos="38"/>
                                    <o base=".tuple" line="567" method="" pos="45"/>
                                    <o as="0" base=".empty" line="567" method="" pos="51"/>
                                    <o base="$" line="568" pos="28"/>
                                    <o base=".&amp;" line="568" method="" pos="34"/>
                                    <o base=".acc" line="568" method="" pos="36"/>
                                    <o as="1" base=".write" line="568" method="" pos="40">
                                       <o base="$" line="569" pos="30"/>
                                       <o base=".&amp;" line="569" method="" pos="36"/>
                                       <o base=".acc" line="569" method="" pos="38"/>
                                       <o base=".as-int" line="569" method="" pos="42"/>
                                       <o as="0" base=".plus" line="569" method="" pos="49">
                                          <o base="$" line="570" pos="32"/>
                                          <o base=".&amp;" line="570" method="" pos="38"/>
                                          <o base=".arr" line="570" method="" pos="40"/>
                                          <o as="0" base=".at" line="570" method="" pos="44">
                                             <o base="$" line="571" pos="34"/>
                                             <o base=".&amp;" line="571" method="" pos="40"/>
                                             <o base=".iter" line="571" method="" pos="42"/>
                                             <o as="0" base=".as-int" line="571" method="" pos="47"/>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                                 <o base="$" line="576" pos="26"/>
                                 <o base=".&amp;" line="576" method="" pos="32"/>
                                 <o base=".iter" line="576" method="" pos="34"/>
                                 <o as="1" base=".write" line="576" method="" pos="39">
                                    <o base="$" line="577" pos="28"/>
                                    <o base=".&amp;" line="577" method="" pos="34"/>
                                    <o base=".iter" line="577" method="" pos="36"/>
                                    <o base=".as-int" line="577" method="" pos="41"/>
                                    <o as="0" base=".plus" line="577" method="" pos="48">
                                       <o base="Q" line="578" pos="30"/>
                                       <o base=".org" line="578" method="" pos="36"/>
                                       <o base=".eolang" line="578" method="" pos="40"/>
                                       <o as="0" base=".int" line="578" method="" pos="47">
                                          <o base="Q" line="579" pos="32"/>
                                          <o base=".org" line="579" method="" pos="38"/>
                                          <o base=".eolang" line="579" method="" pos="42"/>
                                          <o as="0" base=".bytes" line="579" method="" pos="49">
                                             <o base="org.eolang.bytes" data="bytes" line="580" pos="34">00 00 00 00 00 00 00 01</o>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                              </o>
                           </o>
                        </o>
                     </o>
                  </o>
               </o>
               <o base="$" line="591" pos="14"/>
               <o base=".acc" line="591" method="" pos="20"/>
               <o base=".as-int" line="591" method="" pos="24"/>
               <o as="1" base=".eq" line="591" method="" pos="31">
                  <o base="$" line="592" pos="16"/>
                  <o base=".arr" line="592" method="" pos="22"/>
                  <o as="0" base=".length" line="592" method="" pos="26"/>
               </o>
            </o>
         </o>
         <o base="Q" line="596" pos="10"/>
         <o base=".org" line="596" method="" pos="15"/>
         <o base=".eolang" line="596" method="" pos="19"/>
         <o base=".bool" line="596" method="" name="@" pos="26">
            <o base="Q" line="597" pos="12"/>
            <o base=".org" line="597" method="" pos="18"/>
            <o base=".eolang" line="597" method="" pos="22"/>
            <o as="0" base=".bytes" line="597" method="" pos="29">
               <o base="org.eolang.bytes" data="bytes" line="598" pos="14">01</o>
            </o>
         </o>
      </o>
      <o line="602" ms="1064" pos="8">
         <o base="Q" line="603" pos="10"/>
         <o base=".org" line="603" method="" pos="17"/>
         <o base=".eolang" line="603" method="" pos="21"/>
         <o base=".tuple" line="603" method="" name="arr" pos="28">
            <o base="Q" line="604" pos="12"/>
            <o base=".org" line="604" method="" pos="18"/>
            <o base=".eolang" line="604" method="" pos="22"/>
            <o as="0" base=".tuple" line="604" method="" pos="29">
               <o base="Q" line="605" pos="14"/>
               <o base=".org" line="605" method="" pos="20"/>
               <o base=".eolang" line="605" method="" pos="24"/>
               <o as="0" base=".tuple" line="605" method="" pos="31">
                  <o base="Q" line="606" pos="16"/>
                  <o base=".org" line="606" method="" pos="22"/>
                  <o base=".eolang" line="606" method="" pos="26"/>
                  <o as="0" base=".tuple" line="606" method="" pos="33">
                     <o base="Q" line="607" pos="18"/>
                     <o base=".org" line="607" method="" pos="24"/>
                     <o base=".eolang" line="607" method="" pos="28"/>
                     <o base=".tuple" line="607" method="" pos="35"/>
                     <o as="0" base=".empty" line="607" method="" pos="41"/>
                     <o base="Q" line="608" pos="18"/>
                     <o base=".org" line="608" method="" pos="24"/>
                     <o base=".eolang" line="608" method="" pos="28"/>
                     <o as="1" base=".int" line="608" method="" pos="35">
                        <o base="Q" line="609" pos="20"/>
                        <o base=".org" line="609" method="" pos="26"/>
                        <o base=".eolang" line="609" method="" pos="30"/>
                        <o as="0" base=".bytes" line="609" method="" pos="37">
                           <o base="org.eolang.bytes" data="bytes" line="610" pos="22">00 00 00 00 00 00 00 01</o>
                        </o>
                     </o>
                  </o>
                  <o base="Q" line="614" pos="16"/>
                  <o base=".org" line="614" method="" pos="22"/>
                  <o base=".eolang" line="614" method="" pos="26"/>
                  <o as="1" base=".int" line="614" method="" pos="33">
                     <o base="Q" line="615" pos="18"/>
                     <o base=".org" line="615" method="" pos="24"/>
                     <o base=".eolang" line="615" method="" pos="28"/>
                     <o as="0" base=".bytes" line="615" method="" pos="35">
                        <o base="org.eolang.bytes" data="bytes" line="616" pos="20">00 00 00 00 00 00 00 01</o>
                     </o>
                  </o>
               </o>
               <o base="Q" line="620" pos="14"/>
               <o base=".org" line="620" method="" pos="20"/>
               <o base=".eolang" line="620" method="" pos="24"/>
               <o as="1" base=".int" line="620" method="" pos="31">
                  <o base="Q" line="621" pos="16"/>
                  <o base=".org" line="621" method="" pos="22"/>
                  <o base=".eolang" line="621" method="" pos="26"/>
                  <o as="0" base=".bytes" line="621" method="" pos="33">
                     <o base="org.eolang.bytes" data="bytes" line="622" pos="18">00 00 00 00 00 00 00 01</o>
                  </o>
               </o>
            </o>
            <o base="Q" line="626" pos="12"/>
            <o base=".org" line="626" method="" pos="18"/>
            <o base=".eolang" line="626" method="" pos="22"/>
            <o as="1" base=".int" line="626" method="" pos="29">
               <o base="Q" line="627" pos="14"/>
               <o base=".org" line="627" method="" pos="20"/>
               <o base=".eolang" line="627" method="" pos="24"/>
               <o as="0" base=".bytes" line="627" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="628" pos="16">00 00 00 00 00 00 00 01</o>
               </o>
            </o>
         </o>
         <o base="Q" line="632" pos="10"/>
         <o base=".org" line="632" method="" pos="18"/>
         <o base=".eolang" line="632" method="" pos="22"/>
         <o base=".memory" line="632" method="" name="iter" pos="29">
            <o base="Q" line="633" pos="12"/>
            <o base=".org" line="633" method="" pos="18"/>
            <o base=".eolang" line="633" method="" pos="22"/>
            <o as="0" base=".int" line="633" method="" pos="29">
               <o base="Q" line="634" pos="14"/>
               <o base=".org" line="634" method="" pos="20"/>
               <o base=".eolang" line="634" method="" pos="24"/>
               <o as="0" base=".bytes" line="634" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="635" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="Q" line="639" pos="10"/>
         <o base=".org" line="639" method="" pos="17"/>
         <o base=".eolang" line="639" method="" pos="21"/>
         <o base=".memory" line="639" method="" name="acc" pos="28">
            <o base="Q" line="640" pos="12"/>
            <o base=".org" line="640" method="" pos="18"/>
            <o base=".eolang" line="640" method="" pos="22"/>
            <o as="0" base=".int" line="640" method="" pos="29">
               <o base="Q" line="641" pos="14"/>
               <o base=".org" line="641" method="" pos="20"/>
               <o base=".eolang" line="641" method="" pos="24"/>
               <o as="0" base=".bytes" line="641" method="" pos="31">
                  <o base="org.eolang.bytes" data="bytes" line="642" pos="16">00 00 00 00 00 00 00 00</o>
               </o>
            </o>
         </o>
         <o base="$" line="646" pos="10"/>
         <o base=".arr" line="646" method="" pos="17"/>
         <o base=".length" line="646" method="" name="max" pos="21"/>
         <o base="Q" line="647" pos="10"/>
         <o base=".org" line="647" method="" pos="15"/>
         <o base=".eolang" line="647" method="" pos="19"/>
         <o abstract=""
            base=".seq"
            line="647"
            method=""
            name="eolang"
            pos="26">
            <o base="Q" line="648" pos="12"/>
            <o base=".org" line="648" method="" pos="18"/>
            <o base=".eolang" line="648" method="" pos="22"/>
            <o as="0" base=".tuple" line="648" method="" pos="29">
               <o base="Q" line="649" pos="14"/>
               <o base=".org" line="649" method="" pos="20"/>
               <o base=".eolang" line="649" method="" pos="24"/>
               <o as="0" base=".tuple" line="649" method="" pos="31">
                  <o base="Q" line="650" pos="16"/>
                  <o base=".org" line="650" method="" pos="22"/>
                  <o base=".eolang" line="650" method="" pos="26"/>
                  <o base=".tuple" line="650" method="" pos="33"/>
                  <o as="0" base=".empty" line="650" method="" pos="39"/>
                  <o abstract="" as="1" line="651" pos="16">
                     <o base="$" line="652" pos="18"/>
                     <o base=".&amp;" line="652" method="" pos="23"/>
                     <o base=".iter" line="652" method="" pos="25"/>
                     <o base=".as-int" line="652" method="" pos="30"/>
                     <o base=".lt" line="652" method="" pos="37">
                        <o base="$" line="653" pos="20"/>
                        <o base=".&amp;" line="653" method="" pos="26"/>
                        <o as="0" base=".max" line="653" method="" pos="28"/>
                     </o>
                     <o base=".if" line="654" method="" name="@" pos="19">
                        <o base="Q" line="655" pos="20"/>
                        <o base=".org" line="655" method="" pos="26"/>
                        <o base=".eolang" line="655" method="" pos="30"/>
                        <o as="0" base=".seq" line="655" method="" pos="37">
                           <o base="Q" line="656" pos="22"/>
                           <o base=".org" line="656" method="" pos="28"/>
                           <o base=".eolang" line="656" method="" pos="32"/>
                           <o as="0" base=".tuple" line="656" method="" pos="39">
                              <o base="Q" line="657" pos="24"/>
                              <o base=".org" line="657" method="" pos="30"/>
                              <o base=".eolang" line="657" method="" pos="34"/>
                              <o as="0" base=".tuple" line="657" method="" pos="41">
                                 <o base="Q" line="658" pos="26"/>
                                 <o base=".org" line="658" method="" pos="32"/>
                                 <o base=".eolang" line="658" method="" pos="36"/>
                                 <o as="0" base=".tuple" line="658" method="" pos="43">
                                    <o base="Q" line="659" pos="28"/>
                                    <o base=".org" line="659" method="" pos="34"/>
                                    <o base=".eolang" line="659" method="" pos="38"/>
                                    <o base=".tuple" line="659" method="" pos="45"/>
                                    <o as="0" base=".empty" line="659" method="" pos="51"/>
                                    <o base="$" line="660" pos="28"/>
                                    <o base=".&amp;" line="660" method="" pos="34"/>
                                    <o base=".acc" line="660" method="" pos="36"/>
                                    <o as="1" base=".write" line="660" method="" pos="40">
                                       <o base="$" line="661" pos="30"/>
                                       <o base=".&amp;" line="661" method="" pos="36"/>
                                       <o base=".acc" line="661" method="" pos="38"/>
                                       <o base=".as-int" line="661" method="" pos="42"/>
                                       <o as="0" base=".plus" line="661" method="" pos="49">
                                          <o base="$" line="662" pos="32"/>
                                          <o base=".&amp;" line="662" method="" pos="38"/>
                                          <o base=".arr" line="662" method="" pos="40"/>
                                          <o as="0" base=".at" line="662" method="" pos="44">
                                             <o base="$" line="663" pos="34"/>
                                             <o base=".&amp;" line="663" method="" pos="40"/>
                                             <o base=".iter" line="663" method="" pos="42"/>
                                             <o as="0" base=".as-int" line="663" method="" pos="47"/>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                                 <o base="$" line="668" pos="26"/>
                                 <o base=".&amp;" line="668" method="" pos="32"/>
                                 <o base=".iter" line="668" method="" pos="34"/>
                                 <o as="1" base=".write" line="668" method="" pos="39">
                                    <o base="$" line="669" pos="28"/>
                                    <o base=".&amp;" line="669" method="" pos="34"/>
                                    <o base=".iter" line="669" method="" pos="36"/>
                                    <o base=".as-int" line="669" method="" pos="41"/>
                                    <o as="0" base=".plus" line="669" method="" pos="48">
                                       <o base="Q" line="670" pos="30"/>
                                       <o base=".org" line="670" method="" pos="36"/>
                                       <o base=".eolang" line="670" method="" pos="40"/>
                                       <o as="0" base=".int" line="670" method="" pos="47">
                                          <o base="Q" line="671" pos="32"/>
                                          <o base=".org" line="671" method="" pos="38"/>
                                          <o base=".eolang" line="671" method="" pos="42"/>
                                          <o as="0" base=".bytes" line="671" method="" pos="49">
                                             <o base="org.eolang.bytes" data="bytes" line="672" pos="34">00 00 00 00 00 00 00 01</o>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                              </o>
                              <o base="Q" line="678" pos="24"/>
                              <o base=".org" line="678" method="" pos="30"/>
                              <o base=".eolang" line="678" method="" pos="34"/>
                              <o as="1" base=".bool" line="678" method="" pos="41">
                                 <o base="Q" line="679" pos="26"/>
                                 <o base=".org" line="679" method="" pos="32"/>
                                 <o base=".eolang" line="679" method="" pos="36"/>
                                 <o as="0" base=".bytes" line="679" method="" pos="43">
                                    <o base="org.eolang.bytes" data="bytes" line="680" pos="28">01</o>
                                 </o>
                              </o>
                           </o>
                        </o>
                        <o base="Q" line="685" pos="20"/>
                        <o base=".org" line="685" method="" pos="26"/>
                        <o base=".eolang" line="685" method="" pos="30"/>
                        <o as="1" base=".bool" line="685" method="" pos="37">
                           <o base="Q" line="686" pos="22"/>
                           <o base=".org" line="686" method="" pos="28"/>
                           <o base=".eolang" line="686" method="" pos="32"/>
                           <o as="0" base=".bytes" line="686" method="" pos="39">
                              <o base="org.eolang.bytes" data="bytes" line="687" pos="24">00</o>
                           </o>
                        </o>
                     </o>
                     <o as="iterating-tuple-with-while-without-body-multiple"
                        base=".while"
                        line="691"
                        method=""
                        pos="17">
                        <o base="Q" line="692" pos="18"/>
                        <o base=".org" line="692" method="" pos="24"/>
                        <o base=".eolang" line="692" method="" pos="28"/>
                        <o as="0" base=".nop" line="692" method="" pos="35"/>
                     </o>
                  </o>
                  <o base="$" line="695" pos="14"/>
                  <o base=".acc" line="695" method="" pos="20"/>
                  <o base=".as-int" line="695" method="" pos="24"/>
                  <o as="1" base=".eq" line="695" method="" pos="31">
                     <o base="$" line="696" pos="16"/>
                     <o base=".arr" line="696" method="" pos="22"/>
                     <o as="0" base=".length" line="696" method="" pos="26"/>
                  </o>
               </o>
            </o>
         </o>
         <o line="701" pos="8">
            <o base="Q" line="702" pos="10"/>
            <o base=".org" line="702" method="" pos="17"/>
            <o base=".eolang" line="702" method="" pos="21"/>
            <o base=".tuple" line="702" method="" name="arr" pos="28">
               <o base="Q" line="703" pos="12"/>
               <o base=".org" line="703" method="" pos="18"/>
               <o base=".eolang" line="703" method="" pos="22"/>
               <o base=".tuple" line="703" method="" pos="29"/>
               <o as="0" base=".empty" line="703" method="" pos="35"/>
               <o base="Q" line="704" pos="12"/>
               <o base=".org" line="704" method="" pos="18"/>
               <o base=".eolang" line="704" method="" pos="22"/>
               <o as="1" base=".int" line="704" method="" pos="29">
                  <o base="Q" line="705" pos="14"/>
                  <o base=".org" line="705" method="" pos="20"/>
                  <o base=".eolang" line="705" method="" pos="24"/>
                  <o as="0" base=".bytes" line="705" method="" pos="31">
                     <o base="org.eolang.bytes" data="bytes" line="706" pos="16">00 00 00 00 00 00 00 01</o>
                  </o>
               </o>
            </o>
            <o base="Q" line="710" pos="10"/>
            <o base=".org" line="710" method="" pos="18"/>
            <o base=".eolang" line="710" method="" pos="22"/>
            <o base=".memory" line="710" method="" name="iter" pos="29">
               <o base="Q" line="711" pos="12"/>
               <o base=".org" line="711" method="" pos="18"/>
               <o base=".eolang" line="711" method="" pos="22"/>
               <o as="0" base=".int" line="711" method="" pos="29">
                  <o base="Q" line="712" pos="14"/>
                  <o base=".org" line="712" method="" pos="20"/>
                  <o base=".eolang" line="712" method="" pos="24"/>
                  <o as="0" base=".bytes" line="712" method="" pos="31">
                     <o base="org.eolang.bytes" data="bytes" line="713" pos="16">00 00 00 00 00 00 00 00</o>
                  </o>
               </o>
            </o>
            <o base="Q" line="717" pos="10"/>
            <o base=".org" line="717" method="" pos="17"/>
            <o base=".eolang" line="717" method="" pos="21"/>
            <o base=".memory" line="717" method="" name="acc" pos="28">
               <o base="Q" line="718" pos="12"/>
               <o base=".org" line="718" method="" pos="18"/>
               <o base=".eolang" line="718" method="" pos="22"/>
               <o as="0" base=".int" line="718" method="" pos="29">
                  <o base="Q" line="719" pos="14"/>
                  <o base=".org" line="719" method="" pos="20"/>
                  <o base=".eolang" line="719" method="" pos="24"/>
                  <o as="0" base=".bytes" line="719" method="" pos="31">
                     <o base="org.eolang.bytes" data="bytes" line="720" pos="16">00 00 00 00 00 00 00 00</o>
                  </o>
               </o>
            </o>
            <o base="$" line="724" pos="10"/>
            <o base=".arr" line="724" method="" pos="17"/>
            <o base=".length" line="724" method="" name="max" pos="21"/>
            <o base="Q" line="725" pos="10"/>
            <o base=".org" line="725" method="" pos="17"/>
            <o base=".eolang" line="725" method="" pos="21"/>
            <o abstract=""
               base=".seq"
               line="725"
               method=""
               name="org"
               pos="28">
               <o base="Q" line="726" pos="12"/>
               <o base=".org" line="726" method="" pos="18"/>
               <o base=".eolang" line="726" method="" pos="22"/>
               <o as="0" base=".tuple" line="726" method="" pos="29">
                  <o base="Q" line="727" pos="14"/>
                  <o base=".org" line="727" method="" pos="20"/>
                  <o base=".eolang" line="727" method="" pos="24"/>
                  <o as="0" base=".tuple" line="727" method="" pos="31">
                     <o base="Q" line="728" pos="16"/>
                     <o base=".org" line="728" method="" pos="22"/>
                     <o base=".eolang" line="728" method="" pos="26"/>
                     <o base=".tuple" line="728" method="" pos="33"/>
                     <o as="0" base=".empty" line="728" method="" pos="39"/>
                     <o abstract="" as="1" line="729" pos="16">
                        <o base="$" line="730" pos="18"/>
                        <o base=".&amp;" line="730" method="" pos="23"/>
                        <o base=".iter" line="730" method="" pos="25"/>
                        <o base=".as-int" line="730" method="" pos="30"/>
                        <o base=".lt" line="730" method="" pos="37">
                           <o base="$" line="731" pos="20"/>
                           <o base=".&amp;" line="731" method="" pos="26"/>
                           <o as="0" base=".max" line="731" method="" pos="28"/>
                        </o>
                        <o base=".if" line="732" method="" name="@" pos="19">
                           <o base="Q" line="733" pos="20"/>
                           <o base=".org" line="733" method="" pos="26"/>
                           <o base=".eolang" line="733" method="" pos="30"/>
                           <o as="0" base=".seq" line="733" method="" pos="37">
                              <o base="Q" line="734" pos="22"/>
                              <o base=".org" line="734" method="" pos="28"/>
                              <o base=".eolang" line="734" method="" pos="32"/>
                              <o as="0" base=".tuple" line="734" method="" pos="39">
                                 <o base="Q" line="735" pos="24"/>
                                 <o base=".org" line="735" method="" pos="30"/>
                                 <o base=".eolang" line="735" method="" pos="34"/>
                                 <o as="0" base=".tuple" line="735" method="" pos="41">
                                    <o base="Q" line="736" pos="26"/>
                                    <o base=".org" line="736" method="" pos="32"/>
                                    <o base=".eolang" line="736" method="" pos="36"/>
                                    <o as="0" base=".tuple" line="736" method="" pos="43">
                                       <o base="Q" line="737" pos="28"/>
                                       <o base=".org" line="737" method="" pos="34"/>
                                       <o base=".eolang" line="737" method="" pos="38"/>
                                       <o base=".tuple" line="737" method="" pos="45"/>
                                       <o as="0" base=".empty" line="737" method="" pos="51"/>
                                       <o base="$" line="738" pos="28"/>
                                       <o base=".&amp;" line="738" method="" pos="34"/>
                                       <o base=".acc" line="738" method="" pos="36"/>
                                       <o as="1" base=".write" line="738" method="" pos="40">
                                          <o base="$" line="739" pos="30"/>
                                          <o base=".&amp;" line="739" method="" pos="36"/>
                                          <o base=".acc" line="739" method="" pos="38"/>
                                          <o base=".as-int" line="739" method="" pos="42"/>
                                          <o as="0" base=".plus" line="739" method="" pos="49">
                                             <o base="$" line="740" pos="32"/>
                                             <o base=".&amp;" line="740" method="" pos="38"/>
                                             <o base=".arr" line="740" method="" pos="40"/>
                                             <o as="0" base=".at" line="740" method="" pos="44">
                                                <o base="$" line="741" pos="34"/>
                                                <o base=".&amp;" line="741" method="" pos="40"/>
                                                <o base=".iter" line="741" method="" pos="42"/>
                                                <o as="0" base=".as-int" line="741" method="" pos="47"/>
                                             </o>
                                          </o>
                                       </o>
                                    </o>
                                    <o base="$" line="746" pos="26"/>
                                    <o base=".&amp;" line="746" method="" pos="32"/>
                                    <o base=".iter" line="746" method="" pos="34"/>
                                    <o as="1" base=".write" line="746" method="" pos="39">
                                       <o base="$" line="747" pos="28"/>
                                       <o base=".&amp;" line="747" method="" pos="34"/>
                                       <o base=".iter" line="747" method="" pos="36"/>
                                       <o base=".as-int" line="747" method="" pos="41"/>
                                       <o as="0" base=".plus" line="747" method="" pos="48">
                                          <o base="Q" line="748" pos="30"/>
                                          <o base=".org" line="748" method="" pos="36"/>
                                          <o base=".eolang" line="748" method="" pos="40"/>
                                          <o as="0" base=".int" line="748" method="" pos="47">
                                             <o base="Q" line="749" pos="32"/>
                                             <o base=".org" line="749" method="" pos="38"/>
                                             <o base=".eolang" line="749" method="" pos="42"/>
                                             <o as="0" base=".bytes" line="749" method="" pos="49">
                                                <o base="org.eolang.bytes" data="bytes" line="750" pos="34">00 00 00 00 00 00 00 01</o>
                                             </o>
                                          </o>
                                       </o>
                                    </o>
                                 </o>
                                 <o base="Q" line="756" pos="24"/>
                                 <o base=".org" line="756" method="" pos="30"/>
                                 <o base=".eolang" line="756" method="" pos="34"/>
                                 <o as="1" base=".bool" line="756" method="" pos="41">
                                    <o base="Q" line="757" pos="26"/>
                                    <o base=".org" line="757" method="" pos="32"/>
                                    <o base=".eolang" line="757" method="" pos="36"/>
                                    <o as="0" base=".bytes" line="757" method="" pos="43">
                                       <o base="org.eolang.bytes" data="bytes" line="758" pos="28">01</o>
                                    </o>
                                 </o>
                              </o>
                           </o>
                           <o base="Q" line="763" pos="20"/>
                           <o base=".org" line="763" method="" pos="26"/>
                           <o base=".eolang" line="763" method="" pos="30"/>
                           <o as="1" base=".bool" line="763" method="" pos="37">
                              <o base="Q" line="764" pos="22"/>
                              <o base=".org" line="764" method="" pos="28"/>
                              <o base=".eolang" line="764" method="" pos="32"/>
                              <o as="0" base=".bytes" line="764" method="" pos="39">
                                 <o base="org.eolang.bytes" data="bytes" line="765" pos="24">00</o>
                              </o>
                           </o>
                        </o>
                        <o as="iterating-tuple-with-while-without-body-single"
                           base=".while"
                           line="769"
                           method=""
                           pos="17">
                           <o base="$" line="770" pos="18"/>
                           <o as="0" base=".nop" line="770" method="" pos="24"/>
                        </o>
                     </o>
                     <o base="$" line="773" pos="14"/>
                     <o base=".acc" line="773" method="" pos="20"/>
                     <o base=".as-int" line="773" method="" pos="24"/>
                     <o as="1" base=".eq" line="773" method="" pos="31">
                        <o base="$" line="774" pos="16"/>
                        <o base=".arr" line="774" method="" pos="22"/>
                        <o as="0" base=".length" line="774" method="" pos="26"/>
                     </o>
                  </o>
               </o>
               <o base="Q" line="778" pos="10"/>
               <o base=".org" line="778" method="" pos="15"/>
               <o base=".eolang" line="778" method="" pos="19"/>
               <o base=".bool" line="778" method="" name="@" pos="26">
                  <o base="Q" line="779" pos="12"/>
                  <o base=".org" line="779" method="" pos="18"/>
                  <o base=".eolang" line="779" method="" pos="22"/>
                  <o as="0" base=".bytes" line="779" method="" pos="29">
                     <o base="org.eolang.bytes" data="bytes" line="780" pos="14">01</o>
                  </o>
               </o>
            </o>
         </o>
      </o>
   </objects>
</program>

[ERROR] XSD failure at #-1:-1 cvc-complex-type.4: Attribute 'ms' must appear on element 'program'.
[ERROR] XSD failure at #-1:-1 cvc-complex-type.4: Attribute 'ms' must appear on element 'program'.
[ERROR] XSD failure at #-1:-1 cvc-complex-type.3.2.2: Attribute 'ms' is not allowed to appear in element 'o'.
[ERROR] There are 3 XSD violation(s), see the log.
[ERROR] Failed to execute goal org.eolang:eo-maven-plugin:0.35.8:phi-to-xmir (default-cli) on project eoc: 'org.eolang.maven.UnphiMojo@65383667' execution failed: java.io.UncheckedIOException: java.io.IOException: java.util.concurrent.ExecutionException: java.lang.IllegalStateException: There are 3 XSD violation(s), see the log -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
The command "/home/eyjafjallajokull/Desktop/gh/normalizer/node_modules/eolang/mvnw/mvnw eo:phi-to-xmir -Deo.version=0.35.8 -Deo.hash=130afdd1456a0cbafd52aee8d7bc612e1faac547 --quiet -Deo.sourcesDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi -Deo.targetDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc -Deo.outputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/classes -Deo.generatedDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/generated-sources -Deo.placed=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/eo-placed.csv -Deo.placedFormat=csv -Deo.unphiInputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/phi -Deo.unphiOutputDir=/home/eyjafjallajokull/Desktop/gh/normalizer/pipeline/phi/.eoc/unphi -Deo.unphiMetas=+tests --batch-mode --color=never --update-snapshots --fail-fast --strict-checksums" exited with #1 code

@maxonfjvipon
Copy link
Member

@deemp there's a bug in our phi parser.

@yegor256
Copy link
Member

yegor256 commented Mar 7, 2024

@maxonfjvipon @deemp maybe it's better to close this issue and report new problems in separate issues?

@maxonfjvipon
Copy link
Member

@yegor256 I agree

@maxonfjvipon
Copy link
Member

@yegor256 Done: #2930
@deemp let's close this issue

@deemp
Copy link
Member Author

deemp commented Mar 8, 2024

Okay

@deemp deemp closed this as completed Mar 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants