File: grammar_autospace.t

package info (click to toggle)
libregexp-grammars-perl 1.058-2
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, forky, sid, trixie
  • size: 1,328 kB
  • sloc: perl: 53,328; makefile: 2
file content (37 lines) | stat: -rw-r--r-- 794 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
use 5.010;
use warnings;

use Test::More;
plan tests => 1;

my $relation;
{
    use Regexp::Grammars;

    qr{
        <grammar: Main>

# FIX THIS (CURRENTLY NOT WORKING CORRECTLY)...
#        <debug: same>

        <objrule: Axiom::Expr=Relation>
            (?:
                \( <[args=Relation]> \) <.ImpliesToken> \( <[args=Relation]> \)
                <type=(?{ 'implies' })>
            |
                <[args=Expr]> <.EqualsToken> <[args=Expr]>
                <type=(?{ 'equals' })>
            )

        <token: ImpliesToken>   -\>
        <token: Expr>           [A-Z]
        <token: EqualsToken>    =
    }xms;

    $relation = qr{
        <extends: Main>
        <Relation>
    }xms;
}

ok '(A = B) -> (B = A)' =~ qr/\A$relation\Z/ => 'Correctly matched trailing autospace';