Examples of MnemonicDetails


Examples of br.com.gmartins.simbler.mnemonics.helpers.MnemonicDetails

        @Override
        public void valueChanged(ListSelectionEvent evt) {
            if (evt.getValueIsAdjusting() == false) {
                JList list = (JList) evt.getSource();
                String value = list.getSelectedValue().toString();
                MnemonicDetails m = MnemonicsMap.getInstance().getMnemonicsMap().get(value);
                txtDocumentation.setText(m.getDescrption());
            }
        }
View Full Code Here

Examples of br.com.gmartins.simbler.mnemonics.helpers.MnemonicDetails

    }

    public boolean isValid(String formattedLine) {
        MnemonicsMap map = MnemonicsMap.getInstance();
        // Pega a primeira palavra da linha e tenta recuperar com este nome um objeto do mapa.
        MnemonicDetails mnemonic = map.getMnemonicsMap().get(formattedLine.split(" ")[0]);
        // Se conseguir, faz a verificação com o Regex definido nessa instrução.
        if (mnemonic != null) {
            if (regexTest(mnemonic, formattedLine) == false) {
                return false;
            } else {
View Full Code Here

Examples of br.com.gmartins.simbler.mnemonics.helpers.MnemonicDetails

            Map<String, MnemonicDetails> map = MnemonicsMap.getInstance().getMnemonicsMap();

            // Verifica se na lista de Mnemonicos existe algum comando com o nome capturado em cmdWord[0]
            if (map.containsKey(cmdWord[0])) {
                MnemonicDetails m = map.get(cmdWord[0]);

                // Se sim, atribui ele em "m" e faz um for em todas as expressões disponíveis desse comando
                for (InstructionRegex regex : m.getRegexList()) {

                    // Se a expressão for vinculável (definida em MnemicsRegex) e a expressão casar com o valor da minha (cmdLinha[i])
                    // Quer dizer que esse comando contém vínculos e deve ser alterado
                    if (regex.isLinkable() && RegexMatcher.matches(regex.getRegex(true) + InstructionRegex.RX_COMMENTS, cmdLinha[i])) {
                        //  Preciso de alguma forma identificar os comentarios e devolve-los corretamente apos a insercao do enter.
                        //        Procurar também uma forma de fazer o backspace.
                        String guardaComentarios = "";
                        if (cmdLinha[i].contains(";")) { // Se existirem comentários
                            guardaComentarios = RegexMatcher.getMatch(regex.getRegex(true) + InstructionRegex.RX_COMMENTS, cmdLinha[i]);
                            guardaComentarios = guardaComentarios.replaceAll(regex.getRegex(true), "");
                            // Remove de toda a linha os comentários
                            cmdLinha[i] = cmdLinha[i].replace(guardaComentarios, "");
                            cmdWord = cmdLinha[i].split(InstructionRegex.RX_SPACES_BETWEEN);
                        }
                        // Se a palavra depois do comando tiver @, é necessário trata-lo de devolve-lo corretamente ao valor alterado.
                        if (cmdWord[1].substring(0, 1).equals("@")) {
                            // Se a posicão da linha for menor ou igual a do vínculo, então é necessário atualiza-lo.
                            // Se a linha for anterior, é necessário atualizar pois todas as linhas posteriores serão afetadas com o enter.
                            // Se for igual, ele ainda faz parte da alteração do enter e deve ser atualizado.
                            if (LinePos <= Integer.parseInt(cmdWord[1].substring(1))) {
                                int value = Integer.parseInt(cmdWord[1].substring(1)) + valueToAdd;
                                // Junta o JMP + o novo valor
                                cmdLinha[i] = m.getName() + " @" + value;
                            }
                        } // Se não, apenas acrescenta 1 ao seu valor
                        else {
                            if (LinePos <= Integer.parseInt(cmdWord[1])) {
                                int value = Integer.parseInt(cmdWord[1]) + valueToAdd;
                                // Junta o JMP + o novo valor
                                cmdLinha[i] = m.getName() + " " + value;
                            }
                        }

                        cmdLinha[i] += guardaComentarios;
                    }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.