Skip to content

Instantly share code, notes, and snippets.

use 5.010;
use strict;
use warnings;
use Carp::Always;
use Marpa::R2 2.090; # for parse(), it's cool
my $g = Marpa::R2::Scanless::G->new( {
source => \(<<'END_OF_SOURCE'),
use 5.010;
use strict;
use warnings;
use Marpa::R2 2.090; # for parse()
my $g = Marpa::R2::Scanless::G->new( {
source => \(<<'END_OF_SOURCE'),
:default ::= action => [ name, value]
lexeme default = action => [ name, value] latm => 1
@rns
rns / output
Last active August 29, 2015 14:06
input : <[/] Trading 10mm ABC 2.5 19 05/06 mkt can use 50mm>
extracted: <ABC 2.5 19>
input : <XYZ 6.5 15 10-2B 106-107 B3 AAA- 1.646MM 2x2>
extracted: <XYZ 6.5 15>
@rns
rns / output
Last active August 29, 2015 14:06
1:
Input: <"String">
Output: ---
-
- '"'
-
- string_token
- String
- '"'
@rns
rns / output.md
Last active August 29, 2015 14:06
---
- S
-
  - S
  -
    - S
    - a
  -
 - S
use 5.010;
use strict;
use warnings;
use Test::More;
use Marpa::R2;
my $dsl = <<'END_OF_SOURCE';
0-25 R : Time flies like an arrow. <- S ::= NP VP period
0- 4 R : Time <- NP ::= NN
# token
0- 4 T : Time <- NN
# glade 0- 4: Time ---
- (NP (NN Time))
5-24 R : flies like an arrow <- VP ::= VBZ PP
# token
5-10 T : flies <- VBZ
@rns
rns / ndq.pl
Last active August 29, 2015 14:06
nested double quotes
use 5.010;
use strict;
use warnings;
# Adapted from balanced parens example in
# http://marvin.cs.uidaho.edu/Teaching/CS445/grammar.html
use Marpa::R2;
use YAML;
use 5.010;
use strict;
use warnings;
use Data::Dumper;
$Data::Dumper::Indent = 0;
$Data::Dumper::Terse = 1;
use Carp::Always; # force stack trace
use 5.010;
use strict;
use warnings;
use Marpa::R2;
my $g = Marpa::R2::Scanless::G->new( {
source => \(<<'END_OF_SOURCE'),
:default ::= action => [ value]
lexeme default = action => [ value] latm => 1