Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
Perlito5 - grammar - use Apply.special_arg
  • Loading branch information
fglock committed Aug 10, 2013
1 parent d129472 commit ee9baec
Show file tree
Hide file tree
Showing 3 changed files with 23 additions and 31 deletions.
8 changes: 4 additions & 4 deletions html/perlito5.js
Expand Up @@ -9396,7 +9396,7 @@ return r;
}
})()], 0) }), function () { return p5context([(function () {
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('str', (v_str));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', p5pkg["Perlito5::Match"].flat(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('map_or_grep')), 1), 'arguments', (new p5ArrayRef(p5list_to_a(p5call(p5pkg["Perlito5::AST::Lit::Block"], "new", p5list_to_a('stmts', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.term_curly')._hash_.p5hget_array('capture')._array_.p5aget(2)), 1), (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) || (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) = new p5ArrayRef([])))._array_))), 'namespace', ''), 1))))));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', p5pkg["Perlito5::Match"].flat(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('map_or_grep')), 1), 'special_arg', p5call(p5pkg["Perlito5::AST::Lit::Block"], "new", p5list_to_a('stmts', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.term_curly')._hash_.p5hget_array('capture')._array_.p5aget(2)), 1), 'arguments', p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), 1), 'namespace', ''), 1))))));
return (p5context([1], p5want));
})()], p5want) }));
})()], 0), function () { return p5context([(function () {
Expand Down Expand Up @@ -9438,7 +9438,7 @@ return r;
}
})()], 0) }), function () { return p5context([p5and((')' == p5pkg["Perlito5::Grammar::Map"].substr([v_str, (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('to'), 1], 0)), function () { return p5context([(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('to', ((1 + p5num((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('to')))))], 0) })], 0) }), function () { return p5context([(function () {
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('str', (v_str));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', p5pkg["Perlito5::Match"].flat(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('map_or_grep')), 1), 'arguments', (new p5ArrayRef(p5list_to_a(p5call(p5pkg["Perlito5::AST::Lit::Block"], "new", p5list_to_a('stmts', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.term_curly')._hash_.p5hget_array('capture')._array_.p5aget(2)), 1), (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) || (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) = new p5ArrayRef([])))._array_))), 'namespace', ''), 1))))));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', p5pkg["Perlito5::Match"].flat(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('map_or_grep')), 1), 'special_arg', p5call(p5pkg["Perlito5::AST::Lit::Block"], "new", p5list_to_a('stmts', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.term_curly')._hash_.p5hget_array('capture')._array_.p5aget(2)), 1), 'arguments', p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), 1), 'namespace', ''), 1))))));
return (p5context([1], p5want));
})()], p5want) })], p5want));
})()], p5want) }));
Expand Down Expand Up @@ -9574,7 +9574,7 @@ return r;
}
})()], 0) }), function () { return p5context([(function () {
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('str', (v_str));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', 'sort', 'arguments', (new p5ArrayRef(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('_tmp'), (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) || (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) = new p5ArrayRef([])))._array_))), 'namespace', ''), 1))))));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', 'sort', 'special_arg', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('_tmp'), 'arguments', p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), 1), 'namespace', ''), 1))))));
return (p5context([1], p5want));
})()], p5want) }));
})()], 0), function () { return p5context([(function () {
Expand Down Expand Up @@ -9698,7 +9698,7 @@ return r;
}
})()], 0) }), function () { return p5context([p5and((')' == p5pkg["Perlito5::Grammar::Map"].substr([v_str, (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('to'), 1], 0)), function () { return p5context([(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('to', ((1 + p5num((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('to')))))], 0) })], 0) }), function () { return p5context([(function () {
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('str', (v_str));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', 'sort', 'arguments', (new p5ArrayRef(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('_tmp'), (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) || (p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), p5want) = new p5ArrayRef([])))._array_))), 'namespace', ''), 1))))));
(v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hset('capture', ((new p5ArrayRef(p5list_to_a('term', p5call(p5pkg["Perlito5::AST::Apply"], "new", p5list_to_a('code', 'sort', 'special_arg', (v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget('_tmp'), 'arguments', p5pkg["Perlito5::Expression"].expand_list(p5list_to_a((v_MATCH || (v_MATCH = new p5HashRef({})))._hash_.p5hget_hash('Perlito5::Expression.list_parse')._hash_.p5hget('capture')), 1), 'namespace', ''), 1))))));
return (p5context([1], p5want));
})()], p5want) })], p5want));
})()], p5want) }));
Expand Down
8 changes: 4 additions & 4 deletions perlito5.pl
Expand Up @@ -6987,7 +6987,7 @@ sub Perlito5::Grammar::Map::term_map_or_grep {
}
}))) && ((do {
($MATCH->{'str'} = $str);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', Perlito5::Match::flat($MATCH->{'map_or_grep'}), 'arguments', [Perlito5::AST::Lit::Block->new('stmts', $MATCH->{'Perlito5::Expression.term_curly'}->{'capture'}->[2]), @{Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'})}], 'namespace', '')]);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', Perlito5::Match::flat($MATCH->{'map_or_grep'}), 'special_arg', Perlito5::AST::Lit::Block->new('stmts', $MATCH->{'Perlito5::Expression.term_curly'}->{'capture'}->[2]), 'arguments', Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'}), 'namespace', '')]);
1
})))
})) || ((do {
Expand Down Expand Up @@ -7023,7 +7023,7 @@ sub Perlito5::Grammar::Map::term_map_or_grep {
}
}))) && (((')' eq substr($str, $MATCH->{'to'}, 1)) && (($MATCH->{'to'} = (1 + $MATCH->{'to'})))))) && ((do {
($MATCH->{'str'} = $str);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', Perlito5::Match::flat($MATCH->{'map_or_grep'}), 'arguments', [Perlito5::AST::Lit::Block->new('stmts', $MATCH->{'Perlito5::Expression.term_curly'}->{'capture'}->[2]), @{Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'})}], 'namespace', '')]);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', Perlito5::Match::flat($MATCH->{'map_or_grep'}), 'special_arg', Perlito5::AST::Lit::Block->new('stmts', $MATCH->{'Perlito5::Expression.term_curly'}->{'capture'}->[2]), 'arguments', Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'}), 'namespace', '')]);
1
}))))
})))
Expand Down Expand Up @@ -7138,7 +7138,7 @@ sub Perlito5::Grammar::Map::term_sort {
}
}))) && ((do {
($MATCH->{'str'} = $str);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', 'sort', 'arguments', [$MATCH->{'_tmp'}, @{Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'})}], 'namespace', '')]);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', 'sort', 'special_arg', $MATCH->{'_tmp'}, 'arguments', Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'}), 'namespace', '')]);
1
})))
})) || ((do {
Expand Down Expand Up @@ -7247,7 +7247,7 @@ sub Perlito5::Grammar::Map::term_sort {
}
}))) && (((')' eq substr($str, $MATCH->{'to'}, 1)) && (($MATCH->{'to'} = (1 + $MATCH->{'to'})))))) && ((do {
($MATCH->{'str'} = $str);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', 'sort', 'arguments', [$MATCH->{'_tmp'}, @{Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'})}], 'namespace', '')]);
($MATCH->{'capture'} = ['term', Perlito5::AST::Apply->new('code', 'sort', 'special_arg', $MATCH->{'_tmp'}, 'arguments', Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}->{'capture'}), 'namespace', '')]);
1
}))))
})))
Expand Down
38 changes: 15 additions & 23 deletions src5/lib/Perlito5/Grammar/Map.pm
Expand Up @@ -21,12 +21,10 @@ token term_map_or_grep {
{
$MATCH->{capture} = [ 'term',
Perlito5::AST::Apply->new(
code => Perlito5::Match::flat($MATCH->{map_or_grep}),
arguments => [
Perlito5::AST::Lit::Block->new( stmts => $MATCH->{'Perlito5::Expression.term_curly'}{capture}[2] ),
@{ Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}) }
],
namespace => ''
code => Perlito5::Match::flat($MATCH->{map_or_grep}),
special_arg => Perlito5::AST::Lit::Block->new( stmts => $MATCH->{'Perlito5::Expression.term_curly'}{capture}[2] ),
arguments => Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}),
namespace => ''
)
]
}
Expand All @@ -38,12 +36,10 @@ token term_map_or_grep {
{
$MATCH->{capture} = [ 'term',
Perlito5::AST::Apply->new(
code => Perlito5::Match::flat($MATCH->{map_or_grep}),
arguments => [
Perlito5::AST::Lit::Block->new( stmts => $MATCH->{'Perlito5::Expression.term_curly'}{capture}[2] ),
@{ Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}) }
],
namespace => ''
code => Perlito5::Match::flat($MATCH->{map_or_grep}),
special_arg => Perlito5::AST::Lit::Block->new( stmts => $MATCH->{'Perlito5::Expression.term_curly'}{capture}[2] ),
arguments => Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}),
namespace => ''
)
]
}
Expand Down Expand Up @@ -99,11 +95,9 @@ token term_sort {
{
$MATCH->{capture} = [ 'term',
Perlito5::AST::Apply->new(
code => 'sort',
arguments => [
$MATCH->{_tmp},
@{ Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}) }
],
code => 'sort',
special_arg => $MATCH->{_tmp},
arguments => Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}),
namespace => ''
)
]
Expand Down Expand Up @@ -139,12 +133,10 @@ token term_sort {
{
$MATCH->{capture} = [ 'term',
Perlito5::AST::Apply->new(
code => 'sort',
arguments => [
$MATCH->{_tmp},
@{ Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}) }
],
namespace => ''
code => 'sort',
special_arg => $MATCH->{_tmp},
arguments => Perlito5::Expression::expand_list($MATCH->{'Perlito5::Expression.list_parse'}{capture}),
namespace => ''
)
]
}
Expand Down

0 comments on commit ee9baec

Please sign in to comment.