Re: Line continuation characters

[email protected] (Damian Conway)
Newsgroups perl.recdescent
Message-ID <[email protected]>
This is how I'd do it.

Damian

-----------cut-----------cut-----------cut-----------cut-----------cut----------

use Parse::RecDescent;

my @lines = << 'EOINST';
// COMMAND ARG1-VALUE,ARG2-VALUE, +
   ARG3-VALUE,ARG4-VALUE, +
   EVEN-MORE-ARGS
// ANOTHERCOMMAND
* and a comment
* or two
EOINST

my $parse = Parse::RecDescent->new(join '', <DATA>) or die "Bad Grammar!";

use Data::Dumper 'Dumper';
print Dumper [
$parse->Instructions("@lines") or die "NOT parsable!!\n"
];

__DATA__

Instructions: command(s)

command: multiline_command
       | singleline_command
       | comment

singleline_command: 
	'//'  /.*/
		{ {command => $item[-1]} }

multiline_command:  
	'//' /(.*?[+][ \t]*\n)+.*/
		{ $item[-1] =~ s/[+][ \t]*\n//g; {command => $item[-1]} }

comment:
	'*'  /.*/
		{ {comment => $item[-1]} }
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.