private static void prepareKeywordPatterns() {
        for (Keyword keyword : Keyword.values()) {
            String pattern = BASIC_DEFINITION_PATTERN;

            switch (keyword) {
                case shoulder:
                case elbow:
                case hand:
                case input:
                    pattern = BASIC_NUMBER_PAIR_DEFINITION_PATTERN;
                    break;
                case createMass:
                case createSpring:
                    pattern = BASIC_CREATION_PATTERN;
                    break;
                case productionRules:
                    pattern = PRODUCTION_RULE_PATTERN.toString();
                    break;
                case options:
                    pattern = OPTIONS_PATTERN;
                    break;
                case expansionRangeX:
                    pattern = RANGE_PATTERN;
                    break;
            }

            keywordPatterns.put(keyword, Pattern.compile(pattern.replace("DEF", keyword.toString())));
        }
    }