#!/usr/bin/perl ###########################################################-*-mode:cperl-*- ## ## ## Cepstral, LLC ## ## Copyright (c) 2001 ## ## All Rights Reserved. ## ## ## ## Permission is hereby granted, free of charge, to use and distribute ## ## this software and its documentation without restriction, including ## ## without limitation the rights to use, copy, modify, merge, publish, ## ## distribute, sublicense, and/or sell copies of this work, and to ## ## permit persons to whom this work is furnished to do so, subject to ## ## the following conditions: ## ## 1. The code must retain the above copyright notice, this list of ## ## conditions and the following disclaimer. ## ## 2. Any modifications must be clearly marked as such. ## ## 3. Original authors' names are not deleted. ## ## 4. The authors' names are not used to endorse or promote products ## ## derived from this software without specific prior written ## ## permission. ## ## ## ## CEPSTRAL, LLC AND THE CONTRIBUTORS TO THIS WORK DISCLAIM ALL ## ## WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED ## ## WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL ## ## CEPSTRAL, LLC NOR THE CONTRIBUTORS BE LIABLE FOR ANY SPECIAL, ## ## INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER ## ## RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION ## ## OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR ## ## IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. ## ## ## ########################################################################### ## ## ## Output compiled regexes for cst_regex.c ## ## ## ########################################################################### %RXS = ( cst_rx_white => "[ \n\t\r]+", cst_rx_alpha => "[A-Za-z]+", cst_rx_uppercase => "[A-Z]+", cst_rx_lowercase => "[a-z]+", cst_rx_alphanum => "[0-9A-Za-z]+", cst_rx_identifier => "[A-Za-z_][0-9A-Za-z_]+", cst_rx_int => "-?[0-9]+", cst_rx_double => "-?\\(\\([0-9]+\\.[0-9]*\\)\\|\\([0-9]+\\)\\|\\(\\.[0-9]+\\)\\)\\([eE][---+]?[0-9]+\\)?", cst_rx_commaint => "[0-9][0-9]?[0-9]?,\\([0-9][0-9][0-9],\\)*[0-9][0-9][0-9]\\(\\.[0-9]+\\)?", cst_rx_digits => "[0-9][0-9]*", cst_rx_dotted_abbrev => "\\([A-Za-z]\\.\\)*[A-Za-z]", ); while (my ($n, $r) = each %RXS) { system './regexcomp', $n, $r; } foreach my $n (keys %RXS) { print "const cst_regex *$n = &${n}_rx;\n"; }