CBMC
character_refine_preprocess.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Preprocess a goto-programs so that calls to the java Character
4  library are replaced by simple expressions.
5  For now support is limited to character in the ASCII range,
6  some methods may have incorrect specifications outside of this range.
7 
8 Author: Romain Brenguier
9 
10 Date: March 2017
11 
12 \*******************************************************************/
13 
19 
20 #ifndef CPROVER_JAVA_BYTECODE_CHARACTER_REFINE_PREPROCESS_H
21 #define CPROVER_JAVA_BYTECODE_CHARACTER_REFINE_PREPROCESS_H
22 
24 
25 #include <util/mp_arith.h>
26 #include <util/std_code.h>
27 
28 #include <unordered_map>
29 
31 {
32 public:
35 
36 private:
39  // A table tells us what method to call for each java method signature
40  std::unordered_map<irep_idt, conversion_functiont> conversion_table;
41 
42  // Conversion functions
43  static exprt expr_of_char_count(const exprt &chr, const typet &type);
45  static exprt expr_of_char_value(const exprt &chr, const typet &type);
47  static codet convert_compare(conversion_inputt &target);
58  static exprt expr_of_high_surrogate(const exprt &chr, const typet &type);
60  static exprt expr_of_is_alphabetic(const exprt &chr, const typet &type);
62  static exprt expr_of_is_bmp_code_point(const exprt &chr, const typet &type);
64  static exprt expr_of_is_defined(const exprt &chr, const typet &type);
67  static exprt expr_of_is_digit(const exprt &chr, const typet &type);
70  static exprt expr_of_is_high_surrogate(const exprt &chr, const typet &type);
73  const exprt &chr, const typet &type);
85  static exprt expr_of_is_letter(const exprt &chr, const typet &type);
88  static exprt expr_of_is_letter_or_digit(const exprt &chr, const typet &type);
91  static exprt expr_of_is_ascii_lower_case(const exprt &chr, const typet &type);
95  static exprt expr_of_is_mirrored(const exprt &chr, const typet &type);
99  static exprt expr_of_is_space_char(const exprt &chr, const typet &type);
103  const exprt &chr, const typet &type);
105  static exprt expr_of_is_surrogate(const exprt &chr, const typet &type);
108  static exprt expr_of_is_title_case(const exprt &chr, const typet &type);
111  static exprt expr_of_is_letter_number(const exprt &chr, const typet &type);
113  const exprt &chr, const typet &type);
115  conversion_inputt &target);
117  conversion_inputt &target);
119  const exprt &chr, const typet &type);
121  conversion_inputt &target);
123  conversion_inputt &target);
124  static exprt expr_of_is_ascii_upper_case(const exprt &chr, const typet &type);
127  static exprt expr_of_is_valid_code_point(const exprt &chr, const typet &type);
129  static exprt expr_of_is_whitespace(const exprt &chr, const typet &type);
132  static exprt expr_of_low_surrogate(const exprt &chr, const typet &type);
134  static exprt expr_of_reverse_bytes(const exprt &chr, const typet &type);
136  static exprt expr_of_to_chars(const exprt &chr, const typet &type);
137  static codet convert_to_chars(conversion_inputt &target);
138  static exprt expr_of_to_lower_case(const exprt &chr, const typet &type);
141  static exprt expr_of_to_title_case(const exprt &chr, const typet &type);
144  static exprt expr_of_to_upper_case(const exprt &chr, const typet &type);
147 
148  // Helper functions
150  exprt (*expr_function)(const exprt &chr, const typet &type),
151  conversion_inputt &target);
152  static exprt in_interval_expr(
153  const exprt &chr,
154  const mp_integer &lower_bound,
155  const mp_integer &upper_bound);
156  static exprt in_list_expr(
157  const exprt &chr, const std::list<mp_integer> &list);
158 };
159 
160 #endif // CPROVER_JAVA_BYTECODE_CHARACTER_REFINE_PREPROCESS_H
character_refine_preprocesst::convert_is_letter_or_digit_int
static codet convert_is_letter_or_digit_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:725
character_refine_preprocesst::expr_of_high_surrogate
static exprt expr_of_high_surrogate(const exprt &chr, const typet &type)
Returns the leading surrogate (a high surrogate code unit) of the surrogate pair representing the spe...
Definition: character_refine_preprocess.cpp:314
character_refine_preprocesst::convert_is_unicode_identifier_start_char
static codet convert_is_unicode_identifier_start_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1021
character_refine_preprocesst::expr_of_char_value
static exprt expr_of_char_value(const exprt &chr, const typet &type)
Casts the given expression to the given type.
Definition: character_refine_preprocess.cpp:92
character_refine_preprocesst::convert_is_digit_int
static codet convert_is_digit_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:511
character_refine_preprocesst::convert_compare
static codet convert_compare(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:111
character_refine_preprocesst::expr_of_is_supplementary_code_point
static exprt expr_of_is_supplementary_code_point(const exprt &chr, const typet &type)
Determines whether the specified character (Unicode code point) is in the supplementary character ran...
Definition: character_refine_preprocess.cpp:853
mp_integer
BigInt mp_integer
Definition: smt_terms.h:17
character_refine_preprocesst::convert_to_lower_case_char
static codet convert_to_lower_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1179
character_refine_preprocesst::convert_char_value
static codet convert_char_value(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:101
character_refine_preprocesst::convert_is_ISO_control_char
static codet convert_is_ISO_control_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:599
character_refine_preprocesst::convert_is_lower_case_int
static codet convert_is_lower_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:748
mp_arith.h
character_refine_preprocesst::convert_digit_int
static codet convert_digit_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:213
character_refine_preprocesst::convert_reverse_bytes
static codet convert_reverse_bytes(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1152
character_refine_preprocesst::convert_is_surrogate_pair
static codet convert_is_surrogate_pair(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:894
goto_instruction_code.h
character_refine_preprocesst::convert_is_whitespace_int
static codet convert_is_whitespace_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1116
typet
The type of an expression, extends irept.
Definition: type.h:28
character_refine_preprocesst::convert_is_alphabetic
static codet convert_is_alphabetic(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:382
character_refine_preprocesst::expr_of_low_surrogate
static exprt expr_of_low_surrogate(const exprt &chr, const typet &type)
Returns the trailing surrogate (a low surrogate code unit) of the surrogate pair representing the spe...
Definition: character_refine_preprocess.cpp:1128
character_refine_preprocesst::expr_of_reverse_bytes
static exprt expr_of_reverse_bytes(const exprt &chr, const typet &type)
Returns the value obtained by reversing the order of the bytes in the specified char value.
Definition: character_refine_preprocess.cpp:1141
character_refine_preprocesst::convert_hash_code
static codet convert_hash_code(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:303
character_refine_preprocesst::convert_is_upper_case_char
static codet convert_is_upper_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1042
character_refine_preprocesst::expr_of_is_mirrored
static exprt expr_of_is_mirrored(const exprt &chr, const typet &type)
Determines whether the character is mirrored according to the Unicode specification.
Definition: character_refine_preprocess.cpp:775
character_refine_preprocesst
Definition: character_refine_preprocess.h:30
character_refine_preprocesst::convert_is_unicode_identifier_part_int
static codet convert_is_unicode_identifier_part_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1000
character_refine_preprocesst::expr_of_is_identifier_ignorable
static exprt expr_of_is_identifier_ignorable(const exprt &chr, const typet &type)
Determines if the character is one of ignorable in a Java identifier, that is, it is in one of these ...
Definition: character_refine_preprocess.cpp:547
character_refine_preprocesst::convert_is_defined_char
static codet convert_is_defined_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:453
character_refine_preprocesst::expr_of_is_letter_number
static exprt expr_of_is_letter_number(const exprt &chr, const typet &type)
Determines if the specified character is in the LETTER_NUMBER category of Unicode.
Definition: character_refine_preprocess.cpp:949
exprt
Base class for all expressions.
Definition: expr.h:55
character_refine_preprocesst::convert_to_upper_case_int
static codet convert_to_upper_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1276
character_refine_preprocesst::convert_is_lower_case_char
static codet convert_is_lower_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:736
character_refine_preprocesst::convert_is_whitespace_char
static codet convert_is_whitespace_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1106
character_refine_preprocesst::expr_of_is_surrogate
static exprt expr_of_is_surrogate(const exprt &chr, const typet &type)
Determines if the given char value is a Unicode surrogate code unit.
Definition: character_refine_preprocess.cpp:874
character_refine_preprocesst::convert_is_letter_or_digit_char
static codet convert_is_letter_or_digit_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:715
character_refine_preprocesst::convert_is_title_case_char
static codet convert_is_title_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:928
character_refine_preprocesst::expr_of_is_valid_code_point
static exprt expr_of_is_valid_code_point(const exprt &chr, const typet &type)
Determines whether the specified code point is a valid Unicode code point value.
Definition: character_refine_preprocess.cpp:1063
character_refine_preprocesst::convert_is_mirrored_char
static codet convert_is_mirrored_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:787
character_refine_preprocesst::convert_to_chars
static codet convert_to_chars(conversion_inputt &target)
character_refine_preprocesst::expr_of_is_bmp_code_point
static exprt expr_of_is_bmp_code_point(const exprt &chr, const typet &type)
Determines whether the specified character (Unicode code point) is in the Basic Multilingual Plane (B...
Definition: character_refine_preprocess.cpp:395
character_refine_preprocesst::convert_is_unicode_identifier_start_int
static codet convert_is_unicode_identifier_start_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1031
character_refine_preprocesst::convert_is_valid_code_point
static codet convert_is_valid_code_point(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1073
character_refine_preprocesst::expr_of_is_digit
static exprt expr_of_is_digit(const exprt &chr, const typet &type)
Determines if the specified character is a digit.
Definition: character_refine_preprocess.cpp:483
character_refine_preprocesst::convert_is_surrogate
static codet convert_is_surrogate(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:884
character_refine_preprocesst::convert_is_java_identifier_start_char
static codet convert_is_java_identifier_start_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method isJavaIdent...
Definition: character_refine_preprocess.cpp:649
character_refine_preprocesst::convert_get_directionality_int
static codet convert_get_directionality_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:253
character_refine_preprocesst::conversion_table
std::unordered_map< irep_idt, conversion_functiont > conversion_table
Definition: character_refine_preprocess.h:40
character_refine_preprocesst::convert_is_space
static codet convert_is_space(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:808
character_refine_preprocesst::expr_of_is_title_case
static exprt expr_of_is_title_case(const exprt &chr, const typet &type)
Determines if the specified character is a titlecase character.
Definition: character_refine_preprocess.cpp:911
code_function_callt
goto_instruction_codet representation of a function call statement.
Definition: goto_instruction_code.h:271
character_refine_preprocesst::convert_for_digit
static codet convert_for_digit(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:223
character_refine_preprocesst::expr_of_is_letter_or_digit
static exprt expr_of_is_letter_or_digit(const exprt &chr, const typet &type)
Determines if the specified character is a letter or digit.
Definition: character_refine_preprocess.cpp:706
character_refine_preprocesst::convert_is_upper_case_int
static codet convert_is_upper_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1052
character_refine_preprocesst::expr_of_to_lower_case
static exprt expr_of_to_lower_case(const exprt &chr, const typet &type)
Converts the character argument to lowercase.
Definition: character_refine_preprocess.cpp:1167
character_refine_preprocesst::expr_of_is_high_surrogate
static exprt expr_of_is_high_surrogate(const exprt &chr, const typet &type)
Determines if the given char value is a Unicode high-surrogate code unit (also known as leading-surro...
Definition: character_refine_preprocess.cpp:522
character_refine_preprocesst::convert_get_type_char
static codet convert_get_type_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:283
character_refine_preprocesst::convert_high_surrogate
static codet convert_high_surrogate(conversion_inputt &target)
character_refine_preprocesst::expr_of_is_alphabetic
static exprt expr_of_is_alphabetic(const exprt &chr, const typet &type)
Determines if the specified character (Unicode code point) is alphabetic.
Definition: character_refine_preprocess.cpp:373
character_refine_preprocesst::convert_low_surrogate
static codet convert_low_surrogate(conversion_inputt &target)
character_refine_preprocesst::convert_get_directionality_char
static codet convert_get_directionality_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:242
character_refine_preprocesst::expr_of_to_upper_case
static exprt expr_of_to_upper_case(const exprt &chr, const typet &type)
Converts the character argument to uppercase.
Definition: character_refine_preprocess.cpp:1254
character_refine_preprocesst::convert_is_space_char
static codet convert_is_space_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:832
character_refine_preprocesst::expr_of_to_title_case
static exprt expr_of_to_title_case(const exprt &chr, const typet &type)
Converts the character argument to titlecase.
Definition: character_refine_preprocess.cpp:1199
character_refine_preprocesst::convert_is_defined_int
static codet convert_is_defined_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:463
character_refine_preprocesst::conversion_inputt
const typedef code_function_callt & conversion_inputt
Definition: character_refine_preprocess.h:37
character_refine_preprocesst::convert_is_high_surrogate
static codet convert_is_high_surrogate(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:532
character_refine_preprocesst::in_interval_expr
static exprt in_interval_expr(const exprt &chr, const mp_integer &lower_bound, const mp_integer &upper_bound)
The returned expression is true when the first argument is in the interval defined by the lower and u...
Definition: character_refine_preprocess.cpp:43
character_refine_preprocesst::convert_get_numeric_value_char
static codet convert_get_numeric_value_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:263
character_refine_preprocesst::convert_to_lower_case_int
static codet convert_to_lower_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1189
character_refine_preprocesst::convert_is_space_char_int
static codet convert_is_space_char_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:842
character_refine_preprocesst::convert_is_letter_int
static codet convert_is_letter_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:696
character_refine_preprocesst::convert_is_bmp_code_point
static codet convert_is_bmp_code_point(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:407
character_refine_preprocesst::in_list_expr
static exprt in_list_expr(const exprt &chr, const std::list< mp_integer > &list)
The returned expression is true when the given character is equal to one of the element in the list.
Definition: character_refine_preprocess.cpp:58
character_refine_preprocesst::convert_is_java_identifier_part_char
static codet convert_is_java_identifier_part_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:626
character_refine_preprocesst::convert_is_low_surrogate
static codet convert_is_low_surrogate(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:757
character_refine_preprocesst::expr_of_is_unicode_identifier_start
static exprt expr_of_is_unicode_identifier_start(const exprt &chr, const typet &type)
Determines if the specified character is permissible as the first character in a Unicode identifier.
Definition: character_refine_preprocess.cpp:1011
character_refine_preprocesst::expr_of_is_defined
static exprt expr_of_is_defined(const exprt &chr, const typet &type)
Determines if a character is defined in Unicode.
Definition: character_refine_preprocess.cpp:418
character_refine_preprocesst::convert_digit_char
static codet convert_digit_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:136
std_code.h
character_refine_preprocesst::convert_is_letter_char
static codet convert_is_letter_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:686
character_refine_preprocesst::convert_is_mirrored_int
static codet convert_is_mirrored_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:799
character_refine_preprocesst::expr_of_is_space_char
static exprt expr_of_is_space_char(const exprt &chr, const typet &type)
Determines if the specified character is white space according to Unicode (SPACE_SEPARATOR,...
Definition: character_refine_preprocess.cpp:818
character_refine_preprocesst::convert_to_title_case_char
static codet convert_to_title_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1230
character_refine_preprocesst::expr_of_is_ascii_lower_case
static exprt expr_of_is_ascii_lower_case(const exprt &chr, const typet &type)
Determines if the specified character is an ASCII lowercase character.
Definition: character_refine_preprocess.cpp:329
character_refine_preprocesst::convert_get_numeric_value_int
static codet convert_get_numeric_value_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:274
character_refine_preprocesst::expr_of_is_letter
static exprt expr_of_is_letter(const exprt &chr, const typet &type)
Determines if the specified character is a letter.
Definition: character_refine_preprocess.cpp:355
character_refine_preprocesst::convert_char_count
static codet convert_char_count(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:83
character_refine_preprocesst::convert_get_type_int
static codet convert_get_type_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:294
character_refine_preprocesst::expr_of_to_chars
static exprt expr_of_to_chars(const exprt &chr, const typet &type)
character_refine_preprocesst::convert_is_ISO_control_int
static codet convert_is_ISO_control_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:614
character_refine_preprocesst::convert_char_function
static codet convert_char_function(exprt(*expr_function)(const exprt &chr, const typet &type), conversion_inputt &target)
converts based on a function on expressions
Definition: character_refine_preprocess.cpp:25
character_refine_preprocesst::expr_of_is_whitespace
static exprt expr_of_is_whitespace(const exprt &chr, const typet &type)
Determines if the specified character is white space according to Java.
Definition: character_refine_preprocess.cpp:1088
character_refine_preprocesst::convert_is_java_letter
static codet convert_is_java_letter(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:668
character_refine_preprocesst::convert_is_identifier_ignorable_char
static codet convert_is_identifier_ignorable_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:564
character_refine_preprocesst::convert_is_java_identifier_start_int
static codet convert_is_java_identifier_start_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method isJavaIdent...
Definition: character_refine_preprocess.cpp:659
character_refine_preprocesst::convert_is_title_case_int
static codet convert_is_title_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:938
character_refine_preprocesst::expr_of_is_ascii_upper_case
static exprt expr_of_is_ascii_upper_case(const exprt &chr, const typet &type)
Determines if the specified character is an ASCII uppercase character.
Definition: character_refine_preprocess.cpp:340
character_refine_preprocesst::convert_is_digit_char
static codet convert_is_digit_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:501
character_refine_preprocesst::convert_is_java_identifier_part_int
static codet convert_is_java_identifier_part_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method isJavaIdent...
Definition: character_refine_preprocess.cpp:636
character_refine_preprocesst::conversion_functiont
codet(* conversion_functiont)(conversion_inputt &target)
Definition: character_refine_preprocess.h:38
character_refine_preprocesst::replace_character_call
codet replace_character_call(const code_function_callt &call) const
replace function calls to functions of the Character by an affectation if possible,...
Definition: character_refine_preprocess.cpp:1288
character_refine_preprocesst::expr_of_is_unicode_identifier_part
static exprt expr_of_is_unicode_identifier_part(const exprt &chr, const typet &type)
Determines if the character may be part of a Unicode identifier.
Definition: character_refine_preprocess.cpp:977
character_refine_preprocesst::convert_to_title_case_int
static codet convert_to_title_case_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1240
character_refine_preprocesst::convert_is_unicode_identifier_part_char
static codet convert_is_unicode_identifier_part_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:990
character_refine_preprocesst::convert_is_java_letter_or_digit
static codet convert_is_java_letter_or_digit(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method isJavaLette...
Definition: character_refine_preprocess.cpp:677
character_refine_preprocesst::expr_of_char_count
static exprt expr_of_char_count(const exprt &chr, const typet &type)
Determines the number of char values needed to represent the specified character (Unicode code point)...
Definition: character_refine_preprocess.cpp:72
character_refine_preprocesst::convert_is_supplementary_code_point
static codet convert_is_supplementary_code_point(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:863
character_refine_preprocesst::initialize_conversion_table
void initialize_conversion_table()
fill maps with correspondance from java method names to conversion functions
Definition: character_refine_preprocess.cpp:1304
codet
Data structure for representing an arbitrary statement in a program.
Definition: std_code_base.h:28
character_refine_preprocesst::convert_is_ideographic
static codet convert_is_ideographic(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:585
character_refine_preprocesst::convert_to_upper_case_char
static codet convert_to_upper_case_char(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:1266
character_refine_preprocesst::convert_is_identifier_ignorable_int
static codet convert_is_identifier_ignorable_int(conversion_inputt &target)
Converts function call to an assignment of an expression corresponding to the java method Character....
Definition: character_refine_preprocess.cpp:576