aconfig: restrict valid namespace and flag names

The namespace and flag names will be used as identifiers in the
auto-generated code. Place restrictions on what constitutes a valid
name.

Valid identifiers are those that match /[a-z][a-z0-9_]/. aconfig
explicitly does not implement any automatic translation to make names
valid identifiers: this sidesteps potential conflicts such as "foo.bar"
and "foo_bar" mapping to the same name if dots were translated to
underscores.

Bug: b/284252015
Test: atest aconfig.test
Change-Id: I38d005a74311e5829e540063404d1565071e6e96
diff --git a/tools/aconfig/testdata/first.values b/tools/aconfig/testdata/first.values
index e6017fe..3c49111 100644
--- a/tools/aconfig/testdata/first.values
+++ b/tools/aconfig/testdata/first.values
@@ -1,18 +1,18 @@
 flag_value {
     namespace: "test"
-    name: "disabled-ro"
+    name: "disabled_ro"
     state: DISABLED
     permission: READ_ONLY
 }
 flag_value {
     namespace: "test"
-    name: "enabled-ro"
+    name: "enabled_ro"
     state: DISABLED
     permission: READ_WRITE
 }
 flag_value {
     namespace: "test"
-    name: "enabled-rw"
+    name: "enabled_rw"
     state: ENABLED
     permission: READ_WRITE
 }
diff --git a/tools/aconfig/testdata/second.values b/tools/aconfig/testdata/second.values
index 44b6b3e..3fe11ab 100644
--- a/tools/aconfig/testdata/second.values
+++ b/tools/aconfig/testdata/second.values
@@ -1,6 +1,6 @@
 flag_value {
     namespace: "test"
-    name: "enabled-ro"
+    name: "enabled_ro"
     state: ENABLED
     permission: READ_ONLY
 }
diff --git a/tools/aconfig/testdata/test.aconfig b/tools/aconfig/testdata/test.aconfig
index 16be425..986a526 100644
--- a/tools/aconfig/testdata/test.aconfig
+++ b/tools/aconfig/testdata/test.aconfig
@@ -4,14 +4,14 @@
 # - test.aconfig: DISABLED + READ_WRITE (default)
 # - first.values: DISABLED + READ_ONLY
 flag {
-    name: "disabled-ro"
+    name: "disabled_ro"
     description: "This flag is DISABLED + READ_ONLY"
 }
 
 # This flag's final value is calculated from:
 # - test.aconfig: DISABLED + READ_WRITE (default)
 flag {
-    name: "disabled-rw"
+    name: "disabled_rw"
     description: "This flag is DISABLED + READ_WRITE"
 }
 
@@ -20,7 +20,7 @@
 # - first.values: DISABLED + READ_WRITE
 # - second.values: ENABLED + READ_ONLY
 flag {
-    name: "enabled-ro"
+    name: "enabled_ro"
     description: "This flag is ENABLED + READ_ONLY"
 }
 
@@ -28,6 +28,6 @@
 # - test.aconfig: DISABLED + READ_WRITE (default)
 # - first.values: ENABLED + READ_WRITE
 flag {
-    name: "enabled-rw"
+    name: "enabled_rw"
     description: "This flag is ENABLED + READ_WRITE"
 }