linkparser 2.1.0 → 2.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.md +20 -0
- data/README.md +23 -6
- data/ext/{dictionary.c → linkparser_ext/dictionary.c} +3 -3
- data/ext/{extconf.rb → linkparser_ext/extconf.rb} +3 -0
- data/ext/{linkage.c → linkparser_ext/linkage.c} +6 -9
- data/ext/{linkparser.c → linkparser_ext/linkparser.c} +26 -4
- data/ext/{linkparser.h → linkparser_ext/linkparser.h} +1 -1
- data/ext/{parseoptions.c → linkparser_ext/parseoptions.c} +15 -4
- data/ext/{sentence.c → linkparser_ext/sentence.c} +3 -3
- data/lib/linkparser/dictionary.rb +1 -1
- data/lib/linkparser/linkage.rb +1 -1
- data/lib/linkparser/mixins.rb +1 -1
- data/lib/linkparser/parseoptions.rb +1 -1
- data/lib/linkparser/sentence.rb +1 -1
- data/lib/linkparser.rb +3 -3
- data/spec/bugfixes_spec.rb +1 -1
- data/spec/helpers.rb +1 -1
- data/spec/linkparser/dictionary_spec.rb +1 -1
- data/spec/linkparser/linkage_spec.rb +19 -16
- data/spec/linkparser/mixins_spec.rb +1 -1
- data/spec/linkparser/parseoptions_spec.rb +2 -2
- data/spec/linkparser/sentence_spec.rb +1 -1
- data/spec/linkparser_spec.rb +6 -1
- data.tar.gz.sig +0 -0
- metadata +61 -138
- metadata.gz.sig +0 -0
- data/.gemtest +0 -0
- data/.simplecov +0 -9
- data/ChangeLog +0 -882
- data/LICENSE +0 -27
- data/Manifest.txt +0 -29
- data/Rakefile +0 -131
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 60a11d5f3a0362ec040bd6777b59dda5773119508f77fe17f958b98504da4145
|
4
|
+
data.tar.gz: ea70b44b2f4c7c70851b912644b644a648d9361ced1846897424226e741dd380
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fecdcab511f4b1ac9f8f7c6e882238e275127fb05d2380d39c889102e07141e37e990ee32dc77aed3f8773de41b7bd8da56031f425b47671b6db4f95cf4c583e
|
7
|
+
data.tar.gz: 53c2e99535d292f2b0a2e5d3b13e137846a1de39e2a6f8d9b2e5f7422a90308a9eac7ebe7e1cc896bac8bf58710d9d5356b5a148d454dfbf607e507dfba85b7b
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.md
CHANGED
@@ -1,3 +1,23 @@
|
|
1
|
+
# Release History for linkparser
|
2
|
+
|
3
|
+
---
|
4
|
+
## v2.3.0 [2023-01-02] Michael Granger <ged@faeriemud.org>
|
5
|
+
|
6
|
+
Enhancements:
|
7
|
+
|
8
|
+
- Updated old-style function declarations, made some specs more flexible
|
9
|
+
- Update deps, bump default Ruby to 3.2
|
10
|
+
|
11
|
+
|
12
|
+
## v2.2.0 [2020-12-24] Michael Granger <ged@faeriemud.org>
|
13
|
+
|
14
|
+
Enhancements:
|
15
|
+
|
16
|
+
- Updated for Ruby 2.7
|
17
|
+
- Add support for fetching the link-grammar config.
|
18
|
+
- Updated for link-grammar 5.8.0.
|
19
|
+
|
20
|
+
|
1
21
|
## v2.1.0 [2018-01-10] Michael Granger <ged@FaerieMUD.org>
|
2
22
|
|
3
23
|
Enhancements:
|
data/README.md
CHANGED
@@ -1,6 +1,18 @@
|
|
1
1
|
# linkparser
|
2
2
|
|
3
|
-
|
3
|
+
home
|
4
|
+
: https://hg.sr.ht/~ged/linkparser
|
5
|
+
|
6
|
+
code
|
7
|
+
: https://hg.sr.ht/~ged/linkparser/browse
|
8
|
+
|
9
|
+
docs
|
10
|
+
: http://deveiate.org/code/linkparser
|
11
|
+
|
12
|
+
github
|
13
|
+
: http://github.com/ged/linkparser
|
14
|
+
|
15
|
+
|
4
16
|
|
5
17
|
## Description
|
6
18
|
|
@@ -58,16 +70,21 @@ installed it somewhere that your linker doesn't look by default:
|
|
58
70
|
## Contributing
|
59
71
|
|
60
72
|
You can check out the current development source
|
61
|
-
[with Mercurial](
|
73
|
+
[with Mercurial](https://hg.sr.ht/~ged/linkparser),
|
62
74
|
or if you prefer Git, via
|
63
75
|
[its Github mirror](http://github.com/ged/linkparser).
|
64
76
|
|
65
77
|
After checking out the source, run:
|
66
78
|
|
67
|
-
|
79
|
+
$ gen install -Ng
|
80
|
+
$ rake setup
|
81
|
+
|
82
|
+
This will install any missing dependencies and do any neceesary developer setup.
|
83
|
+
|
84
|
+
|
85
|
+
## Author(s)
|
68
86
|
|
69
|
-
|
70
|
-
and generate the API documentation.
|
87
|
+
- Michael Granger <ged@faeriemud.org>
|
71
88
|
|
72
89
|
|
73
90
|
## License
|
@@ -79,7 +96,7 @@ https://www.gnu.org/licenses/lgpl-2.1.html
|
|
79
96
|
|
80
97
|
The gem itself is licensed under the BSD license:
|
81
98
|
|
82
|
-
Copyright (c) 2006-
|
99
|
+
Copyright (c) 2006-2023, The FaerieMUD Consortium
|
83
100
|
All rights reserved.
|
84
101
|
|
85
102
|
Redistribution and use in source and binary forms, with or without
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* dict.c - Ruby LinkParser - Dictionary Class
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*
|
5
5
|
* Authors:
|
6
6
|
* * Michael Granger <ged@FaerieMUD.org>
|
@@ -21,7 +21,7 @@
|
|
21
21
|
* Allocation function
|
22
22
|
*/
|
23
23
|
static struct rlink_dictionary *
|
24
|
-
rlink_dictionary_alloc()
|
24
|
+
rlink_dictionary_alloc( void )
|
25
25
|
{
|
26
26
|
struct rlink_dictionary *ptr = ALLOC( struct rlink_dictionary );
|
27
27
|
|
@@ -310,7 +310,7 @@ rlink_parse( int argc, VALUE *argv, VALUE self )
|
|
310
310
|
* file, and then creates all other objects through it.
|
311
311
|
*/
|
312
312
|
void
|
313
|
-
rlink_init_dict()
|
313
|
+
rlink_init_dict( void )
|
314
314
|
{
|
315
315
|
#ifdef FOR_RDOC
|
316
316
|
rlink_mLinkParser = rb_define_module( "LinkParser" );
|
@@ -36,6 +36,9 @@ have_func( 'dictionary_create_lang' )
|
|
36
36
|
have_func( 'parse_options_get_spell_guess' )
|
37
37
|
have_func( 'linkage_get_disjunct_str' )
|
38
38
|
have_func( 'linkgrammar_get_version' )
|
39
|
+
have_func( 'linkgrammar_get_configuration' )
|
40
|
+
|
41
|
+
have_const( 'CORPUS' )
|
39
42
|
|
40
43
|
create_header()
|
41
44
|
create_makefile( 'linkparser_ext' )
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* linkage.c - Ruby LinkParser Linkage class
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*
|
5
5
|
* Authors:
|
6
6
|
* * Michael Granger <ged@FaerieMUD.org>
|
@@ -28,7 +28,7 @@ VALUE max_width_sym;
|
|
28
28
|
* Allocation function
|
29
29
|
*/
|
30
30
|
static struct rlink_linkage *
|
31
|
-
rlink_linkage_alloc()
|
31
|
+
rlink_linkage_alloc( void )
|
32
32
|
{
|
33
33
|
struct rlink_linkage *ptr = ALLOC( struct rlink_linkage );
|
34
34
|
|
@@ -136,20 +136,17 @@ rlink_linkage_s_alloc( VALUE klass )
|
|
136
136
|
* the parse options of the Sentence for the new linkage.
|
137
137
|
*/
|
138
138
|
static VALUE
|
139
|
-
rlink_linkage_init( argc, argv, self )
|
140
|
-
int argc;
|
141
|
-
VALUE *argv;
|
142
|
-
VALUE self;
|
139
|
+
rlink_linkage_init( int argc, VALUE *argv, VALUE self )
|
143
140
|
{
|
144
141
|
if ( !check_linkage(self) ) {
|
145
|
-
int
|
142
|
+
int link_index, max_index;
|
146
143
|
VALUE index, sentence, options, defopts;
|
147
144
|
struct rlink_sentence *sent_ptr;
|
148
145
|
Linkage linkage;
|
149
146
|
Parse_Options opts;
|
150
147
|
struct rlink_linkage *ptr;
|
151
148
|
|
152
|
-
|
149
|
+
rb_scan_args( argc, argv, "21", &index, &sentence, &options );
|
153
150
|
|
154
151
|
defopts = rb_hash_new(); /*rb_funcall( sentence, rb_intern("options"), 0 );*/
|
155
152
|
options = rlink_make_parse_options( defopts, options );
|
@@ -651,7 +648,7 @@ rlink_linkage_get_violation_name( VALUE self )
|
|
651
648
|
*
|
652
649
|
*/
|
653
650
|
void
|
654
|
-
rlink_init_linkage()
|
651
|
+
rlink_init_linkage( void )
|
655
652
|
{
|
656
653
|
rlink_cLinkage = rb_define_class_under( rlink_mLinkParser, "Linkage", rb_cObject );
|
657
654
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* linkparser.c - Ruby LinkParser
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*
|
5
5
|
* Authors:
|
6
6
|
* * Michael Granger <ged@FaerieMUD.org>
|
@@ -89,8 +89,8 @@ rlink_log( const char *level, const char *fmt, va_dcl )
|
|
89
89
|
* library will have printed out the actual problem to stderr, and stderr is pointed
|
90
90
|
* somewhere useful.
|
91
91
|
*/
|
92
|
-
void
|
93
|
-
rlink_raise_lp_error()
|
92
|
+
_Noreturn void
|
93
|
+
rlink_raise_lp_error( void )
|
94
94
|
{
|
95
95
|
rb_raise( rlink_eLpError, "Unknown error" );
|
96
96
|
}
|
@@ -128,11 +128,31 @@ rlink_link_grammar_version( VALUE self )
|
|
128
128
|
}
|
129
129
|
|
130
130
|
|
131
|
+
/*
|
132
|
+
* call-seq:
|
133
|
+
* LinkParser.link_grammar_config -> string
|
134
|
+
*
|
135
|
+
* Return the configuration used by the underlying link-grammar library.
|
136
|
+
*
|
137
|
+
*/
|
138
|
+
static VALUE
|
139
|
+
rlink_link_grammar_config( VALUE self )
|
140
|
+
{
|
141
|
+
#ifdef HAVE_LINKGRAMMAR_GET_CONFIGURATION
|
142
|
+
const char *config = linkgrammar_get_configuration();
|
143
|
+
if ( !config ) rb_bug( "linkgrammar_get_configuration returned NULL pointer" );
|
144
|
+
return rb_str_new2( config );
|
145
|
+
#else
|
146
|
+
return rb_str_new2( "Compiled with: " );
|
147
|
+
#endif /* HAVE_LINKGRAMMAR_GET_CONFIGURATION */
|
148
|
+
}
|
149
|
+
|
150
|
+
|
131
151
|
/*
|
132
152
|
* LinkParser extension init function
|
133
153
|
*/
|
134
154
|
void
|
135
|
-
Init_linkparser_ext()
|
155
|
+
Init_linkparser_ext( void )
|
136
156
|
{
|
137
157
|
rlink_mLinkParser = rb_define_module( "LinkParser" );
|
138
158
|
|
@@ -141,6 +161,8 @@ Init_linkparser_ext()
|
|
141
161
|
|
142
162
|
rb_define_singleton_method( rlink_mLinkParser, "link_grammar_version",
|
143
163
|
rlink_link_grammar_version, 0 );
|
164
|
+
rb_define_singleton_method( rlink_mLinkParser, "link_grammar_config",
|
165
|
+
rlink_link_grammar_config, 0 );
|
144
166
|
|
145
167
|
rlink_init_dict();
|
146
168
|
rlink_init_sentence();
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* parseoptions.c - Ruby LinkParser::ParseOptions class
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*
|
5
5
|
* Authors:
|
6
6
|
* * Michael Granger <ged@FaerieMUD.org>
|
@@ -538,13 +538,22 @@ rlink_parseopts_set_cost_model_type( VALUE self, VALUE model_name )
|
|
538
538
|
if ( model_name == vdal_sym ) {
|
539
539
|
rlink_log_obj( self, "debug", "Selected the 'VDAL' cost model" );
|
540
540
|
model = VDAL;
|
541
|
-
}
|
541
|
+
}
|
542
|
+
#ifdef CORPUS
|
543
|
+
else if ( model_name == corpus_sym ) {
|
542
544
|
rlink_log_obj( self, "debug", "Selected the 'CORPUS' cost model" );
|
543
545
|
model = CORPUS;
|
544
|
-
}
|
546
|
+
}
|
547
|
+
else {
|
545
548
|
rb_raise( rb_eArgError, "Unknown cost model %s (expected either :vdal or :corpus).",
|
546
549
|
RSTRING_PTR(rb_inspect( model_name )) );
|
547
550
|
}
|
551
|
+
#else
|
552
|
+
else {
|
553
|
+
rb_raise( rb_eArgError, "Unknown cost model %s (this system supports only :vdal).",
|
554
|
+
RSTRING_PTR(rb_inspect( model_name )) );
|
555
|
+
}
|
556
|
+
#endif // CORPUS
|
548
557
|
|
549
558
|
rlink_log_obj( self, "info", "Setting the cost model to %s", model == VDAL ? "VDAL" : "CORPUS" );
|
550
559
|
parse_options_reset_resources( opts );
|
@@ -576,9 +585,11 @@ rlink_parseopts_get_cost_model_type( VALUE self )
|
|
576
585
|
case VDAL:
|
577
586
|
model_name = vdal_sym;
|
578
587
|
break;
|
588
|
+
#ifdef CORPUS
|
579
589
|
case CORPUS:
|
580
590
|
model_name = corpus_sym;
|
581
591
|
break;
|
592
|
+
#endif // CORPUS
|
582
593
|
default:
|
583
594
|
rb_bug( "Unhandled cost model type %d", model );
|
584
595
|
}
|
@@ -715,7 +726,7 @@ rlink_parseopts_reset_resources( VALUE self )
|
|
715
726
|
|
716
727
|
|
717
728
|
void
|
718
|
-
rlink_init_parseoptions()
|
729
|
+
rlink_init_parseoptions( void )
|
719
730
|
{
|
720
731
|
rlink_cParseOptions = rb_define_class_under( rlink_mLinkParser,
|
721
732
|
"ParseOptions", rb_cObject );
|
@@ -1,6 +1,6 @@
|
|
1
1
|
/*
|
2
2
|
* sentence.c - Ruby LinkParser
|
3
|
-
* $Id
|
3
|
+
* $Id$
|
4
4
|
*
|
5
5
|
* Authors:
|
6
6
|
* * Michael Granger <ged@FaerieMUD.org>
|
@@ -30,7 +30,7 @@
|
|
30
30
|
* Allocation function
|
31
31
|
*/
|
32
32
|
static struct rlink_sentence *
|
33
|
-
rlink_sentence_alloc()
|
33
|
+
rlink_sentence_alloc( void )
|
34
34
|
{
|
35
35
|
struct rlink_sentence *ptr = ALLOC( struct rlink_sentence );
|
36
36
|
|
@@ -459,7 +459,7 @@ rlink_sentence_disjunct_cost( VALUE self, VALUE i )
|
|
459
459
|
*
|
460
460
|
*/
|
461
461
|
void
|
462
|
-
rlink_init_sentence()
|
462
|
+
rlink_init_sentence( void )
|
463
463
|
{
|
464
464
|
rlink_cSentence = rb_define_class_under( rlink_mLinkParser, "Sentence",
|
465
465
|
rb_cObject );
|
data/lib/linkparser/linkage.rb
CHANGED
data/lib/linkparser/mixins.rb
CHANGED
data/lib/linkparser/sentence.rb
CHANGED
data/lib/linkparser.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require 'loggability'
|
5
5
|
|
@@ -9,7 +9,7 @@ module LinkParser
|
|
9
9
|
|
10
10
|
|
11
11
|
# Release version
|
12
|
-
VERSION = '2.
|
12
|
+
VERSION = '2.3.0'
|
13
13
|
|
14
14
|
|
15
15
|
# Loggability API -- set up a logger
|
@@ -31,11 +31,11 @@ module LinkParser
|
|
31
31
|
end
|
32
32
|
|
33
33
|
require 'linkparser/mixins'
|
34
|
+
|
34
35
|
require 'linkparser/dictionary'
|
35
36
|
require 'linkparser/sentence'
|
36
37
|
require 'linkparser/linkage'
|
37
38
|
require 'linkparser/parseoptions'
|
38
39
|
|
39
|
-
|
40
40
|
end # class LinkParser
|
41
41
|
|
data/spec/bugfixes_spec.rb
CHANGED
data/spec/helpers.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require_relative '../helpers'
|
5
5
|
|
@@ -26,7 +26,7 @@ describe LinkParser::Linkage do
|
|
26
26
|
" +--------------Xp--------------+\n",
|
27
27
|
" +-------->WV------->+ |\n",
|
28
28
|
" +---->Wd-----+ | |\n",
|
29
|
-
" | +Ds**c
|
29
|
+
" | +Ds**c+-Ss*s-+--Pa--+ +--RW--+\n",
|
30
30
|
" | | | | | | |\n",
|
31
31
|
"LEFT-WALL the flag.n was.v-d wet.a . RIGHT-WALL\n",
|
32
32
|
)
|
@@ -49,7 +49,7 @@ describe LinkParser::Linkage do
|
|
49
49
|
" LEFT-WALL Xp ----Xp----- Xp .\n",
|
50
50
|
" (m) LEFT-WALL hWV >---WV----> dWV was.v-d\n",
|
51
51
|
" (m) LEFT-WALL hWd >---Wd----- Wd flag.n\n",
|
52
|
-
" (m) flag.n Ss
|
52
|
+
" (m) flag.n Ss*s ----Ss*s--- Ss was.v-d\n",
|
53
53
|
" (m) the D ----Ds**c-- Ds**c flag.n\n",
|
54
54
|
" (m) was.v-d Pa ----Pa----- Pa wet.a\n",
|
55
55
|
" . RW ----RW----- RW RIGHT-WALL\n",
|
@@ -133,7 +133,7 @@ describe LinkParser::Linkage do
|
|
133
133
|
expect( linkage.link_label(0) ).to eq( "Xp" )
|
134
134
|
expect( linkage.link_label(1) ).to eq( "WV" )
|
135
135
|
expect( linkage.link_label(2) ).to eq( "Wd" )
|
136
|
-
expect( linkage.link_label(3) ).to eq( "Ss" )
|
136
|
+
expect( linkage.link_label(3) ).to eq( "Ss*s" )
|
137
137
|
expect( linkage.link_label(4) ).to eq( "Ds**c" )
|
138
138
|
expect( linkage.link_label(5) ).to eq( "Pa" )
|
139
139
|
expect( linkage.link_label(6) ).to eq( "RW" )
|
@@ -146,7 +146,7 @@ describe LinkParser::Linkage do
|
|
146
146
|
expect( linkage.link_llabel(0) ).to eq( "Xp" )
|
147
147
|
expect( linkage.link_llabel(1) ).to eq( "hWV" )
|
148
148
|
expect( linkage.link_llabel(2) ).to eq( "hWd" )
|
149
|
-
expect( linkage.link_llabel(3) ).to eq( "Ss" )
|
149
|
+
expect( linkage.link_llabel(3) ).to eq( "Ss*s" )
|
150
150
|
expect( linkage.link_llabel(4) ).to eq( "D" )
|
151
151
|
expect( linkage.link_llabel(5) ).to eq( "Pa" )
|
152
152
|
expect( linkage.link_llabel(6) ).to eq( "RW" )
|
@@ -169,7 +169,8 @@ describe LinkParser::Linkage do
|
|
169
169
|
|
170
170
|
|
171
171
|
it "can return the number of domains for any link" do
|
172
|
-
|
172
|
+
pending "are domains deprecated or something?"
|
173
|
+
expect( linkage.link_num_domains(0) ).to eq( -1 )
|
173
174
|
expect( linkage.link_num_domains(1) ).to eq( 1 )
|
174
175
|
expect( linkage.link_num_domains(2) ).to eq( 1 )
|
175
176
|
expect( linkage.link_num_domains(3) ).to eq( 1 )
|
@@ -182,6 +183,7 @@ describe LinkParser::Linkage do
|
|
182
183
|
|
183
184
|
|
184
185
|
it "can return the names of the domains of any of its links" do
|
186
|
+
pending "are domains deprecated or something?"
|
185
187
|
expect( linkage.link_domain_names(0) ).to be_an_instance_of( Array )
|
186
188
|
expect( linkage.link_domain_names(0) ).to be_empty
|
187
189
|
|
@@ -233,13 +235,13 @@ describe LinkParser::Linkage do
|
|
233
235
|
end
|
234
236
|
|
235
237
|
|
236
|
-
|
237
|
-
|
238
|
-
|
239
|
-
|
240
|
-
|
241
|
-
|
242
|
-
|
238
|
+
# LEFT-WALL Xp ----Xp----- Xp .
|
239
|
+
# (m) LEFT-WALL hWV >---WV----> dWV was.v-d
|
240
|
+
# (m) LEFT-WALL hWd >---Wd----- Wd flag.n
|
241
|
+
# (m) flag.n Ss*s ----Ss*s--- Ss was.v-d
|
242
|
+
# (m) the D ----Ds**c-- Ds**c flag.n
|
243
|
+
# (m) was.v-d Pa ----Pa----- Pa wet.a
|
244
|
+
# . RW ----RW----- RW RIGHT-WALL
|
243
245
|
it "contains link structs describing the linkage" do
|
244
246
|
expect( linkage.links ).to be_an_instance_of( Array )
|
245
247
|
expect( linkage.links.length ).to eq( 7 )
|
@@ -254,7 +256,7 @@ describe LinkParser::Linkage do
|
|
254
256
|
expect( linkage.links.last.label ).to eq( 'RW' )
|
255
257
|
expect( linkage.links[3].lword ).to eq( 'flag.n' )
|
256
258
|
expect( linkage.links[3].rword ).to eq( 'was.v-d' )
|
257
|
-
expect( linkage.links[3].label ).to eq( 'Ss' )
|
259
|
+
expect( linkage.links[3].label ).to eq( 'Ss*s' )
|
258
260
|
end
|
259
261
|
|
260
262
|
|
@@ -331,17 +333,18 @@ describe LinkParser::Linkage do
|
|
331
333
|
|
332
334
|
|
333
335
|
it "should know that it's not an imperative sentence" do
|
334
|
-
expect( linkage
|
336
|
+
expect( linkage ).to_not be_imperative()
|
335
337
|
end
|
336
338
|
|
337
339
|
|
338
340
|
context "from an imperative sentence" do
|
339
341
|
|
340
342
|
let( :text ) { "Go to the store!" }
|
343
|
+
let( :linkage ) { sentence.linkages.find {|l| l.links.detect {|link| link.label == 'Wi' } } }
|
341
344
|
|
342
345
|
|
343
346
|
it "knows that it's an imperative sentence" do
|
344
|
-
expect( linkage
|
347
|
+
expect( linkage ).to be_imperative()
|
345
348
|
end
|
346
349
|
|
347
350
|
|
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require_relative '../helpers'
|
5
5
|
|
@@ -15,7 +15,7 @@ describe LinkParser::ParseOptions do
|
|
15
15
|
it "starts out with documented defaults" do
|
16
16
|
expect( opts.verbosity ).to eq( 1 ) # Docs say this is 0
|
17
17
|
expect( opts.linkage_limit ).to eq( 100 ) # Docs say this is 10000
|
18
|
-
expect( opts.disjunct_cost ).to eq(
|
18
|
+
expect( opts.disjunct_cost ).to eq( -10000 ) # Docs say this is 2.8
|
19
19
|
expect( opts.min_null_count ).to eq( 0 )
|
20
20
|
expect( opts.max_null_count ).to eq( 0 )
|
21
21
|
expect( opts.islands_ok? ).to eq( false )
|
data/spec/linkparser_spec.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
# -*- ruby -*-
|
2
|
-
#
|
2
|
+
# frozen_string_literal: true
|
3
3
|
|
4
4
|
require_relative 'helpers'
|
5
5
|
|
@@ -13,5 +13,10 @@ describe LinkParser do
|
|
13
13
|
expect( LinkParser.link_grammar_version ).to match( /link-grammar-\d+\.\d+\.\d+/i )
|
14
14
|
end
|
15
15
|
|
16
|
+
|
17
|
+
it "knows what the configuration of the link-grammar library was" do
|
18
|
+
expect( LinkParser.link_grammar_config ).to match( /compiled with:/i )
|
19
|
+
end
|
20
|
+
|
16
21
|
end
|
17
22
|
|
data.tar.gz.sig
CHANGED
Binary file
|