HEX

Warning: set_time_limit() [function.set-time-limit]: Cannot set time limit - prohibited by configuration in /home/u547966/brikov.ru/www/wp-content/plugins/admin-menu-editor/menu-editor.php on line 745
Server: Apache
System: Linux 4.19.0-0.bpo.9-amd64 x86_64 at red40
User: u547966 (5490)
PHP: 5.3.29-mh2
Disabled: syslog, dl, popen, proc_open, proc_nice, proc_get_status, proc_close, proc_terminate, posix_mkfifo, chown, chgrp, accelerator_reset, opcache_reset, accelerator_get_status, opcache_get_status, pcntl_alarm, pcntl_fork, pcntl_waitpid, pcntl_wait, pcntl_wifexited, pcntl_wifstopped, pcntl_wifsignaled, pcntl_wifcontinued, pcntl_wexitstatus, pcntl_wtermsig, pcntl_wstopsig, pcntl_signal, pcntl_signal_dispatch, pcntl_get_last_error, pcntl_strerror, pcntl_sigprocmask, pcntl_sigwaitinfo, pcntl_sigtimedwait, pcntl_exec, pcntl_getpriority, pcntl_setpriority
Upload Files
File: //usr/share/doc/libparse-recdescent-perl/examples/demo_quicklist.pl
#!/usr/bin/perl -w

use Parse::RecDescent;

#$RD_TRACE=1;
#$RD_HINT=1;

my $parser = Parse::RecDescent->new(<<'EOG') or die;

	list1N_c:	term(s /,/)
	list1N_s:	term(s /\/+/)

	list0N_c:	term(s? /,/)
	list0N_s:	term(s? /\/+/)

	list01_c:	term(? /,/)
	list01_s:	term(? /\/+/)

	list2_c:	term(2 /,/)
	list2_s:	term(2 /\/+/)

	list02_c:	term(0..2 /,/)
	list02_s:	term(0..2 /\/+/)

	list2N_c:	term(2.. /,/)
	list2N_s:	term(2.. /\/+/)

	list13_c:	term(..3 /,/)
	list13_s:	term(..3 /\/+/)

	term: 't'
EOG

while (<DATA>)
{
	print;
	print "\tlist1N_c:\t", @{$parser->list1N_c($_)||['undef']}, "\n";
	print "\tlist1N_s:\t", @{$parser->list1N_s($_)||['undef']}, "\n";

	print "\tlist0N_c:\t", @{$parser->list0N_c($_)||['undef']}, "\n";
	print "\tlist0N_s:\t", @{$parser->list0N_s($_)||['undef']}, "\n";

	print "\tlist01_c:\t", @{$parser->list01_c($_)||['undef']}, "\n";
	print "\tlist01_s:\t", @{$parser->list01_s($_)||['undef']}, "\n";

	print "\tlist2_c:\t", @{$parser->list2_c($_)||['undef']}, "\n";
	print "\tlist2_s:\t", @{$parser->list2_s($_)||['undef']}, "\n";

	print "\tlist02_c:\t", @{$parser->list02_c($_)||['undef']}, "\n";
	print "\tlist02_s:\t", @{$parser->list02_s($_)||['undef']}, "\n";

	print "\tlist2N_c:\t", @{$parser->list2N_c($_)||['undef']}, "\n";
	print "\tlist2N_s:\t", @{$parser->list2N_s($_)||['undef']}, "\n";

	print "\tlist13_c:\t", @{$parser->list13_c($_)||['undef']}, "\n";
	print "\tlist13_s:\t", @{$parser->list13_s($_)||['undef']}, "\n";

	print "-----\n";
}

__DATA__

t
t,t
t,t,t
t,t,t,t
t
t/t
t/t//t
t/t///t/t