Class SwitchGenerator


  • public class SwitchGenerator
    extends java.lang.Object
    • Field Detail

      • v_switch_label

        java.lang.String v_switch_label
      • v_label

        java.lang.String v_label
      • v_s

        java.lang.String v_s
      • v_c

        java.lang.String v_c
      • v_guess

        java.lang.String v_guess
      • v_id

        java.lang.String v_id
      • v_length_suffix

        java.lang.String v_length_suffix
      • use_if_threshold

        int use_if_threshold
      • char_tail_test_threshold

        int char_tail_test_threshold
      • default_value

        private java.lang.String default_value
      • columns

        private int[] columns
      • c_was_defined

        private boolean c_was_defined
      • source_file

        private java.lang.String source_file
    • Constructor Detail

      • SwitchGenerator

        public SwitchGenerator()
    • Method Detail

      • setCodePrinter

        public void setCodePrinter​(CodePrinter value)
      • getSourceFileName

        public java.lang.String getSourceFileName()
      • setSourceFileName

        public void setSourceFileName​(java.lang.String value)
      • generateSwitch

        public void generateSwitch​(java.lang.String[] pairs,
                                   java.lang.String default_value)
      • generateSwitch

        public void generateSwitch​(IdValuePair[] pairs,
                                   java.lang.String default_value)
      • generate_body

        private void generate_body​(int begin,
                                   int end,
                                   int indent_level)
      • generate_length_switch

        private void generate_length_switch​(int begin,
                                            int end,
                                            int indent_level)
      • generate_letter_switch

        private void generate_letter_switch​(int begin,
                                            int end,
                                            int indent_level,
                                            boolean label_was_defined,
                                            boolean inside_if)
      • generate_letter_switch_r

        private boolean generate_letter_switch_r​(int begin,
                                                 int end,
                                                 int L,
                                                 int indent_level,
                                                 boolean label_was_defined,
                                                 boolean inside_if)
      • count_different_lengths

        private int count_different_lengths​(int begin,
                                            int end)
      • find_max_different_column

        private int find_max_different_column​(int begin,
                                              int end,
                                              int L)
      • count_different_chars

        private int count_different_chars​(int begin,
                                          int end,
                                          int column)
      • check_all_is_different

        private void check_all_is_different​(int begin,
                                            int end)
      • sort_pairs

        private void sort_pairs​(int begin,
                                int end,
                                int comparator)
      • heap4Sort

        private static void heap4Sort​(IdValuePair[] array,
                                      int offset,
                                      int size,
                                      int comparator)
      • makeHeap4

        private static void makeHeap4​(IdValuePair[] array,
                                      int offset,
                                      int size,
                                      int comparator)
      • heapify4

        private static void heapify4​(IdValuePair[] array,
                                     int offset,
                                     int size,
                                     int i,
                                     int comparator)