February 2006
Intermediate to advanced
304 pages
6h 16m
English
Finally, we have the re_graph.pl program. This does the actual work of graphing the regular expression.
1 # 2 # re_graph.pl -- Graph a regular expression 3 # 4 use strict; 5 use warnings; 6 7 use IO::Handle; 8 use English; 9 use GD; 10 use GD::Arrow; 11 12 use parse; 13 use size; 14 use draw; 15 16 # Label location 17 use constant LABEL_LOC_X => 50; 18 use constant LABEL_LOC_Y => 50; 19 20 # Location of progress msg 21 use constant PROGRESS_X => 50; 22 use constant PROGRESS_Y => 70; 23 24 # Length of the yellow arrow 25 use constant YELLOW_ARROW_SIZE => 25; 26 use constant YELLOW_ARROW_WIDTH => 5; 27 28 use Getopt::Std; 29 30 use vars qw/$opt_d $opt_o $opt_x $opt_y/; 31 32 STDOUT->autoflush(1); 33 ...