X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.machine%2Fsrc%2Fnet%2Fmograsim%2Fmachine%2Fmi%2Fparameters%2FParameterClassification.java;h=337340118e9d64a8d2b6363862fc46f79c4b2e85;hb=d09827f6dc03fa3cded8e996b4ce45fdae3755ca;hp=b9362a09f3c7a85561b81573ef59e84c2d4d6d42;hpb=5e4efdd581f04578be5f59e591f4bcf746df44d8;p=Mograsim.git diff --git a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/ParameterClassification.java b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/ParameterClassification.java index b9362a09..33734011 100644 --- a/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/ParameterClassification.java +++ b/net.mograsim.machine/src/net/mograsim/machine/mi/parameters/ParameterClassification.java @@ -8,10 +8,20 @@ public interface ParameterClassification * Determines whether a {@link MicroInstructionParameter} is part of this class of parameters. * @return true if the classification contains the Parameter, false otherwise */ - public boolean conforms(MicroInstructionParameter param); + public default boolean conforms(MicroInstructionParameter param) + { + return param.getType().equals(getExpectedType()) && param.getValue().length() == getExpectedBits(); + } /** * @return The type of the parameters in this classification. */ public ParameterType getExpectedType(); + + /** + * @return The number of bits of the parameters in this classification. + */ + public int getExpectedBits(); + + public MicroInstructionParameter parse(String toParse); }