From edfa9d31c8daa2ea6d98dc330f3164139c60e0f9 Mon Sep 17 00:00:00 2001 From: maxonfjvipon Date: Wed, 19 Feb 2025 15:30:51 +0300 Subject: [PATCH] bug(#3674): alpha --- .../org/eolang/maven/shake/set-locators.xsl | 9 +- .../org/eolang/maven/transpile/attrs.xsl | 5 +- .../org/eolang/maven/transpile/to-java.xsl | 31 ++-- .../java/org/eolang/parser/DrProgram.java | 4 +- .../java/org/eolang/parser/XeEoListener.java | 2 +- .../resources/org/eolang/parser/_funcs.xsl | 3 +- .../resources/org/eolang/parser/_specials.xsl | 51 ++++++ .../org/eolang/parser/parse/build-fqns.xsl | 2 +- .../org/eolang/parser/phi/to-phi.xsl | 153 ++++++------------ .../org/eolang/parser/phi/to-salty-phi.xsl | 122 +++++--------- .../java/org/eolang/parser/PhiSyntaxTest.java | 3 + .../parser/eo-syntax/auto-named-abstract.yaml | 6 +- .../eolang/parser/phi-packs/auto-named.yaml | 8 +- 13 files changed, 176 insertions(+), 223 deletions(-) create mode 100644 eo-parser/src/main/resources/org/eolang/parser/_specials.xsl diff --git a/eo-maven-plugin/src/main/resources/org/eolang/maven/shake/set-locators.xsl b/eo-maven-plugin/src/main/resources/org/eolang/maven/shake/set-locators.xsl index 3d5f158c70..d2f5a08b59 100644 --- a/eo-maven-plugin/src/main/resources/org/eolang/maven/shake/set-locators.xsl +++ b/eo-maven-plugin/src/main/resources/org/eolang/maven/shake/set-locators.xsl @@ -29,6 +29,7 @@ SOFTWARE. of the object. --> + @@ -43,7 +44,7 @@ SOFTWARE. - Φ + . @@ -55,7 +56,7 @@ SOFTWARE. - φ + @@ -65,10 +66,10 @@ SOFTWARE. - ρ + - α + diff --git a/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/attrs.xsl b/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/attrs.xsl index e461cce509..e42e7a3d4b 100644 --- a/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/attrs.xsl +++ b/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/attrs.xsl @@ -24,6 +24,7 @@ SOFTWARE. --> + @@ -38,10 +39,10 @@ SOFTWARE. - + bound - + void diff --git a/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/to-java.xsl b/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/to-java.xsl index bdbaac29db..1cf6f1e87f 100644 --- a/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/to-java.xsl +++ b/eo-maven-plugin/src/main/resources/org/eolang/maven/transpile/to-java.xsl @@ -24,39 +24,32 @@ SOFTWARE. --> + - - - - ρ - - - φ - - - α + + - + - + - + @@ -102,7 +95,7 @@ SOFTWARE. - + @@ -158,7 +151,7 @@ SOFTWARE. .take(" - + "); @@ -501,7 +494,7 @@ SOFTWARE. (); - + @@ -558,7 +551,7 @@ SOFTWARE. - + Dispatching alpha attributes is not supported in EO yet, found: @@ -647,8 +640,8 @@ SOFTWARE. - - + + " diff --git a/eo-parser/src/main/java/org/eolang/parser/DrProgram.java b/eo-parser/src/main/java/org/eolang/parser/DrProgram.java index c277e59243..379a5eb22f 100644 --- a/eo-parser/src/main/java/org/eolang/parser/DrProgram.java +++ b/eo-parser/src/main/java/org/eolang/parser/DrProgram.java @@ -38,7 +38,7 @@ * * @since 0.44.0 */ -public final class DrProgram implements Iterable { +final class DrProgram implements Iterable { /** * Name of the program. @@ -49,7 +49,7 @@ public final class DrProgram implements Iterable { * Ctor. * @param nme Name of the program */ - public DrProgram(final String nme) { + DrProgram(final String nme) { this.name = nme; } diff --git a/eo-parser/src/main/java/org/eolang/parser/XeEoListener.java b/eo-parser/src/main/java/org/eolang/parser/XeEoListener.java index 77639d110a..a56b8ec1c5 100644 --- a/eo-parser/src/main/java/org/eolang/parser/XeEoListener.java +++ b/eo-parser/src/main/java/org/eolang/parser/XeEoListener.java @@ -1032,7 +1032,7 @@ public void enterAname(final EoParser.AnameContext ctx) { .prop( "name", String.format( - "auto-named-attr-at-%d-%d", + "α%d%d", ctx.getStart().getLine(), ctx.getStart().getCharPositionInLine() ) diff --git a/eo-parser/src/main/resources/org/eolang/parser/_funcs.xsl b/eo-parser/src/main/resources/org/eolang/parser/_funcs.xsl index 0e75d8a4bc..86aec4c8e7 100644 --- a/eo-parser/src/main/resources/org/eolang/parser/_funcs.xsl +++ b/eo-parser/src/main/resources/org/eolang/parser/_funcs.xsl @@ -23,6 +23,7 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. --> + @@ -33,7 +34,7 @@ SOFTWARE. - + diff --git a/eo-parser/src/main/resources/org/eolang/parser/_specials.xsl b/eo-parser/src/main/resources/org/eolang/parser/_specials.xsl new file mode 100644 index 0000000000..94d210daef --- /dev/null +++ b/eo-parser/src/main/resources/org/eolang/parser/_specials.xsl @@ -0,0 +1,51 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/eo-parser/src/main/resources/org/eolang/parser/parse/build-fqns.xsl b/eo-parser/src/main/resources/org/eolang/parser/parse/build-fqns.xsl index 9f4f33cccc..2d8f6acb56 100644 --- a/eo-parser/src/main/resources/org/eolang/parser/parse/build-fqns.xsl +++ b/eo-parser/src/main/resources/org/eolang/parser/parse/build-fqns.xsl @@ -230,7 +230,7 @@ SOFTWARE. - + diff --git a/eo-parser/src/main/resources/org/eolang/parser/phi/to-phi.xsl b/eo-parser/src/main/resources/org/eolang/parser/phi/to-phi.xsl index c20cb4b6e1..fdad851373 100644 --- a/eo-parser/src/main/resources/org/eolang/parser/phi/to-phi.xsl +++ b/eo-parser/src/main/resources/org/eolang/parser/phi/to-phi.xsl @@ -29,97 +29,42 @@ SOFTWARE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + . - + - + . - + - + - + - + - + . @@ -157,7 +102,7 @@ SOFTWARE. - + @@ -166,7 +111,7 @@ SOFTWARE. - + @@ -188,7 +133,7 @@ SOFTWARE. - + @@ -213,8 +158,8 @@ SOFTWARE. - - + + @@ -252,7 +197,7 @@ SOFTWARE. { - + @@ -264,39 +209,39 @@ SOFTWARE. - - + + - - + + - + . - - + + Package - + - + - + } @@ -317,20 +262,20 @@ SOFTWARE. - - + + - + - + - + @@ -340,7 +285,7 @@ SOFTWARE. - + @@ -384,7 +329,7 @@ SOFTWARE. - + @@ -405,15 +350,15 @@ SOFTWARE. - - - - - + + + + + - - - + + + @@ -438,7 +383,7 @@ SOFTWARE. - + @@ -449,7 +394,7 @@ SOFTWARE. - + @@ -462,9 +407,9 @@ SOFTWARE. - + - + @@ -476,8 +421,8 @@ SOFTWARE. . - - + + @@ -498,7 +443,7 @@ SOFTWARE. - + @@ -512,14 +457,14 @@ SOFTWARE. - + - + diff --git a/eo-parser/src/main/resources/org/eolang/parser/phi/to-salty-phi.xsl b/eo-parser/src/main/resources/org/eolang/parser/phi/to-salty-phi.xsl index 4c022dfd20..35aae47a65 100644 --- a/eo-parser/src/main/resources/org/eolang/parser/phi/to-salty-phi.xsl +++ b/eo-parser/src/main/resources/org/eolang/parser/phi/to-salty-phi.xsl @@ -27,86 +27,43 @@ SOFTWARE. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - + . - + - + . - + - + - + - + . - + . @@ -142,9 +99,10 @@ SOFTWARE. - + - + + @@ -157,7 +115,7 @@ SOFTWARE. { - + @@ -167,36 +125,36 @@ SOFTWARE. - - + + - + . - - + + Package - + - + - + } @@ -217,8 +175,8 @@ SOFTWARE. - - + + @@ -250,7 +208,7 @@ SOFTWARE. - + @@ -303,16 +261,16 @@ SOFTWARE. ( - + 0 - - - - - + + + + + - - + + ) @@ -324,9 +282,9 @@ SOFTWARE. - + - + @@ -337,8 +295,8 @@ SOFTWARE. . - - + + @@ -358,7 +316,7 @@ SOFTWARE. - + @@ -368,16 +326,16 @@ SOFTWARE. - + - + - + diff --git a/eo-parser/src/test/java/org/eolang/parser/PhiSyntaxTest.java b/eo-parser/src/test/java/org/eolang/parser/PhiSyntaxTest.java index 299cdb3e5c..6758b082ad 100644 --- a/eo-parser/src/test/java/org/eolang/parser/PhiSyntaxTest.java +++ b/eo-parser/src/test/java/org/eolang/parser/PhiSyntaxTest.java @@ -102,6 +102,9 @@ void addsMetaForPackage() throws IOException { @ClasspathSource(value = "org/eolang/parser/phi-packs", glob = "**.yaml") void printsSaltyToSweet(final String pack) throws IOException { final Xtory xtory = new XtSticky(new XtYaml(pack)); + System.out.println( + new PhiSyntax((String) xtory.map().get("salty")).parsed() + ); MatcherAssert.assertThat( "Salty XMIR should be equivalent to sweet one", new Xmir( diff --git a/eo-parser/src/test/resources/org/eolang/parser/eo-syntax/auto-named-abstract.yaml b/eo-parser/src/test/resources/org/eolang/parser/eo-syntax/auto-named-abstract.yaml index 3d04deccd6..025dcffc04 100644 --- a/eo-parser/src/test/resources/org/eolang/parser/eo-syntax/auto-named-abstract.yaml +++ b/eo-parser/src/test/resources/org/eolang/parser/eo-syntax/auto-named-abstract.yaml @@ -23,9 +23,9 @@ sheets: [ ] asserts: - /program[not(errors)] - - //o[not(@base) and @name='auto-named-attr-at-2-4' and o[@name='five']] - - //o[not(@base) and @name='auto-named-attr-at-4-2' and o[@name='ten']] - - //o[not(@base) and @name='auto-named-attr-at-8-10' and @as='hello' and o[@name='eleven']] + - //o[not(@base) and @name='α24' and o[@name='five']] + - //o[not(@base) and @name='α42' and o[@name='ten']] + - //o[not(@base) and @name='α810' and @as='hello' and o[@name='eleven']] input: | x > first [] >> diff --git a/eo-parser/src/test/resources/org/eolang/parser/phi-packs/auto-named.yaml b/eo-parser/src/test/resources/org/eolang/parser/phi-packs/auto-named.yaml index 307818c241..ded15e0e48 100644 --- a/eo-parser/src/test/resources/org/eolang/parser/phi-packs/auto-named.yaml +++ b/eo-parser/src/test/resources/org/eolang/parser/phi-packs/auto-named.yaml @@ -29,8 +29,8 @@ input: | sweet: |- {⟦ object ↦ ⟦ - first ↦ Φ̇.x(ξ.auto-named-attr-at-4-6), - auto-named-attr-at-4-6 ↦ ⟦ + first ↦ Φ̇.x(ξ.α46), + α46 ↦ ⟦ b ↦ Φ̇.bytes(⟦ Δ ⤍ 01- ⟧) ⟧ ⟧ @@ -40,9 +40,9 @@ salty: |- ⟦ object ↦ ⟦ first ↦ Φ.org.eolang.x( - α0 ↦ ξ.auto-named-attr-at-4-6 + α0 ↦ ξ.α46 ), - auto-named-attr-at-4-6 ↦ ⟦ + α46 ↦ ⟦ b ↦ Φ.org.eolang.bytes( α0 ↦ ⟦ Δ ⤍ 01- ⟧ )