rwdeliza 0.03
Sign up to get free protection for your applications and to get access to all the features.
- data/ElizaData/database/db.1 +7015 -0
- data/ElizaData/database/db.10 +7001 -0
- data/ElizaData/database/db.11 +7001 -0
- data/ElizaData/database/db.12 +7003 -0
- data/ElizaData/database/db.13 +7003 -0
- data/ElizaData/database/db.14 +7008 -0
- data/ElizaData/database/db.15 +7001 -0
- data/ElizaData/database/db.16 +7001 -0
- data/ElizaData/database/db.17 +7001 -0
- data/ElizaData/database/db.18 +7001 -0
- data/ElizaData/database/db.19 +7001 -0
- data/ElizaData/database/db.2 +7001 -0
- data/ElizaData/database/db.20 +5467 -0
- data/ElizaData/database/db.3 +7001 -0
- data/ElizaData/database/db.4 +7001 -0
- data/ElizaData/database/db.5 +7001 -0
- data/ElizaData/database/db.6 +7001 -0
- data/ElizaData/database/db.7 +7001 -0
- data/ElizaData/database/db.8 +7001 -0
- data/ElizaData/database/db.9 +7001 -0
- data/ElizaData/responses/hello.res +1 -0
- data/ElizaData/responses/i_agree.res +1 -0
- data/ElizaData/responses/i_am_listening_to_you.res +1 -0
- data/ElizaData/responses/please_explain.res +1 -0
- data/ElizaData/responses/thank_you.res +1 -0
- data/ElizaData/tiny.dict +211 -0
- data/ElizaData/words/adjectives1.words +906 -0
- data/ElizaData/words/adjectives2w.words +1 -0
- data/ElizaData/words/noun0.words +15 -0
- data/ElizaData/words/noun1.words +1391 -0
- data/ElizaData/words/noun2.words +1924 -0
- data/ElizaData/words/noun4.words +330 -0
- data/ElizaData/words/pronoun1.words +6 -0
- data/ElizaData/words/verb4.words +350 -0
- data/ElizaData/words/verb42.words +391 -0
- data/ElizaData/words/verb42w.words +1 -0
- data/ElizaData/words/verb43.words +402 -0
- data/ElizaData/words/verb43w.words +1 -0
- data/ElizaData/words/verb45.words +452 -0
- data/ElizaData/words/verb4w.words +1 -0
- data/ElizaData/words/verb5.words +13 -0
- data/ElizaData/words/verb61.words +35 -0
- data/ElizaData/words/verb62.words +41 -0
- data/ElizaData/words/verb83.words +17 -0
- data/Readme.txt +462 -0
- data/bin/rwdeliza +19 -0
- data/code/01rwdcore/01rwdcore.rb +29 -0
- data/code/01rwdcore/02helptexthashbegin.rb +4 -0
- data/code/01rwdcore/03helptexthash.rb +23 -0
- data/code/01rwdcore/04helptextend.rb +6 -0
- data/code/01rwdcore/jumplinkcommand.rb +26 -0
- data/code/01rwdcore/openhelpwindow.rb +31 -0
- data/code/01rwdcore/returntomain.rb +10 -0
- data/code/01rwdcore/rundocuments.rb +10 -0
- data/code/01rwdcore/runeditconfiguration.rb +10 -0
- data/code/01rwdcore/runhelpabout.rb +10 -0
- data/code/01rwdcore/runopentinkerdocument.rb +7 -0
- data/code/01rwdcore/rwdtinkerversion.rb +22 -0
- data/code/01rwdcore/rwdwindowreturn.rb +9 -0
- data/code/01rwdcore/selectiontab.rb +9 -0
- data/code/01rwdcore/setuphelpaboutoptions.rb +13 -0
- data/code/01rwdcore/setuptinkerdocuments.rb +6 -0
- data/code/01rwdcore/test_cases.rb +109 -0
- data/code/01rwdcore/test_harness.rb +13 -0
- data/code/01rwdcore/uploadreturns.rb +62 -0
- data/code/dd0viewphoto/dd0viewphoto.rb +3 -0
- data/code/superant.com.rwdeliza/0uninstallapplet.rb +10 -0
- data/code/superant.com.rwdeliza/eliza01.rb +45 -0
- data/code/superant.com.rwdeliza/helptexthashrwdeliza.rb +39 -0
- data/code/superant.com.rwdeliza/openhelpwindowrwdeliza.rb +23 -0
- data/code/superant.com.rwdeliza/runrwdshellwindow.rb +12 -0
- data/code/superant.com.rwdeliza/rwdtinkerversion.rb +10 -0
- data/code/superant.com.rwdeliza/tagsentence.rb +39 -0
- data/code/superant.com.rwdtinkerbackwindow/diagnostictab.rb +19 -0
- data/code/superant.com.rwdtinkerbackwindow/helptexthashtinkerwin2.rb +61 -0
- data/code/superant.com.rwdtinkerbackwindow/initiateapplets.rb +240 -0
- data/code/superant.com.rwdtinkerbackwindow/installgemapplet.rb +34 -0
- data/code/superant.com.rwdtinkerbackwindow/installremotegem.rb +20 -0
- data/code/superant.com.rwdtinkerbackwindow/listgemdirs.rb +12 -0
- data/code/superant.com.rwdtinkerbackwindow/listgemzips.rb +53 -0
- data/code/superant.com.rwdtinkerbackwindow/listinstalledfiles.rb +12 -0
- data/code/superant.com.rwdtinkerbackwindow/listzips.rb +27 -0
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationrecord.rb +22 -0
- data/code/superant.com.rwdtinkerbackwindow/loadconfigurationvariables.rb +14 -0
- data/code/superant.com.rwdtinkerbackwindow/network.rb +87 -0
- data/code/superant.com.rwdtinkerbackwindow/openappletname.rb +19 -0
- data/code/superant.com.rwdtinkerbackwindow/openhelpwindowtinkerwin2.rb +38 -0
- data/code/superant.com.rwdtinkerbackwindow/remotegemlist.rb +24 -0
- data/code/superant.com.rwdtinkerbackwindow/removeapplet.rb +46 -0
- data/code/superant.com.rwdtinkerbackwindow/removeappletvariables.rb +52 -0
- data/code/superant.com.rwdtinkerbackwindow/runremoteinstall.rb +11 -0
- data/code/superant.com.rwdtinkerbackwindow/runrwdtinkerbackwindow.rb +15 -0
- data/code/superant.com.rwdtinkerbackwindow/rwdtinkerwin2version.rb +13 -0
- data/code/superant.com.rwdtinkerbackwindow/saveconfigurationrecord.rb +19 -0
- data/code/superant.com.rwdtinkerbackwindow/viewappletcontents.rb +22 -0
- data/code/superant.com.rwdtinkerbackwindow/viewgemappletcontents.rb +24 -0
- data/code/superant.com.words/dictlookup.rb +20 -0
- data/code/superant.com.words/runfortunewindow.rb +14 -0
- data/code/superant.com.words/runrwdwordsbackwindow.rb +10 -0
- data/code/superant.com.words/runrwdwordsversion.rb +14 -0
- data/code/superant.com.words/rwdtinkerversion.rb +10 -0
- data/code/zz0applicationend/zz0end.rb +4 -0
- data/configuration/language.dist +8 -0
- data/configuration/rwdapplicationidentity.dist +3 -0
- data/configuration/rwdtinker.dist +18 -0
- data/configuration/rwdweliza-0.03.dist +31 -0
- data/configuration/tinkerwin2variables.dist +17 -0
- data/gui/00coreguibegin/applicationguitop.rwd +4 -0
- data/gui/frontwindow0/cc0openphoto.rwd +22 -0
- data/gui/frontwindowselections/00selectiontabbegin.rwd +11 -0
- data/gui/frontwindowselections/jumplinkcommands.rwd +15 -0
- data/gui/frontwindowselections/wwselectionend.rwd +3 -0
- data/gui/frontwindowtdocuments/00documentbegin.rwd +6 -0
- data/gui/frontwindowtdocuments/tinkerdocuments.rwd +14 -0
- data/gui/frontwindowtdocuments/zzdocumentend.rwd +8 -0
- data/gui/helpaboutbegin/zzzrwdlasttab.rwd +6 -0
- data/gui/helpaboutbegin/zzzzhelpscreenstart.rwd +3 -0
- data/gui/helpaboutbegin/zzzzzzhelpabouttab.rwd +15 -0
- data/gui/helpaboutzend/helpscreenend.rwd +3 -0
- data/gui/helpaboutzend/zhelpscreenstart2.rwd +3 -0
- data/gui/helpaboutzend/zzzzhelpabout2.rwd +15 -0
- data/gui/helpaboutzend/zzzzhelpscreen2end.rwd +3 -0
- data/gui/tinkerbackwindows/superant.com.refreshwindow/fortunerefreshwindowtwo.rwd +9 -0
- data/gui/tinkerbackwindows/superant.com.rwdeliza/1appname.rwd +5 -0
- data/gui/tinkerbackwindows/superant.com.rwdeliza/1eliza.rwd +21 -0
- data/gui/tinkerbackwindows/superant.com.rwdeliza/4sentance.rwd +21 -0
- data/gui/tinkerbackwindows/superant.com.rwdeliza/98jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.rwdeliza/zbackend.rwd +6 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/1appname.rwd +5 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/20downloadftp.rwd +45 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/67viewconfiguration.rwd +29 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/70rwddiagnostics.rwd +16 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/m01menubegin.rwd +18 -0
- data/gui/tinkerbackwindows/superant.com.rwdschedulebackwindow/zvbackend.rwd +6 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/1appname.rwd +5 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/40rwdlistzips.rwd +41 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/45installremotezip.rwd +44 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/50rwdlistapplets.rwd +44 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/60editconfiguration.rwd +30 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/70rwddiagnostics.rwd +29 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/81jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.tinkerbackwindow/9backend.rwd +6 -0
- data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/1appname.rwd +31 -0
- data/gui/tinkerbackwindows/superant.com.tinkerhelpwindow/9end.rwd +4 -0
- data/gui/tinkerbackwindows/superant.com.versionwindow/1appname.rwd +19 -0
- data/gui/tinkerbackwindows/superant.com.versionwindow/helpaboutwindow.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.words/1appname.rwd +4 -0
- data/gui/tinkerbackwindows/superant.com.words/1dictionary.rwd +19 -0
- data/gui/tinkerbackwindows/superant.com.words/3rwdfortune.rwd +14 -0
- data/gui/tinkerbackwindows/superant.com.words/77jumplinkcommands.rwd +17 -0
- data/gui/tinkerbackwindows/superant.com.words/z9end.rwd +6 -0
- data/gui/zzcoreguiend/yy9rwdend.rwd +4 -0
- data/init.rb +277 -0
- data/installed/rwdweliza-0.03.inf +24 -0
- data/installed/temp.rb +1 -0
- data/lang/en/rwdcore/languagefile.rb +58 -0
- data/lang/es/rwdcore/languagefile-es.rb +62 -0
- data/lang/fr/rwdcore/languagefile.rb +64 -0
- data/lang/jp/rwdcore/languagefile.rb +72 -0
- data/lang/nl/rwdcore/languagefile.rb +75 -0
- data/lib/dict.rb +438 -0
- data/lib/druida.rb +499 -0
- data/lib/hashslice.rb +71 -0
- data/lib/linguistics.rb +360 -0
- data/lib/linguistics/en.rb +1601 -0
- data/lib/linguistics/en/infinitive.rb +1148 -0
- data/lib/linguistics/en/linkparser.rb +142 -0
- data/lib/linguistics/en/wordnet.rb +253 -0
- data/lib/linguistics/iso639.rb +456 -0
- data/lib/linkparser.rb +461 -0
- data/lib/linkparser/connection.rb +81 -0
- data/lib/linkparser/connector.rb +201 -0
- data/lib/linkparser/definition.rb +225 -0
- data/lib/linkparser/dictionary.rb +208 -0
- data/lib/linkparser/linkage.rb +185 -0
- data/lib/linkparser/log.rb +39 -0
- data/lib/linkparser/sentence.rb +79 -0
- data/lib/linkparser/utils.rb +540 -0
- data/lib/linkparser/word.rb +92 -0
- data/lib/rconftool.rb +380 -0
- data/lib/rwd/browser.rb +123 -0
- data/lib/rwd/ftools.rb +174 -0
- data/lib/rwd/mime.rb +328 -0
- data/lib/rwd/net.rb +866 -0
- data/lib/rwd/ruby.rb +889 -0
- data/lib/rwd/rwd.rb +1942 -0
- data/lib/rwd/sgml.rb +236 -0
- data/lib/rwd/thread.rb +63 -0
- data/lib/rwd/tree.rb +371 -0
- data/lib/rwd/xml.rb +101 -0
- data/lib/zip/ioextras.rb +114 -0
- data/lib/zip/stdrubyext.rb +111 -0
- data/lib/zip/tempfile_bugfixed.rb +195 -0
- data/lib/zip/zip.rb +1378 -0
- data/lib/zip/zipfilesystem.rb +558 -0
- data/lib/zip/ziprequire.rb +61 -0
- data/rwd_files/HowTo_Eliza.txt +195 -0
- data/rwd_files/HowTo_Tinker.txt +471 -0
- data/rwd_files/HowTo_TinkerWin2.txt +202 -0
- data/rwd_files/Readme.txt +57 -0
- data/rwd_files/RubyWebDialogs.html +6 -0
- data/rwd_files/favicon.ico +0 -0
- data/rwd_files/rdoc-style.css +175 -0
- data/rwd_files/rwdapplications.html +54 -0
- data/rwd_files/tinker.png +0 -0
- data/rwdconfig.dist +21 -0
- data/rwdeliza.rb +1 -0
- data/tests/RubyGauge.rb +179 -0
- data/tests/checkdepends.sh +4 -0
- data/tests/cleancnf.sh +6 -0
- data/tests/makedist-rwdweliza.rb +56 -0
- data/tests/makedist.rb +66 -0
- data/tests/rdep.rb +354 -0
- data/tests/totranslate.lang +93 -0
- data/zips/rwdwaddresses-1.05.zip +0 -0
- data/zips/rwdwcalc-0.61.zip +0 -0
- data/zips/rwdwgutenberg-0.09.zip +0 -0
- data/zips/rwdwschedule-1.04.zip +0 -0
- data/zips/rwdwshell-1.04.zip +0 -0
- data/zips/temp.rb +1 -0
- data/zips/wrubyslippers-1.06.zip +0 -0
- metadata +282 -0
@@ -0,0 +1,142 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# This file contains the extensions to the Linguistics::EN module which provide
|
4
|
+
# support for the Ruby LinkParser module. LinkParser enables grammatic queries
|
5
|
+
# of English language sentences.
|
6
|
+
#
|
7
|
+
# == Synopsis
|
8
|
+
#
|
9
|
+
# # Test to see whether or not the link parser is loaded.
|
10
|
+
# Linguistics::EN.has_link_parser?
|
11
|
+
# # => true
|
12
|
+
#
|
13
|
+
# # Diagram the first linkage for a test sentence
|
14
|
+
# puts "he is a big dog".sentence.linkages.first.to_s
|
15
|
+
# +---O*---+
|
16
|
+
# | +--Ds--+
|
17
|
+
# +Ss+ | +-A-+
|
18
|
+
# | | | | |
|
19
|
+
# he is a big dog
|
20
|
+
#
|
21
|
+
# # Find the verb in the sentence
|
22
|
+
# "he is a big dog".en.sentence.verb.to_s
|
23
|
+
# # => "is"
|
24
|
+
#
|
25
|
+
# # Combined infinitive + LinkParser: Find the infinitive form of the verb of the
|
26
|
+
# given sentence.
|
27
|
+
# "he is a big dog".en.sentence.verb.infinitive
|
28
|
+
# # => "be"
|
29
|
+
#
|
30
|
+
# # Find the direct object of the sentence
|
31
|
+
# "he is a big dog".en.sentence.object.to_s
|
32
|
+
# # => "dog"
|
33
|
+
#
|
34
|
+
# # Look at the raw LinkParser::Word for the direct object of the sentence.
|
35
|
+
# "he is a big dog".en.sentence.object
|
36
|
+
# # => #<LinkParser::Word:0x403da0a0 @definition=[[{@A-}, Ds-, {@M+}, J-], [{@A-},
|
37
|
+
# Ds-, {@M+}, Os-], [{@A-}, Ds-, {@M+}, Ss+, {@CO-}, {C-}], [{@A-}, Ds-, {@M+},
|
38
|
+
# Ss+, R-], [{@A-}, Ds-, {@M+}, SIs-], [{@A-}, Ds-, {R+}, {Bs+}, J-], [{@A-}, Ds-,
|
39
|
+
# {R+}, {Bs+}, Os-], [{@A-}, Ds-, {R+}, {Bs+}, Ss+, {@CO-}, {C-}], [{@A-}, Ds-,
|
40
|
+
# {R+}, {Bs+}, Ss+, R-], [{@A-}, Ds-, {R+}, {Bs+}, SIs-]], @right=[], @suffix="",
|
41
|
+
# @left=[#<LinkParser::Connection:0x403da028 @rword=#<LinkParser::Word:0x403da0a0
|
42
|
+
# ...>, @lword=#<LinkParser::Word:0x403da0b4 @definition=[[Ss-, O+, {@MV+}], [Ss-,
|
43
|
+
# B-, {@MV+}], [Ss-, P+], [Ss-, AF-], [RS-, Bs-, O+, {@MV+}], [RS-, Bs-, B-,
|
44
|
+
# {@MV+}], [RS-, Bs-, P+], [RS-, Bs-, AF-], [{Q-}, SIs+, O+, {@MV+}], [{Q-}, SIs+,
|
45
|
+
# B-, {@MV+}], [{Q-}, SIs+, P+], [{Q-}, SIs+, AF-]],
|
46
|
+
# @right=[#<LinkParser::Connection:0x403da028 ...>], @suffix="", @left=[],
|
47
|
+
# @name="is", @position=1>, @subName="*", @name="O", @length=3>], @name="dog",
|
48
|
+
# @position=4>
|
49
|
+
#
|
50
|
+
# # Combine WordNet + LinkParser to find the definition of the direct object of
|
51
|
+
# # the sentence
|
52
|
+
# "he is a big dog".en.sentence.object.gloss
|
53
|
+
# # => "a member of the genus Canis (probably descended from the common wolf) that
|
54
|
+
# has been domesticated by man since prehistoric times; occurs in many breeds;
|
55
|
+
# \"the dog barked all night\""
|
56
|
+
#
|
57
|
+
# == Authors
|
58
|
+
#
|
59
|
+
# * Martin Chase <stillflame@FaerieMUD.org>
|
60
|
+
# * Michael Granger <ged@FaerieMUD.org>
|
61
|
+
#
|
62
|
+
# == Copyright
|
63
|
+
#
|
64
|
+
# Copyright (c) 2003 The FaerieMUD Consortium. All rights reserved.
|
65
|
+
#
|
66
|
+
# This module is free software. You may use, modify, and/or redistribute this
|
67
|
+
# software under the terms of the Perl Artistic License. (See
|
68
|
+
# http://language.perl.com/misc/Artistic.html)
|
69
|
+
#
|
70
|
+
# # == Version
|
71
|
+
#
|
72
|
+
# $Id: linkparser.rb,v 1.4 2003/09/14 11:15:33 deveiant Exp $
|
73
|
+
#
|
74
|
+
|
75
|
+
require 'linguistics/en'
|
76
|
+
|
77
|
+
module Linguistics::EN
|
78
|
+
|
79
|
+
@hasLinkParser = true
|
80
|
+
@lpParser = nil
|
81
|
+
@lpError = nil
|
82
|
+
|
83
|
+
begin
|
84
|
+
require "linkparser"
|
85
|
+
@hasLinkParser = true
|
86
|
+
rescue LoadError => err
|
87
|
+
@lpError = err
|
88
|
+
end
|
89
|
+
|
90
|
+
|
91
|
+
#################################################################
|
92
|
+
### M O D U L E M E T H O D S
|
93
|
+
#################################################################
|
94
|
+
class << self
|
95
|
+
|
96
|
+
### Returns +true+ if LinkParser was loaded okay
|
97
|
+
def hasLinkParser? ; @hasLinkParser ; end
|
98
|
+
|
99
|
+
### If #hasLinkParser? returns +false+, this can be called to fetch the
|
100
|
+
### exception which was raised when trying to load LinkParser.
|
101
|
+
def lpError ; @lpError ; end
|
102
|
+
|
103
|
+
### The instance of LinkParser used for all Linguistics LinkParser
|
104
|
+
### functions.
|
105
|
+
def linkParser
|
106
|
+
if @lpError
|
107
|
+
raise NotImplementedError,
|
108
|
+
"LinkParser functions are not loaded: %s" %
|
109
|
+
@lpError.message
|
110
|
+
end
|
111
|
+
|
112
|
+
return @lpParser if ! @lpParser.nil?
|
113
|
+
|
114
|
+
LinkParser::Word::extend( Linguistics )
|
115
|
+
Linguistics::installDelegatorProxy( LinkParser::Word, :en )
|
116
|
+
|
117
|
+
dictOpts = Hash.new('')
|
118
|
+
dictOpts['datadir'] = 'ElizaData'
|
119
|
+
dictOpts['dict'] = 'tiny.dict'
|
120
|
+
parseOpts = Hash.new
|
121
|
+
|
122
|
+
@lpParser = LinkParser.new( dictOpts, parseOpts )
|
123
|
+
end
|
124
|
+
end
|
125
|
+
|
126
|
+
|
127
|
+
#################################################################
|
128
|
+
### L I N K P A R S E R I N T E R F A C E
|
129
|
+
#################################################################
|
130
|
+
|
131
|
+
###############
|
132
|
+
module_function
|
133
|
+
###############
|
134
|
+
|
135
|
+
### Return a LinkParser::Sentence, with or without a sentence in it.
|
136
|
+
def linkParse( sent )
|
137
|
+
return Linguistics::EN::linkParser.parse( sent.to_s )
|
138
|
+
end
|
139
|
+
alias_method :sentence, :linkParse
|
140
|
+
module_function :sentence
|
141
|
+
|
142
|
+
end
|
@@ -0,0 +1,253 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# This file contains functions for finding relations for English words. It
|
4
|
+
# requires the Ruby-WordNet module to be installed; if it is not installed,
|
5
|
+
# calling the functions defined by this file will raise NotImplemented
|
6
|
+
# exceptions if called. Requiring this file adds functions and constants to the
|
7
|
+
# Linguistics::EN module.
|
8
|
+
#
|
9
|
+
# == Synopsis
|
10
|
+
#
|
11
|
+
# # Test to be sure the WordNet module loaded okay.
|
12
|
+
# Linguistics::EN.has_wordnet?
|
13
|
+
# # => true
|
14
|
+
#
|
15
|
+
# # Fetch the default synset for the word "balance"
|
16
|
+
# "balance".synset
|
17
|
+
# # => #<WordNet::Synset:0x40376844 balance (noun): "a state of equilibrium"
|
18
|
+
# (derivations: 3, antonyms: 1, hypernyms: 1, hyponyms: 3)>
|
19
|
+
#
|
20
|
+
# # Fetch the synset for the first verb sense of "balance"
|
21
|
+
# "balance".en.synset( :verb )
|
22
|
+
# # => #<WordNet::Synset:0x4033f448 balance, equilibrate, equilibrize, equilibrise
|
23
|
+
# (verb): "bring into balance or equilibrium; "She has to balance work and her
|
24
|
+
# domestic duties"; "balance the two weights"" (derivations: 7, antonyms: 1,
|
25
|
+
# verbGroups: 2, hypernyms: 1, hyponyms: 5)>
|
26
|
+
#
|
27
|
+
# # Fetch the second noun sense
|
28
|
+
# "balance".en.synset( 2, :noun )
|
29
|
+
# # => #<WordNet::Synset:0x404ebb24 balance (noun): "a scale for weighing; depends
|
30
|
+
# on pull of gravity" (hypernyms: 1, hyponyms: 5)>
|
31
|
+
#
|
32
|
+
# # Fetch the second noun sense's hypernyms (more-general words, like a superclass)
|
33
|
+
# "balance".en.synset( 2, :noun ).hypernyms
|
34
|
+
# # => [#<WordNet::Synset:0x404e5620 scale, weighing machine (noun): "a measuring
|
35
|
+
# instrument for weighing; shows amount of mass" (derivations: 2, hypernyms: 1,
|
36
|
+
# hyponyms: 2)>]
|
37
|
+
#
|
38
|
+
# # A simpler way of doing the same thing:
|
39
|
+
# "balance".en.hypernyms( 2, :noun )
|
40
|
+
# # => [#<WordNet::Synset:0x404e5620 scale, weighing machine (noun): "a measuring
|
41
|
+
# instrument for weighing; shows amount of mass" (derivations: 2, hypernyms: 1,
|
42
|
+
# hyponyms: 2)>]
|
43
|
+
#
|
44
|
+
# # Fetch the first hypernym's hypernyms
|
45
|
+
# "balance".en.synset( 2, :noun ).hypernyms.first.hypernyms
|
46
|
+
# # => [#<WordNet::Synset:0x404c60b8 measuring instrument, measuring system,
|
47
|
+
# measuring device (noun): "instrument that shows the extent or amount or quantity
|
48
|
+
# or degree of something" (hypernyms: 1, hyponyms: 83)>]
|
49
|
+
#
|
50
|
+
# # Find the synset to which both the second noun sense of "balance" and the
|
51
|
+
# # default sense of "shovel" belong.
|
52
|
+
# ("balance".en.synset( 2, :noun ) | "shovel".en.synset)
|
53
|
+
# # => #<WordNet::Synset:0x40473da4 instrumentality, instrumentation (noun): "an
|
54
|
+
# artifact (or system of artifacts) that is instrumental in accomplishing some
|
55
|
+
# end" (derivations: 1, hypernyms: 1, hyponyms: 13)>
|
56
|
+
#
|
57
|
+
# # Fetch just the words for the other kinds of "instruments"
|
58
|
+
# "instrument".en.hyponyms.collect {|synset| synset.words}.flatten
|
59
|
+
# # => ["analyzer", "analyser", "cautery", "cauterant", "drafting instrument",
|
60
|
+
# "extractor", "instrument of execution", "instrument of punishment", "measuring
|
61
|
+
# instrument", "measuring system", "measuring device", "medical instrument",
|
62
|
+
# "navigational instrument", "optical instrument", "plotter", "scientific
|
63
|
+
# instrument", "sonograph", "surveying instrument", "surveyor's instrument",
|
64
|
+
# "tracer", "weapon", "arm", "weapon system", "whip"]
|
65
|
+
#
|
66
|
+
#
|
67
|
+
# == Authors
|
68
|
+
#
|
69
|
+
# * Michael Granger <ged@FaerieMUD.org>
|
70
|
+
#
|
71
|
+
# == Copyright
|
72
|
+
#
|
73
|
+
# Copyright (c) 2003 The FaerieMUD Consortium. All rights reserved.
|
74
|
+
#
|
75
|
+
# This module is free software. You may use, modify, and/or redistribute this
|
76
|
+
# software under the terms of the Perl Artistic License. (See
|
77
|
+
# http://language.perl.com/misc/Artistic.html)
|
78
|
+
#
|
79
|
+
# == Version
|
80
|
+
#
|
81
|
+
# $Id: wordnet.rb,v 1.3 2003/09/14 11:28:02 deveiant Exp $
|
82
|
+
#
|
83
|
+
|
84
|
+
module Linguistics
|
85
|
+
module EN
|
86
|
+
|
87
|
+
@hasWordnet = false
|
88
|
+
@wnError = nil
|
89
|
+
@wnLexicon = nil
|
90
|
+
|
91
|
+
# Load WordNet and open the lexicon if possible, saving the error that
|
92
|
+
# occurs if anything goes wrong.
|
93
|
+
begin
|
94
|
+
require 'wordnet'
|
95
|
+
@hasWordnet = true
|
96
|
+
rescue LoadError => err
|
97
|
+
@wnError = err
|
98
|
+
end
|
99
|
+
|
100
|
+
|
101
|
+
#################################################################
|
102
|
+
### M O D U L E M E T H O D S
|
103
|
+
#################################################################
|
104
|
+
class << self
|
105
|
+
|
106
|
+
### Returns +true+ if WordNet was loaded okay
|
107
|
+
def hasWordnet? ; @hasWordnet; end
|
108
|
+
|
109
|
+
### If #haveWordnet? returns +false+, this can be called to fetch the
|
110
|
+
### exception which was raised when WordNet was loaded.
|
111
|
+
def wnError ; @wnError; end
|
112
|
+
|
113
|
+
### The instance of the WordNet::Lexicon used for all Linguistics WordNet
|
114
|
+
### functions.
|
115
|
+
def wnLexicon
|
116
|
+
if @wnError
|
117
|
+
raise NotImplementedError,
|
118
|
+
"WordNet functions are not loaded: %s" %
|
119
|
+
@wnError.message
|
120
|
+
end
|
121
|
+
|
122
|
+
@wnLexicon ||= WordNet::Lexicon::new
|
123
|
+
end
|
124
|
+
|
125
|
+
### Make a function that calls the method +meth+ on the synset of an input
|
126
|
+
### word.
|
127
|
+
def def_synset_function( meth )
|
128
|
+
(class << self; self; end).instance_eval do
|
129
|
+
define_method( meth ) {|*args|
|
130
|
+
word, pos, sense = *args
|
131
|
+
raise ArgumentError,
|
132
|
+
"wrong number of arguments (0 for 1)" unless word
|
133
|
+
sense ||= 1
|
134
|
+
|
135
|
+
syn = synset( word.to_s, pos, sense )
|
136
|
+
return syn.nil? ? nil : syn.send( meth )
|
137
|
+
}
|
138
|
+
end
|
139
|
+
end
|
140
|
+
end
|
141
|
+
|
142
|
+
|
143
|
+
|
144
|
+
#################################################################
|
145
|
+
### W O R D N E T I N T E R F A C E
|
146
|
+
#################################################################
|
147
|
+
|
148
|
+
###############
|
149
|
+
module_function
|
150
|
+
###############
|
151
|
+
|
152
|
+
### Look up the synset associated with the given word or collocation in the
|
153
|
+
### WordNet lexicon and return a WordNet::Synset object.
|
154
|
+
def synset( word, pos=nil, sense=1 )
|
155
|
+
lex = Linguistics::EN::wnLexicon
|
156
|
+
if pos.is_a?( Fixnum)
|
157
|
+
sense = pos
|
158
|
+
pos = nil
|
159
|
+
end
|
160
|
+
postries = pos ? [pos] : [:noun, :verb, :adjective, :adverb, :other]
|
161
|
+
syn = nil
|
162
|
+
|
163
|
+
postries.each {|pos|
|
164
|
+
break if syn = lex.lookupSynsets( word.to_s, pos, sense )
|
165
|
+
}
|
166
|
+
|
167
|
+
return syn
|
168
|
+
end
|
169
|
+
|
170
|
+
|
171
|
+
### Look up all the synsets associated with the given word or collocation in
|
172
|
+
### the WordNet lexicon and return an Array of WordNet::Synset objects. If
|
173
|
+
### +pos+ is +nil+, return synsets for all parts of speech.
|
174
|
+
def synsets( word, pos=nil )
|
175
|
+
lex = Linguistics::EN::wnLexicon
|
176
|
+
postries = pos ? [pos] : [:noun, :verb, :adjective, :adverb, :other]
|
177
|
+
syns = []
|
178
|
+
|
179
|
+
postries.each {|pos|
|
180
|
+
syns << lex.lookupSynsets( word.to_s, pos )
|
181
|
+
}
|
182
|
+
|
183
|
+
return syns.flatten.compact
|
184
|
+
end
|
185
|
+
|
186
|
+
|
187
|
+
# Returns definitions and/or example sentences as a String.
|
188
|
+
def_synset_function :gloss
|
189
|
+
|
190
|
+
# Returns definitions and/or example sentences as an Array.
|
191
|
+
def_synset_function :glosses
|
192
|
+
|
193
|
+
# Return nouns or verbs that have the same hypernym as the receiver.
|
194
|
+
def_synset_function :coordinates
|
195
|
+
|
196
|
+
# Returns the Array of synonyms contained in the synset for the receiver.
|
197
|
+
def_synset_function :words
|
198
|
+
def_synset_function :synonyms
|
199
|
+
|
200
|
+
# Returns the name of the lexicographer file that contains the raw data for
|
201
|
+
# the receiver.
|
202
|
+
def_synset_function :lexInfo
|
203
|
+
|
204
|
+
# :TODO: Finish these comments, and figure out how the hell to get the
|
205
|
+
# methods to show up in RDoc.
|
206
|
+
def_synset_function :frames
|
207
|
+
|
208
|
+
def_synset_function :antonyms
|
209
|
+
def_synset_function :hypernyms
|
210
|
+
def_synset_function :entailment
|
211
|
+
def_synset_function :hyponyms
|
212
|
+
def_synset_function :causes
|
213
|
+
def_synset_function :verbgroups
|
214
|
+
def_synset_function :similarTo
|
215
|
+
def_synset_function :participles
|
216
|
+
def_synset_function :pertainyms
|
217
|
+
def_synset_function :attributes
|
218
|
+
def_synset_function :derivedFrom
|
219
|
+
def_synset_function :seeAlso
|
220
|
+
def_synset_function :functions
|
221
|
+
|
222
|
+
def_synset_function :meronyms
|
223
|
+
def_synset_function :memberMeronyms
|
224
|
+
def_synset_function :stuffMeronyms
|
225
|
+
def_synset_function :portionMeronyms
|
226
|
+
def_synset_function :componentMeronyms
|
227
|
+
def_synset_function :featureMeronyms
|
228
|
+
def_synset_function :phaseMeronyms
|
229
|
+
def_synset_function :placeMeronyms
|
230
|
+
|
231
|
+
def_synset_function :holonyms
|
232
|
+
def_synset_function :memberHolonyms
|
233
|
+
def_synset_function :stuffHolonyms
|
234
|
+
def_synset_function :portionHolonyms
|
235
|
+
def_synset_function :componentHolonyms
|
236
|
+
def_synset_function :featureHolonyms
|
237
|
+
def_synset_function :phaseHolonyms
|
238
|
+
def_synset_function :placeHolonyms
|
239
|
+
|
240
|
+
def_synset_function :domains
|
241
|
+
def_synset_function :categoryDomains
|
242
|
+
def_synset_function :regionDomains
|
243
|
+
def_synset_function :usageDomains
|
244
|
+
|
245
|
+
def_synset_function :members
|
246
|
+
def_synset_function :categoryMembers
|
247
|
+
def_synset_function :regionMembers
|
248
|
+
def_synset_function :usageMembers
|
249
|
+
|
250
|
+
|
251
|
+
end # module EN
|
252
|
+
end # module Linguistics
|
253
|
+
|
@@ -0,0 +1,456 @@
|
|
1
|
+
#!/usr/bin/ruby
|
2
|
+
#
|
3
|
+
# linguistics/iso639.rb - A hash of International 2- and 3-letter
|
4
|
+
# ISO639-1 and ISO639-2 language codes. Each entry has two keys:
|
5
|
+
#
|
6
|
+
# [<tt>:codes</tt>]
|
7
|
+
# All of the codes known for this language
|
8
|
+
# [<tt>:desc</tt>]
|
9
|
+
# The English-language description of the language.
|
10
|
+
#
|
11
|
+
|
12
|
+
### A language-independent framework for adding linguistics functions to Ruby
|
13
|
+
### classes.
|
14
|
+
module Linguistics
|
15
|
+
|
16
|
+
# Hash of ISO639 2- and 3-letter language codes
|
17
|
+
LanguageCodes = {}
|
18
|
+
|
19
|
+
# Read through the source for this file, capturing everything
|
20
|
+
# between __END__ and __END_DATA__ tokens.
|
21
|
+
inDataSection = false
|
22
|
+
File::readlines( __FILE__ ).each {|line|
|
23
|
+
case line
|
24
|
+
when /^__END_DATA__$/
|
25
|
+
inDataSection = false
|
26
|
+
false
|
27
|
+
|
28
|
+
when /^__END__$/
|
29
|
+
inDataSection = true
|
30
|
+
false
|
31
|
+
|
32
|
+
else
|
33
|
+
if inDataSection
|
34
|
+
codes, desc = line[0,15].split(%r{/|\s+}), line[15...-1]
|
35
|
+
codes.delete_if {|code| code.empty?}
|
36
|
+
entry = {
|
37
|
+
:desc => desc.strip,
|
38
|
+
:codes => codes.dup,
|
39
|
+
}
|
40
|
+
codes.each {|code|
|
41
|
+
raise "Duplicate language code #{code}:"\
|
42
|
+
"(#{LanguageCodes[code][:desc]}})}" \
|
43
|
+
if LanguageCodes.key?( code )
|
44
|
+
LanguageCodes[ code.strip ] = entry
|
45
|
+
}
|
46
|
+
end
|
47
|
+
end
|
48
|
+
}
|
49
|
+
end
|
50
|
+
|
51
|
+
__END__
|
52
|
+
abk ab Abkhazian
|
53
|
+
ace Achinese
|
54
|
+
ach Acoli
|
55
|
+
ada Adangme
|
56
|
+
aar aa Afar
|
57
|
+
afh Afrihili
|
58
|
+
afr af Afrikaans
|
59
|
+
afa Afro-Asiatic (Other)
|
60
|
+
aka Akan
|
61
|
+
akk Akkadian
|
62
|
+
alb/sqi sq Albanian
|
63
|
+
ale Aleut
|
64
|
+
alg Algonquian languages
|
65
|
+
tut Altaic (Other)
|
66
|
+
amh am Amharic
|
67
|
+
apa Apache languages
|
68
|
+
ara ar Arabic
|
69
|
+
arc Aramaic
|
70
|
+
arp Arapaho
|
71
|
+
arn Araucanian
|
72
|
+
arw Arawak
|
73
|
+
arm/hye hy Armenian
|
74
|
+
art Artificial (Other)
|
75
|
+
asm as Assamese
|
76
|
+
ath Athapascan languages
|
77
|
+
map Austronesian (Other)
|
78
|
+
ava Avaric
|
79
|
+
ave Avestan
|
80
|
+
awa Awadhi
|
81
|
+
aym ay Aymara
|
82
|
+
aze az Azerbaijani
|
83
|
+
nah Aztec
|
84
|
+
ban Balinese
|
85
|
+
bat Baltic (Other)
|
86
|
+
bal Baluchi
|
87
|
+
bam Bambara
|
88
|
+
bai Bamileke languages
|
89
|
+
bad Banda
|
90
|
+
bnt Bantu (Other)
|
91
|
+
bas Basa
|
92
|
+
bak ba Bashkir
|
93
|
+
baq/eus eu Basque
|
94
|
+
bej Beja
|
95
|
+
bem Bemba
|
96
|
+
ben bn Bengali
|
97
|
+
ber Berber (Other)
|
98
|
+
bho Bhojpuri
|
99
|
+
bih bh Bihari
|
100
|
+
bik Bikol
|
101
|
+
bin Bini
|
102
|
+
bis bi Bislama
|
103
|
+
bra Braj
|
104
|
+
bre br Breton
|
105
|
+
bug Buginese
|
106
|
+
bul bg Bulgarian
|
107
|
+
bua Buriat
|
108
|
+
bur/mya my Burmese
|
109
|
+
bel be Byelorussian
|
110
|
+
cad Caddo
|
111
|
+
car Carib
|
112
|
+
cat ca Catalan
|
113
|
+
cau Caucasian (Other)
|
114
|
+
ceb Cebuano
|
115
|
+
cel Celtic (Other)
|
116
|
+
cai Central American Indian (Other)
|
117
|
+
chg Chagatai
|
118
|
+
cha Chamorro
|
119
|
+
che Chechen
|
120
|
+
chr Cherokee
|
121
|
+
chy Cheyenne
|
122
|
+
chb Chibcha
|
123
|
+
chi/zho zh Chinese
|
124
|
+
chn Chinook jargon
|
125
|
+
cho Choctaw
|
126
|
+
chu Church Slavic
|
127
|
+
chv Chuvash
|
128
|
+
cop Coptic
|
129
|
+
cor Cornish
|
130
|
+
cos co Corsican
|
131
|
+
cre Cree
|
132
|
+
mus Creek
|
133
|
+
crp Creoles and Pidgins (Other)
|
134
|
+
cpe Creoles and Pidgins, English-based (Other)
|
135
|
+
cpf Creoles and Pidgins, French-based (Other)
|
136
|
+
cpp Creoles and Pidgins, Portuguese-based (Other)
|
137
|
+
cus Cushitic (Other)
|
138
|
+
hr Croatian
|
139
|
+
ces/cze cs Czech
|
140
|
+
dak Dakota
|
141
|
+
dan da Danish
|
142
|
+
del Delaware
|
143
|
+
din Dinka
|
144
|
+
div Divehi
|
145
|
+
doi Dogri
|
146
|
+
dra Dravidian (Other)
|
147
|
+
dua Duala
|
148
|
+
dut/nla nl Dutch
|
149
|
+
dum Dutch, Middle (ca. 1050-1350)
|
150
|
+
dyu Dyula
|
151
|
+
dzo dz Dzongkha
|
152
|
+
efi Efik
|
153
|
+
egy Egyptian (Ancient)
|
154
|
+
eka Ekajuk
|
155
|
+
elx Elamite
|
156
|
+
eng en English
|
157
|
+
enm English, Middle (ca. 1100-1500)
|
158
|
+
ang English, Old (ca. 450-1100)
|
159
|
+
esk Eskimo (Other)
|
160
|
+
epo eo Esperanto
|
161
|
+
est et Estonian
|
162
|
+
ewe Ewe
|
163
|
+
ewo Ewondo
|
164
|
+
fan Fang
|
165
|
+
fat Fanti
|
166
|
+
fao fo Faroese
|
167
|
+
fij fj Fijian
|
168
|
+
fin fi Finnish
|
169
|
+
fiu Finno-Ugrian (Other)
|
170
|
+
fon Fon
|
171
|
+
fra/fre fr French
|
172
|
+
frm French, Middle (ca. 1400-1600)
|
173
|
+
fro French, Old (842- ca. 1400)
|
174
|
+
fry fy Frisian
|
175
|
+
ful Fulah
|
176
|
+
gaa Ga
|
177
|
+
gae/gdh Gaelic (Scots)
|
178
|
+
glg gl Gallegan
|
179
|
+
lug Ganda
|
180
|
+
gay Gayo
|
181
|
+
gez Geez
|
182
|
+
geo/kat ka Georgian
|
183
|
+
deu/ger de German
|
184
|
+
gmh German, Middle High (ca. 1050-1500)
|
185
|
+
goh German, Old High (ca. 750-1050)
|
186
|
+
gem Germanic (Other)
|
187
|
+
gil Gilbertese
|
188
|
+
gon Gondi
|
189
|
+
got Gothic
|
190
|
+
grb Grebo
|
191
|
+
grc Greek, Ancient (to 1453)
|
192
|
+
ell/gre el Greek, Modern (1453-)
|
193
|
+
kal kl Greenlandic
|
194
|
+
grn gn Guarani
|
195
|
+
guj gu Gujarati
|
196
|
+
hai Haida
|
197
|
+
hau ha Hausa
|
198
|
+
haw Hawaiian
|
199
|
+
heb he Hebrew
|
200
|
+
her Herero
|
201
|
+
hil Hiligaynon
|
202
|
+
him Himachali
|
203
|
+
hin hi Hindi
|
204
|
+
hmo Hiri Motu
|
205
|
+
hun hu Hungarian
|
206
|
+
hup Hupa
|
207
|
+
iba Iban
|
208
|
+
ice/isl is Icelandic
|
209
|
+
ibo Igbo
|
210
|
+
ijo Ijo
|
211
|
+
ilo Iloko
|
212
|
+
inc Indic (Other)
|
213
|
+
ine Indo-European (Other)
|
214
|
+
ind id Indonesian
|
215
|
+
ina ia Interlingua (International Auxiliary language Association)
|
216
|
+
ile Interlingue
|
217
|
+
iku iu Inuktitut
|
218
|
+
ipk ik Inupiak
|
219
|
+
ira Iranian (Other)
|
220
|
+
gai/iri ga Irish
|
221
|
+
sga Irish, Old (to 900)
|
222
|
+
mga Irish, Middle (900 - 1200)
|
223
|
+
iro Iroquoian languages
|
224
|
+
ita it Italian
|
225
|
+
jpn ja Japanese
|
226
|
+
jav/jaw jv/jw Javanese
|
227
|
+
jrb Judeo-Arabic
|
228
|
+
jpr Judeo-Persian
|
229
|
+
kab Kabyle
|
230
|
+
kac Kachin
|
231
|
+
kam Kamba
|
232
|
+
kan kn Kannada
|
233
|
+
kau Kanuri
|
234
|
+
kaa Kara-Kalpak
|
235
|
+
kar Karen
|
236
|
+
kas ks Kashmiri
|
237
|
+
kaw Kawi
|
238
|
+
kaz kk Kazakh
|
239
|
+
kha Khasi
|
240
|
+
khm km Khmer
|
241
|
+
khi Khoisan (Other)
|
242
|
+
kho Khotanese
|
243
|
+
kik Kikuyu
|
244
|
+
kin rw Kinyarwanda
|
245
|
+
kir ky Kirghiz
|
246
|
+
kom Komi
|
247
|
+
kon Kongo
|
248
|
+
kok Konkani
|
249
|
+
kor ko Korean
|
250
|
+
kpe Kpelle
|
251
|
+
kro Kru
|
252
|
+
kua Kuanyama
|
253
|
+
kum Kumyk
|
254
|
+
kur ku Kurdish
|
255
|
+
kru Kurukh
|
256
|
+
kus Kusaie
|
257
|
+
kut Kutenai
|
258
|
+
lad Ladino
|
259
|
+
lah Lahnda
|
260
|
+
lam Lamba
|
261
|
+
oci oc Langue d'Oc (post 1500)
|
262
|
+
lao lo Lao
|
263
|
+
lat la Latin
|
264
|
+
lav lv Latvian
|
265
|
+
ltz Letzeburgesch
|
266
|
+
lez Lezghian
|
267
|
+
lin ln Lingala
|
268
|
+
lit lt Lithuanian
|
269
|
+
loz Lozi
|
270
|
+
lub Luba-Katanga
|
271
|
+
lui Luiseno
|
272
|
+
lun Lunda
|
273
|
+
luo Luo (Kenya and Tanzania)
|
274
|
+
mac/mke mk Macedonian
|
275
|
+
mad Madurese
|
276
|
+
mag Magahi
|
277
|
+
mai Maithili
|
278
|
+
mak Makasar
|
279
|
+
mlg mg Malagasy
|
280
|
+
may/msa ms Malay
|
281
|
+
mal Malayalam
|
282
|
+
mlt ml Maltese
|
283
|
+
man Mandingo
|
284
|
+
mni Manipuri
|
285
|
+
mno Manobo languages
|
286
|
+
max Manx
|
287
|
+
mao/mri mi Maori
|
288
|
+
mar mr Marathi
|
289
|
+
chm Mari
|
290
|
+
mah Marshall
|
291
|
+
mwr Marwari
|
292
|
+
mas Masai
|
293
|
+
myn Mayan languages
|
294
|
+
men Mende
|
295
|
+
mic Micmac
|
296
|
+
min Minangkabau
|
297
|
+
mis Miscellaneous (Other)
|
298
|
+
moh Mohawk
|
299
|
+
mol mo Moldavian
|
300
|
+
mkh Mon-Kmer (Other)
|
301
|
+
lol Mongo
|
302
|
+
mon mn Mongolian
|
303
|
+
mos Mossi
|
304
|
+
mul Multiple languages
|
305
|
+
mun Munda languages
|
306
|
+
nau na Nauru
|
307
|
+
nav Navajo
|
308
|
+
nde Ndebele, North
|
309
|
+
nbl Ndebele, South
|
310
|
+
ndo Ndongo
|
311
|
+
nep ne Nepali
|
312
|
+
new Newari
|
313
|
+
nic Niger-Kordofanian (Other)
|
314
|
+
ssa Nilo-Saharan (Other)
|
315
|
+
niu Niuean
|
316
|
+
non Norse, Old
|
317
|
+
nai North American Indian (Other)
|
318
|
+
nor no Norwegian
|
319
|
+
nno Norwegian (Nynorsk)
|
320
|
+
nub Nubian languages
|
321
|
+
nym Nyamwezi
|
322
|
+
nya Nyanja
|
323
|
+
nyn Nyankole
|
324
|
+
nyo Nyoro
|
325
|
+
nzi Nzima
|
326
|
+
oji Ojibwa
|
327
|
+
ori or Oriya
|
328
|
+
orm om Oromo
|
329
|
+
osa Osage
|
330
|
+
oss Ossetic
|
331
|
+
oto Otomian languages
|
332
|
+
pal Pahlavi
|
333
|
+
pau Palauan
|
334
|
+
pli Pali
|
335
|
+
pam Pampanga
|
336
|
+
pag Pangasinan
|
337
|
+
pan pa Panjabi
|
338
|
+
pap Papiamento
|
339
|
+
paa Papuan-Australian (Other)
|
340
|
+
fas/per fa Persian
|
341
|
+
peo Persian, Old (ca 600 - 400 B.C.)
|
342
|
+
phn Phoenician
|
343
|
+
pol pl Polish
|
344
|
+
pon Ponape
|
345
|
+
por pt Portuguese
|
346
|
+
pra Prakrit languages
|
347
|
+
pro Provencal, Old (to 1500)
|
348
|
+
pus ps Pushto
|
349
|
+
que qu Quechua
|
350
|
+
roh rm Rhaeto-Romance
|
351
|
+
raj Rajasthani
|
352
|
+
rar Rarotongan
|
353
|
+
roa Romance (Other)
|
354
|
+
ron/rum ro Romanian
|
355
|
+
rom Romany
|
356
|
+
run rn Rundi
|
357
|
+
rus ru Russian
|
358
|
+
sal Salishan languages
|
359
|
+
sam Samaritan Aramaic
|
360
|
+
smi Sami languages
|
361
|
+
smo sm Samoan
|
362
|
+
sad Sandawe
|
363
|
+
sag sg Sango
|
364
|
+
san sa Sanskrit
|
365
|
+
srd Sardinian
|
366
|
+
sco Scots
|
367
|
+
sel Selkup
|
368
|
+
sem Semitic (Other)
|
369
|
+
sr Serbian
|
370
|
+
scr sh Serbo-Croatian
|
371
|
+
srr Serer
|
372
|
+
shn Shan
|
373
|
+
sna sn Shona
|
374
|
+
sid Sidamo
|
375
|
+
bla Siksika
|
376
|
+
snd sd Sindhi
|
377
|
+
sin si Singhalese
|
378
|
+
sit Sino-Tibetan (Other)
|
379
|
+
sio Siouan languages
|
380
|
+
sla Slavic (Other)
|
381
|
+
ss Siswati
|
382
|
+
slk/slo sk Slovak
|
383
|
+
slv sl Slovenian
|
384
|
+
sog Sogdian
|
385
|
+
som so Somali
|
386
|
+
son Songhai
|
387
|
+
wen Sorbian languages
|
388
|
+
nso Sotho, Northern
|
389
|
+
sot st Sotho, Southern
|
390
|
+
sai South American Indian (Other)
|
391
|
+
esl/spa es Spanish
|
392
|
+
suk Sukuma
|
393
|
+
sux Sumerian
|
394
|
+
sun su Sudanese
|
395
|
+
sus Susu
|
396
|
+
swa sw Swahili
|
397
|
+
ssw Swazi
|
398
|
+
sve/swe sv Swedish
|
399
|
+
syr Syriac
|
400
|
+
tgl tl Tagalog
|
401
|
+
tah Tahitian
|
402
|
+
tgk tg Tajik
|
403
|
+
tmh Tamashek
|
404
|
+
tam ta Tamil
|
405
|
+
tat tt Tatar
|
406
|
+
tel te Telugu
|
407
|
+
ter Tereno
|
408
|
+
tha th Thai
|
409
|
+
bod/tib bo Tibetan
|
410
|
+
tig Tigre
|
411
|
+
tir ti Tigrinya
|
412
|
+
tem Timne
|
413
|
+
tiv Tivi
|
414
|
+
tli Tlingit
|
415
|
+
tog to Tonga (Nyasa)
|
416
|
+
ton Tonga (Tonga Islands)
|
417
|
+
tru Truk
|
418
|
+
tsi Tsimshian
|
419
|
+
tso ts Tsonga
|
420
|
+
tsn tn Tswana
|
421
|
+
tum Tumbuka
|
422
|
+
tur tr Turkish
|
423
|
+
ota Turkish, Ottoman (1500 - 1928)
|
424
|
+
tuk tk Turkmen
|
425
|
+
tyv Tuvinian
|
426
|
+
twi tw Twi
|
427
|
+
uga Ugaritic
|
428
|
+
uig ug Uighur
|
429
|
+
ukr uk Ukrainian
|
430
|
+
umb Umbundu
|
431
|
+
und Undetermined
|
432
|
+
urd ur Urdu
|
433
|
+
uzb uz Uzbek
|
434
|
+
vai Vai
|
435
|
+
ven Venda
|
436
|
+
vie vi Vietnamese
|
437
|
+
vol vo Volap�k
|
438
|
+
vot Votic
|
439
|
+
wak Wakashan languages
|
440
|
+
wal Walamo
|
441
|
+
war Waray
|
442
|
+
was Washo
|
443
|
+
cym/wel cy Welsh
|
444
|
+
wol wo Wolof
|
445
|
+
xho xh Xhosa
|
446
|
+
sah Yakut
|
447
|
+
yao Yao
|
448
|
+
yap Yap
|
449
|
+
yid yi Yiddish
|
450
|
+
yor yo Yoruba
|
451
|
+
zap Zapotec
|
452
|
+
zen Zenaga
|
453
|
+
zha za Zhuang
|
454
|
+
zul zu Zulu
|
455
|
+
zun Zuni
|
456
|
+
__END_DATA__
|