svn commit: r306783 - head/usr.bin/localedef
Baptiste Daroussin
bapt at FreeBSD.org
Thu Oct 6 19:51:31 UTC 2016
Author: bapt
Date: Thu Oct 6 19:51:30 2016
New Revision: 306783
URL: https://svnweb.freebsd.org/changeset/base/306783
Log:
localedef: Improve cc_list parsing
original commit log:
=====
I had originally suspected the parsing of ctype definition files as being
the source of the ctype flag mis-definitions, but it wasn't. In the
process, I simplified the cc_list parsing so I'm committing the no-impact
improvement separately. It removes some parsing redundancies and
won't parse partial range definitions anymore.
====
Submitted by: marino
Obtained from: Dragonfly
MFC after: 1 month
Modified:
head/usr.bin/localedef/parser.y (contents, props changed)
Modified: head/usr.bin/localedef/parser.y
==============================================================================
--- head/usr.bin/localedef/parser.y Thu Oct 6 19:46:43 2016 (r306782)
+++ head/usr.bin/localedef/parser.y Thu Oct 6 19:51:30 2016 (r306783)
@@ -27,6 +27,8 @@
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
+ *
+ * $FreeBSD$
*/
/*
@@ -321,21 +323,18 @@ ctype_kw : T_ISUPPER cc_list T_NL
| T_TOLOWER conv_list T_NL
;
+cc_list : cc_list T_SEMI cc_range_end
+ | cc_list T_SEMI cc_char
+ | cc_char
+ ;
-cc_list : cc_list T_SEMI T_CHAR
+cc_range_end : T_ELLIPSIS T_SEMI T_CHAR
{
- add_ctype($3);
+ add_ctype_range($3);
}
- | cc_list T_SEMI T_SYMBOL
- {
- add_charmap_undefined($3);
- }
- | cc_list T_SEMI T_ELLIPSIS T_SEMI T_CHAR
- {
- /* note that the endpoints *must* be characters */
- add_ctype_range($5);
- }
- | T_CHAR
+ ;
+
+cc_char : T_CHAR
{
add_ctype($1);
}
More information about the svn-src-all
mailing list