linkparser 2.1.0 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|