X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=plugins%2Fnet.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2FMachineDefinition.java;h=18e628f5541d0ef1c74858a3fb5c6f1a2c13809a;hb=de13257cc0764cb413ca33855c1640f01e720a3e;hp=02cf375709d0ed9f68b8b29d8c890803b42b4f7e;hpb=58babf45ae7d259a296656451d796dbe601377a4;p=Mograsim.git diff --git a/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java b/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java index 02cf3757..18e628f5 100644 --- a/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java +++ b/plugins/net.mograsim.machine/src/net/mograsim/machine/MachineDefinition.java @@ -1,11 +1,21 @@ package net.mograsim.machine; -import java.util.Set; +import java.util.List; import net.mograsim.machine.mi.MicroInstructionMemoryDefinition; +import net.mograsim.machine.registers.Register; +import net.mograsim.machine.registers.RegisterGroup; public interface MachineDefinition { + /** + * This returns the MachineDefinitions ID. This must be consistent and coherent with the id in the extension point (Eclipse plugin xml) + * providing the definition. + * + * @return a human readable, unique id representing the specified machine. + * @author Christian Femers + */ + String getId(); /** * Creates a new instance of the machine @@ -24,12 +34,20 @@ public interface MachineDefinition ISASchema getISASchema(); /** - * Returns a set of all {@link Register}s present in the machine. + * Returns a set of all {@link Register}s present in the machine that are not part of a register group. * * @return all registers present in the machine. * @author Christian Femers */ - Set getRegisters(); + List getUnsortedRegisters(); + + /** + * Returns a set of all RegisterGroups that the machine contains + * + * @return all register groups present in the machine. + * @author Christian Femers + */ + List getRegisterGroups(); /** * The number of bits used by the machine to address main memory. Note that this should be the number of bits used in the CPU, not a