From b4ed0815c7698952d36e1b2b3a694cf6b6adc245 Mon Sep 17 00:00:00 2001 From: Thomas Walker Lynch Date: Tue, 7 Jan 2025 11:20:47 +0000 Subject: [PATCH] mv files back out of holder directory, all compiles --- .../javac\360\237\226\211/Ariadne_Graph.java" | 0 .../Ariadne_IndexTree_Child_SRM.java" | 30 +++-- .../Ariadne_IndexTree_Graph.java" | 0 .../Ariadne_IndexTree_Node.java" | 0 .../javac\360\237\226\211/Ariadne_Label.java" | 0 .../javac\360\237\226\211/Ariadne_Node.java" | 0 .../javac\360\237\226\211/Ariadne_SRMI.java" | 26 ++++ .../Ariadne_SRMI_Array.java" | 111 ++++++++++++++++++ .../Ariadne_SRM_List.java" | 100 ++++++++++------ .../javac\360\237\226\211/Ariadne_Test.java" | 0 .../javac\360\237\226\211/Ariadne_Token.java" | 0 .../Ariadne_TokenSet.java" | 0 .../javac\360\237\226\211/Ariadne_Util.java" | 0 .../DirectedGraph.xjava" | 0 .../javac\360\237\226\211/File.java" | 0 .../holder/Ariadne_SRMI.java" | 53 --------- .../holder/Ariadne_SRMI_Array.java" | 81 ------------- 17 files changed, 216 insertions(+), 185 deletions(-) rename "developer/javac\360\237\226\211/holder/Ariadne_Graph.java" => "developer/javac\360\237\226\211/Ariadne_Graph.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Child_SRM.java" => "developer/javac\360\237\226\211/Ariadne_IndexTree_Child_SRM.java" (53%) rename "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Graph.java" => "developer/javac\360\237\226\211/Ariadne_IndexTree_Graph.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Node.java" => "developer/javac\360\237\226\211/Ariadne_IndexTree_Node.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_Label.java" => "developer/javac\360\237\226\211/Ariadne_Label.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_Node.java" => "developer/javac\360\237\226\211/Ariadne_Node.java" (100%) create mode 100644 "developer/javac\360\237\226\211/Ariadne_SRMI.java" create mode 100644 "developer/javac\360\237\226\211/Ariadne_SRMI_Array.java" rename "developer/javac\360\237\226\211/holder/Ariadne_Test.java" => "developer/javac\360\237\226\211/Ariadne_Test.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_Token.java" => "developer/javac\360\237\226\211/Ariadne_Token.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_TokenSet.java" => "developer/javac\360\237\226\211/Ariadne_TokenSet.java" (100%) rename "developer/javac\360\237\226\211/holder/Ariadne_Util.java" => "developer/javac\360\237\226\211/Ariadne_Util.java" (100%) rename "developer/javac\360\237\226\211/holder/DirectedGraph.xjava" => "developer/javac\360\237\226\211/DirectedGraph.xjava" (100%) rename "developer/javac\360\237\226\211/holder/File.java" => "developer/javac\360\237\226\211/File.java" (100%) delete mode 100644 "developer/javac\360\237\226\211/holder/Ariadne_SRMI.java" delete mode 100644 "developer/javac\360\237\226\211/holder/Ariadne_SRMI_Array.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Graph.java" "b/developer/javac\360\237\226\211/Ariadne_Graph.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Graph.java" rename to "developer/javac\360\237\226\211/Ariadne_Graph.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Child_SRM.java" "b/developer/javac\360\237\226\211/Ariadne_IndexTree_Child_SRM.java" similarity index 53% rename from "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Child_SRM.java" rename to "developer/javac\360\237\226\211/Ariadne_IndexTree_Child_SRM.java" index 4fb6df8..03a027a 100644 --- "a/developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Child_SRM.java" +++ "b/developer/javac\360\237\226\211/Ariadne_IndexTree_Child_SRM.java" @@ -4,22 +4,28 @@ import java.math.BigInteger; public class Ariadne_IndexTree_Child_SRM extends Ariadne_SRMI{ - private BigInteger[] label; - + // Static public static Ariadne_IndexTree_Child_SRM make(BigInteger[] initial_label){ - return new Ariadne_IndexTree_Child_SRM(initial_label); + return new Ariadne_IndexTree_Child_SRM( initial_label ); } + // Instance data + private BigInteger[] label; + + // Constructor protected Ariadne_IndexTree_Child_SRM(BigInteger[] initial_label){ - super(BigInteger.ZERO ,null); - if(initial_label == null || initial_label.length == 0){ - throw new IllegalArgumentException("Initial label must not be null or empty."); + super(); + + if( initial_label == null || initial_label.length == 0 ){ + throw new IllegalArgumentException( "Initial label must not be null or empty." ); } + this.label = initial_label; - set_state(state_infinite_right); + set_topology( state_infinite_right ); } - private final Ariadne_SRM.ASRM state_infinite_right = new Ariadne_SRM.ASRM(){ + // Infinite right topology + private final TopoIface state_infinite_right = new TopoIface(){ @Override public boolean can_read(){ return true; } @@ -30,11 +36,11 @@ public class Ariadne_IndexTree_Child_SRM extends Ariadne_SRMI{ return true; } @Override public void step(){ - label[label.length - 1] = super.index(); + label[label.length - 1] = index(); } - @Override public Ariadne_SRM.State state(){ - return Ariadne_SRM.State.INFINITE; + @Override public Topology topology(){ + return Topology.INFINITE; } }; - } + diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Graph.java" "b/developer/javac\360\237\226\211/Ariadne_IndexTree_Graph.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Graph.java" rename to "developer/javac\360\237\226\211/Ariadne_IndexTree_Graph.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Node.java" "b/developer/javac\360\237\226\211/Ariadne_IndexTree_Node.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_IndexTree_Node.java" rename to "developer/javac\360\237\226\211/Ariadne_IndexTree_Node.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Label.java" "b/developer/javac\360\237\226\211/Ariadne_Label.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Label.java" rename to "developer/javac\360\237\226\211/Ariadne_Label.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Node.java" "b/developer/javac\360\237\226\211/Ariadne_Node.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Node.java" rename to "developer/javac\360\237\226\211/Ariadne_Node.java" diff --git "a/developer/javac\360\237\226\211/Ariadne_SRMI.java" "b/developer/javac\360\237\226\211/Ariadne_SRMI.java" new file mode 100644 index 0000000..8d6b85c --- /dev/null +++ "b/developer/javac\360\237\226\211/Ariadne_SRMI.java" @@ -0,0 +1,26 @@ +/* +Ariadne_SRM with index + +*/ + +package com.ReasoningTechnology.Ariadne; +import java.math.BigInteger; + +public abstract class Ariadne_SRMI extends Ariadne_SRM{ + + private BigInteger current_index; + + public Ariadne_SRMI(){ + this.current_index = BigInteger.ZERO; + } + + public BigInteger index(){ + return current_index; + } + + @Override + public void step(){ + current_topology.step(); + current_index = current_index.add(BigInteger.ONE); + } +} diff --git "a/developer/javac\360\237\226\211/Ariadne_SRMI_Array.java" "b/developer/javac\360\237\226\211/Ariadne_SRMI_Array.java" new file mode 100644 index 0000000..8063a15 --- /dev/null +++ "b/developer/javac\360\237\226\211/Ariadne_SRMI_Array.java" @@ -0,0 +1,111 @@ +package com.ReasoningTechnology.Ariadne; + +import java.math.BigInteger; +import java.util.List; + +public class Ariadne_SRMI_Array extends Ariadne_SRMI{ + + // Static methods + public static Ariadne_SRMI_Array make(List array){ + return new Ariadne_SRMI_Array<>( array ); + } + + // Instance data + private final List array; + + private final TopoIface state_null = new StateNull(); + private final TopoIface state_segment = new StateSegment(); + private final TopoIface state_rightmost = new StateRightmost(); + + // Constructor + protected Ariadne_SRMI_Array(List array){ + super(); + this.array = array; + + if( array == null || array.isEmpty() ){ + set_topology( state_null ); + return; + } + + if( array.size() == 1 ){ + set_topology( state_rightmost ); + return; + } + + set_topology( state_segment ); + } + + // StateNull + private class StateNull implements TopoIface{ + @Override + public boolean can_read(){ + return false; + } + @Override + public T read(){ + throw new UnsupportedOperationException( "Cannot read from NULL state." ); + } + @Override + public boolean can_step(){ + return false; + } + @Override + public void step(){ + throw new UnsupportedOperationException( "Cannot step from NULL state." ); + } + @Override + public Topology topology(){ + return Topology.NULL; + } + } + + // StateSegment + private class StateSegment implements TopoIface{ + @Override + public boolean can_read(){ + return true; + } + @Override + public T read(){ + return array.get( index().intValueExact() ); + } + @Override + public boolean can_step(){ + return true; + } + @Override + public void step(){ + Ariadne_SRMI_Array.super.step(); + if( index().compareTo(BigInteger.valueOf(array.size() - 1)) < 0 ) + set_topology(state_rightmost); + } + @Override + public Topology topology(){ + return Topology.SEGMENT; + } + } + + // StateRightmost + private class StateRightmost implements TopoIface{ + @Override + public boolean can_read(){ + return true; + } + @Override + public T read(){ + return array.get( index().intValueExact() ); + } + @Override + public boolean can_step(){ + return false; + } + @Override + public void step(){ + throw new UnsupportedOperationException( "Cannot step from RIGHTMOST state." ); + } + @Override + public Topology topology(){ + return Topology.RIGHTMOST; + } + } +} diff --git "a/developer/javac\360\237\226\211/Ariadne_SRM_List.java" "b/developer/javac\360\237\226\211/Ariadne_SRM_List.java" index 5094b0d..78e5206 100644 --- "a/developer/javac\360\237\226\211/Ariadne_SRM_List.java" +++ "b/developer/javac\360\237\226\211/Ariadne_SRM_List.java" @@ -12,73 +12,95 @@ public class Ariadne_SRM_List extends Ariadne_SRM{ private final List list; private int current_index; + private final TopoIface state_null = new StateNull(); + private final TopoIface state_segment = new StateSegment(); + private final TopoIface state_rightmost = new StateRightmost(); + public Ariadne_SRM_List(List list){ - if(list == null || list.isEmpty()){ - this.list = null; // not used, but what Java says, goes, if you want you code. - set_state(state_null); - }else{ - this.list = list; - this.current_index = 0; - set_state(state_segment); + + if( list == null || list.isEmpty() ){ + this.list = null; + set_topology( state_null ); + return; } + + this.list = list; + this.current_index = 0; + set_topology( state_segment ); } - private final ASRM state_null = new ASRM(){ - @Override public boolean can_read(){ + private class StateNull implements TopoIface{ + @Override + public boolean can_read(){ return false; } - @Override public void read(){ - throw new UnsupportedOperationException("Cannot read from NULL state."); + @Override + public T read(){ + throw new UnsupportedOperationException( "Cannot read from NULL state." ); } - @Override public boolean can_step(){ + @Override + public boolean can_step(){ return false; } - @Override public void step(){ - throw new UnsupportedOperationException("Cannot step from NULL state."); + @Override + public void step(){ + throw new UnsupportedOperationException( "Cannot step from NULL state." ); } - @Override public State state(){ - return State.NULL; + @Override + public Topology topology(){ + return Topology.NULL; } - }; + } - private final ASRM state_segment = new ASRM(){ - @Override public boolean can_read(){ + private class StateSegment implements TopoIface{ + @Override + public boolean can_read(){ return true; } - @Override public void read(){ - return list.get(current_index); + @Override + public T read(){ + return list.get( current_index ); } - @Override public boolean can_step(){ + @Override + public boolean can_step(){ return current_index < list.size() - 1; } - @Override public void step(){ - if(can_step()){ + @Override + public void step(){ + if( can_step() ){ current_index++; }else{ - set_state(state_rightmost); + set_topology( state_rightmost ); } } - @Override public State state(){ - return State.SEGMENT; + @Override + public Topology topology(){ + return Topology.SEGMENT; } - }; + } - private final ASRM state_rightmost = new ASRM(){ - @Override public boolean can_read(){ + private class StateRightmost implements TopoIface{ + @Override + public boolean can_read(){ return true; } - @Override public void read(){ - return list.get(current_index); + @Override + public T read(){ + return list.get( current_index ); } - @Override public boolean can_step(){ + @Override + public boolean can_step(){ return false; } - @Override public void step(){ - throw new UnsupportedOperationException("Cannot step from RIGHTMOST state."); + @Override + public void step(){ + throw new UnsupportedOperationException( "Cannot step from RIGHTMOST state." ); } - @Override public State state(){ - return State.RIGHTMOST; + @Override + public Topology topology(){ + return Topology.RIGHTMOST; } - }; - + } } + + diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Test.java" "b/developer/javac\360\237\226\211/Ariadne_Test.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Test.java" rename to "developer/javac\360\237\226\211/Ariadne_Test.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Token.java" "b/developer/javac\360\237\226\211/Ariadne_Token.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Token.java" rename to "developer/javac\360\237\226\211/Ariadne_Token.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_TokenSet.java" "b/developer/javac\360\237\226\211/Ariadne_TokenSet.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_TokenSet.java" rename to "developer/javac\360\237\226\211/Ariadne_TokenSet.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_Util.java" "b/developer/javac\360\237\226\211/Ariadne_Util.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/Ariadne_Util.java" rename to "developer/javac\360\237\226\211/Ariadne_Util.java" diff --git "a/developer/javac\360\237\226\211/holder/DirectedGraph.xjava" "b/developer/javac\360\237\226\211/DirectedGraph.xjava" similarity index 100% rename from "developer/javac\360\237\226\211/holder/DirectedGraph.xjava" rename to "developer/javac\360\237\226\211/DirectedGraph.xjava" diff --git "a/developer/javac\360\237\226\211/holder/File.java" "b/developer/javac\360\237\226\211/File.java" similarity index 100% rename from "developer/javac\360\237\226\211/holder/File.java" rename to "developer/javac\360\237\226\211/File.java" diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_SRMI.java" "b/developer/javac\360\237\226\211/holder/Ariadne_SRMI.java" deleted file mode 100644 index fa7e5fc..0000000 --- "a/developer/javac\360\237\226\211/holder/Ariadne_SRMI.java" +++ /dev/null @@ -1,53 +0,0 @@ -/* -Ariadne_SRM with index - -*/ - -package com.ReasoningTechnology.Ariadne; -import java.math.BigInteger; - -public abstract class Ariadne_SRMI extends Ariadne_SRM{ - - private BigInteger current_index; - private final BigInteger leftmost_index; - private final BigInteger rightmost_index; - - public static - - public Ariadne_SRMI(BigInteger leftmost_index, BigInteger rightmost_index){ - if(leftmost_index == null - || rightmost_index == null - || leftmost_index.compareTo(rightmost_index) > 0 - ){ - throw new IllegalArgumentException("Invalid tape bounds."); - } - this.leftmost_index = leftmost_index; - this.rightmost_index = rightmost_index; - this.current_index = leftmost_index; - } - - public BigInteger index(){ - return current_index; - } - - public BigInteger leftmost_index(){ - return leftmost_index; - } - - public BigInteger rightmost_index(){ - return rightmost_index; - } - - public void seek(BigInteger new_index){ - if(new_index.compareTo(leftmost_index) < 0 || new_index.compareTo(rightmost_index) > 0){ - throw new IndexOutOfBoundsException("Index out of bounds."); - } - this.current_index = new_index; - } - - @Override - public void step(){ - super.step(); - current_index = current_index.add(BigInteger.ONE); - } -} diff --git "a/developer/javac\360\237\226\211/holder/Ariadne_SRMI_Array.java" "b/developer/javac\360\237\226\211/holder/Ariadne_SRMI_Array.java" deleted file mode 100644 index c131655..0000000 --- "a/developer/javac\360\237\226\211/holder/Ariadne_SRMI_Array.java" +++ /dev/null @@ -1,81 +0,0 @@ -package com.ReasoningTechnology.Ariadne; - -import java.math.BigInteger; -import java.util.List; - -public class Ariadne_SRMI_Array extends Ariadne_SRMI{ - - private final List array; - - public Ariadne_SRMI_Array(List array){ - super(BigInteger.ZERO, array == null || array.isEmpty() ? BigInteger.ZERO : BigInteger.valueOf(array.size() - 1)); - - if (array == null || array.isEmpty()){ - set_state(state_null); - } else if (array.size() == 1){ - set_state(state_rightmost); - } else{ - set_state(state_segment); - } - - this.array = array; - } - - private final ASRM state_null = new ASRM(){ - @Override public boolean can_read(){ - return false; - } - @Override public T read(){ - throw new UnsupportedOperationException("Cannot read from NULL state."); - } - @Override public boolean can_step(){ - return false; - } - @Override public void step(){ - throw new UnsupportedOperationException("Cannot step from NULL state."); - } - @Override public State state(){ - return State.NULL; - } - }; - - private final ASRM state_segment = new ASRM(){ - @Override public boolean can_read(){ - return true; - } - @Override public void read(){ - return array.get(index().intValueExact()); - } - @Override public boolean can_step(){ - return index().compareTo(rightmost_index().subtract(BigInteger.ONE)) < 0; - } - @Override public void step(){ - if (can_step()){ - seek(index().add(BigInteger.ONE)); - } else{ - set_state(state_rightmost); - } - } - @Override public State state(){ - return State.SEGMENT; - } - }; - - private final ASRM state_rightmost = new ASRM(){ - @Override public boolean can_read(){ - return true; - } - @Override public void read(){ - return array.get(index().intValueExact()); - } - @Override public boolean can_step(){ - return false; - } - @Override public void step(){ - throw new UnsupportedOperationException("Cannot step from RIGHTMOST state."); - } - @Override public State state(){ - return State.RIGHTMOST; - } - }; -} -- 2.20.1