Declare the permitted alphabet tables and code2value tables const.
diff --git a/libasn1compiler/asn1c_constraint.c b/libasn1compiler/asn1c_constraint.c
index bdabfff..6fe896f 100644
--- a/libasn1compiler/asn1c_constraint.c
+++ b/libasn1compiler/asn1c_constraint.c
@@ -315,7 +315,7 @@
 
 		untl = (range_stop - range_start) + 1;
 		untl += (untl % 16)?16 - (untl % 16):0;
-		OUT("static int permitted_alphabet_table_%d[%d] = {\n",
+		OUT("static const int permitted_alphabet_table_%d[%d] = {\n",
 			arg->expr->_type_unique_index, max_table_size);
 		for(n = 0; n < untl; n++) {
 			cardinal += table[n] ? 1 : 0;
@@ -347,7 +347,7 @@
 		if((arg->flags & A1C_GEN_PER)
 		&& (etype & ASN_STRING_KM_MASK)) {
 		    int c;
-		    OUT("static int permitted_alphabet_code2value_%d[%d] = {\n",
+		    OUT("static const int permitted_alphabet_code2value_%d[%d] = {\n",
 			arg->expr->_type_unique_index, cardinal);
 		    for(n = c = 0; c < max_table_size; c++) {
 			if(table[c]) {
@@ -396,7 +396,7 @@
 		OUT("\n");
 	} else {
 		if(use_table) {
-			OUT("int *table = permitted_alphabet_table_%d;\n",
+			OUT("const int *table = permitted_alphabet_table_%d;\n",
 				arg->expr->_type_unique_index);
 			emit_alphabet_check_loop(arg, 0);
 		} else {