grammar_police 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (345) hide show
  1. data/.DS_Store +0 -0
  2. data/.gitignore +4 -0
  3. data/Gemfile +4 -0
  4. data/Rakefile +2 -0
  5. data/c/.DS_Store +0 -0
  6. data/c/link-grammar.c +65 -0
  7. data/c/link-grammar.h +60 -0
  8. data/c/link-grammar.o +0 -0
  9. data/c/link-grammar.so +0 -0
  10. data/c/link-grammar/.DS_Store +0 -0
  11. data/c/link-grammar/.deps/analyze-linkage.Plo +198 -0
  12. data/c/link-grammar/.deps/and.Plo +202 -0
  13. data/c/link-grammar/.deps/api.Plo +244 -0
  14. data/c/link-grammar/.deps/build-disjuncts.Plo +212 -0
  15. data/c/link-grammar/.deps/command-line.Plo +201 -0
  16. data/c/link-grammar/.deps/constituents.Plo +201 -0
  17. data/c/link-grammar/.deps/count.Plo +202 -0
  18. data/c/link-grammar/.deps/disjunct-utils.Plo +126 -0
  19. data/c/link-grammar/.deps/disjuncts.Plo +123 -0
  20. data/c/link-grammar/.deps/error.Plo +121 -0
  21. data/c/link-grammar/.deps/expand.Plo +133 -0
  22. data/c/link-grammar/.deps/extract-links.Plo +198 -0
  23. data/c/link-grammar/.deps/fast-match.Plo +200 -0
  24. data/c/link-grammar/.deps/idiom.Plo +200 -0
  25. data/c/link-grammar/.deps/jni-client.Plo +217 -0
  26. data/c/link-grammar/.deps/link-parser.Po +1 -0
  27. data/c/link-grammar/.deps/massage.Plo +202 -0
  28. data/c/link-grammar/.deps/post-process.Plo +202 -0
  29. data/c/link-grammar/.deps/pp_knowledge.Plo +202 -0
  30. data/c/link-grammar/.deps/pp_lexer.Plo +201 -0
  31. data/c/link-grammar/.deps/pp_linkset.Plo +200 -0
  32. data/c/link-grammar/.deps/prefix.Plo +102 -0
  33. data/c/link-grammar/.deps/preparation.Plo +202 -0
  34. data/c/link-grammar/.deps/print-util.Plo +200 -0
  35. data/c/link-grammar/.deps/print.Plo +201 -0
  36. data/c/link-grammar/.deps/prune.Plo +202 -0
  37. data/c/link-grammar/.deps/read-dict.Plo +223 -0
  38. data/c/link-grammar/.deps/read-regex.Plo +123 -0
  39. data/c/link-grammar/.deps/regex-morph.Plo +131 -0
  40. data/c/link-grammar/.deps/resources.Plo +203 -0
  41. data/c/link-grammar/.deps/spellcheck-aspell.Plo +1 -0
  42. data/c/link-grammar/.deps/spellcheck-hun.Plo +115 -0
  43. data/c/link-grammar/.deps/string-set.Plo +198 -0
  44. data/c/link-grammar/.deps/tokenize.Plo +160 -0
  45. data/c/link-grammar/.deps/utilities.Plo +222 -0
  46. data/c/link-grammar/.deps/word-file.Plo +201 -0
  47. data/c/link-grammar/.deps/word-utils.Plo +212 -0
  48. data/c/link-grammar/.libs/analyze-linkage.o +0 -0
  49. data/c/link-grammar/.libs/and.o +0 -0
  50. data/c/link-grammar/.libs/api.o +0 -0
  51. data/c/link-grammar/.libs/build-disjuncts.o +0 -0
  52. data/c/link-grammar/.libs/command-line.o +0 -0
  53. data/c/link-grammar/.libs/constituents.o +0 -0
  54. data/c/link-grammar/.libs/count.o +0 -0
  55. data/c/link-grammar/.libs/disjunct-utils.o +0 -0
  56. data/c/link-grammar/.libs/disjuncts.o +0 -0
  57. data/c/link-grammar/.libs/error.o +0 -0
  58. data/c/link-grammar/.libs/expand.o +0 -0
  59. data/c/link-grammar/.libs/extract-links.o +0 -0
  60. data/c/link-grammar/.libs/fast-match.o +0 -0
  61. data/c/link-grammar/.libs/idiom.o +0 -0
  62. data/c/link-grammar/.libs/jni-client.o +0 -0
  63. data/c/link-grammar/.libs/liblink-grammar-java-symbols.expsym +31 -0
  64. data/c/link-grammar/.libs/liblink-grammar-java.4.dylib +0 -0
  65. data/c/link-grammar/.libs/liblink-grammar-java.4.dylib.dSYM/Contents/Info.plist +20 -0
  66. data/c/link-grammar/.libs/liblink-grammar-java.4.dylib.dSYM/Contents/Resources/DWARF/liblink-grammar-java.4.dylib +0 -0
  67. data/c/link-grammar/.libs/liblink-grammar-java.a +0 -0
  68. data/c/link-grammar/.libs/liblink-grammar-java.dylib +0 -0
  69. data/c/link-grammar/.libs/liblink-grammar-symbols.expsym +194 -0
  70. data/c/link-grammar/.libs/liblink-grammar.4.dylib +0 -0
  71. data/c/link-grammar/.libs/liblink-grammar.4.dylib.dSYM/Contents/Info.plist +20 -0
  72. data/c/link-grammar/.libs/liblink-grammar.4.dylib.dSYM/Contents/Resources/DWARF/liblink-grammar.4.dylib +0 -0
  73. data/c/link-grammar/.libs/liblink-grammar.a +0 -0
  74. data/c/link-grammar/.libs/liblink-grammar.dylib +0 -0
  75. data/c/link-grammar/.libs/liblink-grammar.la +41 -0
  76. data/c/link-grammar/.libs/liblink-grammar.lai +41 -0
  77. data/c/link-grammar/.libs/massage.o +0 -0
  78. data/c/link-grammar/.libs/post-process.o +0 -0
  79. data/c/link-grammar/.libs/pp_knowledge.o +0 -0
  80. data/c/link-grammar/.libs/pp_lexer.o +0 -0
  81. data/c/link-grammar/.libs/pp_linkset.o +0 -0
  82. data/c/link-grammar/.libs/prefix.o +0 -0
  83. data/c/link-grammar/.libs/preparation.o +0 -0
  84. data/c/link-grammar/.libs/print-util.o +0 -0
  85. data/c/link-grammar/.libs/print.o +0 -0
  86. data/c/link-grammar/.libs/prune.o +0 -0
  87. data/c/link-grammar/.libs/read-dict.o +0 -0
  88. data/c/link-grammar/.libs/read-regex.o +0 -0
  89. data/c/link-grammar/.libs/regex-morph.o +0 -0
  90. data/c/link-grammar/.libs/resources.o +0 -0
  91. data/c/link-grammar/.libs/spellcheck-aspell.o +0 -0
  92. data/c/link-grammar/.libs/spellcheck-hun.o +0 -0
  93. data/c/link-grammar/.libs/string-set.o +0 -0
  94. data/c/link-grammar/.libs/tokenize.o +0 -0
  95. data/c/link-grammar/.libs/utilities.o +0 -0
  96. data/c/link-grammar/.libs/word-file.o +0 -0
  97. data/c/link-grammar/.libs/word-utils.o +0 -0
  98. data/c/link-grammar/Makefile +900 -0
  99. data/c/link-grammar/Makefile.am +202 -0
  100. data/c/link-grammar/Makefile.in +900 -0
  101. data/c/link-grammar/analyze-linkage.c +1317 -0
  102. data/c/link-grammar/analyze-linkage.h +24 -0
  103. data/c/link-grammar/and.c +1603 -0
  104. data/c/link-grammar/and.h +27 -0
  105. data/c/link-grammar/api-structures.h +362 -0
  106. data/c/link-grammar/api-types.h +72 -0
  107. data/c/link-grammar/api.c +1887 -0
  108. data/c/link-grammar/api.h +96 -0
  109. data/c/link-grammar/autoit/.DS_Store +0 -0
  110. data/c/link-grammar/autoit/README +10 -0
  111. data/c/link-grammar/autoit/_LGTest.au3 +22 -0
  112. data/c/link-grammar/autoit/_LinkGrammar.au3 +545 -0
  113. data/c/link-grammar/build-disjuncts.c +487 -0
  114. data/c/link-grammar/build-disjuncts.h +21 -0
  115. data/c/link-grammar/command-line.c +458 -0
  116. data/c/link-grammar/command-line.h +15 -0
  117. data/c/link-grammar/constituents.c +1836 -0
  118. data/c/link-grammar/constituents.h +26 -0
  119. data/c/link-grammar/corpus/.DS_Store +0 -0
  120. data/c/link-grammar/corpus/.deps/cluster.Plo +1 -0
  121. data/c/link-grammar/corpus/.deps/corpus.Plo +1 -0
  122. data/c/link-grammar/corpus/Makefile +527 -0
  123. data/c/link-grammar/corpus/Makefile.am +46 -0
  124. data/c/link-grammar/corpus/Makefile.in +527 -0
  125. data/c/link-grammar/corpus/README +17 -0
  126. data/c/link-grammar/corpus/cluster.c +286 -0
  127. data/c/link-grammar/corpus/cluster.h +32 -0
  128. data/c/link-grammar/corpus/corpus.c +483 -0
  129. data/c/link-grammar/corpus/corpus.h +46 -0
  130. data/c/link-grammar/count.c +828 -0
  131. data/c/link-grammar/count.h +25 -0
  132. data/c/link-grammar/disjunct-utils.c +261 -0
  133. data/c/link-grammar/disjunct-utils.h +27 -0
  134. data/c/link-grammar/disjuncts.c +138 -0
  135. data/c/link-grammar/disjuncts.h +13 -0
  136. data/c/link-grammar/error.c +92 -0
  137. data/c/link-grammar/error.h +35 -0
  138. data/c/link-grammar/expand.c +67 -0
  139. data/c/link-grammar/expand.h +13 -0
  140. data/c/link-grammar/externs.h +22 -0
  141. data/c/link-grammar/extract-links.c +625 -0
  142. data/c/link-grammar/extract-links.h +16 -0
  143. data/c/link-grammar/fast-match.c +309 -0
  144. data/c/link-grammar/fast-match.h +17 -0
  145. data/c/link-grammar/idiom.c +373 -0
  146. data/c/link-grammar/idiom.h +15 -0
  147. data/c/link-grammar/jni-client.c +779 -0
  148. data/c/link-grammar/jni-client.h +236 -0
  149. data/c/link-grammar/liblink-grammar-java.la +42 -0
  150. data/c/link-grammar/liblink-grammar.la +41 -0
  151. data/c/link-grammar/link-features.h +37 -0
  152. data/c/link-grammar/link-features.h.in +37 -0
  153. data/c/link-grammar/link-grammar-java.def +31 -0
  154. data/c/link-grammar/link-grammar.def +194 -0
  155. data/c/link-grammar/link-includes.h +465 -0
  156. data/c/link-grammar/link-parser.c +849 -0
  157. data/c/link-grammar/massage.c +329 -0
  158. data/c/link-grammar/massage.h +13 -0
  159. data/c/link-grammar/post-process.c +1113 -0
  160. data/c/link-grammar/post-process.h +45 -0
  161. data/c/link-grammar/pp_knowledge.c +376 -0
  162. data/c/link-grammar/pp_knowledge.h +14 -0
  163. data/c/link-grammar/pp_lexer.c +1920 -0
  164. data/c/link-grammar/pp_lexer.h +19 -0
  165. data/c/link-grammar/pp_linkset.c +158 -0
  166. data/c/link-grammar/pp_linkset.h +20 -0
  167. data/c/link-grammar/prefix.c +482 -0
  168. data/c/link-grammar/prefix.h +139 -0
  169. data/c/link-grammar/preparation.c +412 -0
  170. data/c/link-grammar/preparation.h +20 -0
  171. data/c/link-grammar/print-util.c +87 -0
  172. data/c/link-grammar/print-util.h +32 -0
  173. data/c/link-grammar/print.c +1085 -0
  174. data/c/link-grammar/print.h +16 -0
  175. data/c/link-grammar/prune.c +1864 -0
  176. data/c/link-grammar/prune.h +17 -0
  177. data/c/link-grammar/read-dict.c +1785 -0
  178. data/c/link-grammar/read-dict.h +29 -0
  179. data/c/link-grammar/read-regex.c +161 -0
  180. data/c/link-grammar/read-regex.h +12 -0
  181. data/c/link-grammar/regex-morph.c +126 -0
  182. data/c/link-grammar/regex-morph.h +17 -0
  183. data/c/link-grammar/resources.c +180 -0
  184. data/c/link-grammar/resources.h +23 -0
  185. data/c/link-grammar/sat-solver/.DS_Store +0 -0
  186. data/c/link-grammar/sat-solver/.deps/fast-sprintf.Plo +1 -0
  187. data/c/link-grammar/sat-solver/.deps/sat-encoder.Plo +1 -0
  188. data/c/link-grammar/sat-solver/.deps/util.Plo +1 -0
  189. data/c/link-grammar/sat-solver/.deps/variables.Plo +1 -0
  190. data/c/link-grammar/sat-solver/.deps/word-tag.Plo +1 -0
  191. data/c/link-grammar/sat-solver/Makefile +527 -0
  192. data/c/link-grammar/sat-solver/Makefile.am +29 -0
  193. data/c/link-grammar/sat-solver/Makefile.in +527 -0
  194. data/c/link-grammar/sat-solver/clock.hpp +33 -0
  195. data/c/link-grammar/sat-solver/fast-sprintf.cpp +26 -0
  196. data/c/link-grammar/sat-solver/fast-sprintf.hpp +7 -0
  197. data/c/link-grammar/sat-solver/guiding.hpp +244 -0
  198. data/c/link-grammar/sat-solver/matrix-ut.hpp +79 -0
  199. data/c/link-grammar/sat-solver/sat-encoder.cpp +2811 -0
  200. data/c/link-grammar/sat-solver/sat-encoder.h +11 -0
  201. data/c/link-grammar/sat-solver/sat-encoder.hpp +381 -0
  202. data/c/link-grammar/sat-solver/trie.hpp +118 -0
  203. data/c/link-grammar/sat-solver/util.cpp +23 -0
  204. data/c/link-grammar/sat-solver/util.hpp +14 -0
  205. data/c/link-grammar/sat-solver/variables.cpp +5 -0
  206. data/c/link-grammar/sat-solver/variables.hpp +829 -0
  207. data/c/link-grammar/sat-solver/word-tag.cpp +159 -0
  208. data/c/link-grammar/sat-solver/word-tag.hpp +162 -0
  209. data/c/link-grammar/spellcheck-aspell.c +148 -0
  210. data/c/link-grammar/spellcheck-hun.c +136 -0
  211. data/c/link-grammar/spellcheck.h +34 -0
  212. data/c/link-grammar/string-set.c +169 -0
  213. data/c/link-grammar/string-set.h +16 -0
  214. data/c/link-grammar/structures.h +498 -0
  215. data/c/link-grammar/tokenize.c +1049 -0
  216. data/c/link-grammar/tokenize.h +15 -0
  217. data/c/link-grammar/utilities.c +847 -0
  218. data/c/link-grammar/utilities.h +281 -0
  219. data/c/link-grammar/word-file.c +124 -0
  220. data/c/link-grammar/word-file.h +15 -0
  221. data/c/link-grammar/word-utils.c +526 -0
  222. data/c/link-grammar/word-utils.h +152 -0
  223. data/data/.DS_Store +0 -0
  224. data/data/Makefile +511 -0
  225. data/data/Makefile.am +4 -0
  226. data/data/Makefile.in +511 -0
  227. data/data/de/.DS_Store +0 -0
  228. data/data/de/4.0.affix +7 -0
  229. data/data/de/4.0.dict +474 -0
  230. data/data/de/Makefile +387 -0
  231. data/data/de/Makefile.am +9 -0
  232. data/data/de/Makefile.in +387 -0
  233. data/data/en/.DS_Store +0 -0
  234. data/data/en/4.0.affix +26 -0
  235. data/data/en/4.0.batch +1002 -0
  236. data/data/en/4.0.biolg.batch +411 -0
  237. data/data/en/4.0.constituent-knowledge +127 -0
  238. data/data/en/4.0.dict +8759 -0
  239. data/data/en/4.0.dict.m4 +6928 -0
  240. data/data/en/4.0.enwiki.batch +14 -0
  241. data/data/en/4.0.fixes.batch +2776 -0
  242. data/data/en/4.0.knowledge +306 -0
  243. data/data/en/4.0.regex +225 -0
  244. data/data/en/4.0.voa.batch +114 -0
  245. data/data/en/Makefile +554 -0
  246. data/data/en/Makefile.am +19 -0
  247. data/data/en/Makefile.in +554 -0
  248. data/data/en/README +173 -0
  249. data/data/en/tiny.dict +157 -0
  250. data/data/en/words/.DS_Store +0 -0
  251. data/data/en/words/Makefile +456 -0
  252. data/data/en/words/Makefile.am +78 -0
  253. data/data/en/words/Makefile.in +456 -0
  254. data/data/en/words/currency +205 -0
  255. data/data/en/words/currency.p +28 -0
  256. data/data/en/words/entities.given-bisex.sing +39 -0
  257. data/data/en/words/entities.given-female.sing +4141 -0
  258. data/data/en/words/entities.given-male.sing +1633 -0
  259. data/data/en/words/entities.locations.sing +68 -0
  260. data/data/en/words/entities.national.sing +253 -0
  261. data/data/en/words/entities.organizations.sing +7 -0
  262. data/data/en/words/entities.us-states.sing +11 -0
  263. data/data/en/words/units.1 +45 -0
  264. data/data/en/words/units.1.dot +4 -0
  265. data/data/en/words/units.3 +2 -0
  266. data/data/en/words/units.4 +5 -0
  267. data/data/en/words/units.4.dot +1 -0
  268. data/data/en/words/words-medical.adv.1 +1191 -0
  269. data/data/en/words/words-medical.prep.1 +67 -0
  270. data/data/en/words/words-medical.v.4.1 +2835 -0
  271. data/data/en/words/words-medical.v.4.2 +2848 -0
  272. data/data/en/words/words-medical.v.4.3 +3011 -0
  273. data/data/en/words/words-medical.v.4.4 +3036 -0
  274. data/data/en/words/words-medical.v.4.5 +3050 -0
  275. data/data/en/words/words.adj.1 +6794 -0
  276. data/data/en/words/words.adj.2 +638 -0
  277. data/data/en/words/words.adj.3 +667 -0
  278. data/data/en/words/words.adv.1 +1573 -0
  279. data/data/en/words/words.adv.2 +67 -0
  280. data/data/en/words/words.adv.3 +157 -0
  281. data/data/en/words/words.adv.4 +80 -0
  282. data/data/en/words/words.n.1 +11464 -0
  283. data/data/en/words/words.n.1.wiki +264 -0
  284. data/data/en/words/words.n.2.s +2017 -0
  285. data/data/en/words/words.n.2.s.biolg +1 -0
  286. data/data/en/words/words.n.2.s.wiki +298 -0
  287. data/data/en/words/words.n.2.x +65 -0
  288. data/data/en/words/words.n.2.x.wiki +10 -0
  289. data/data/en/words/words.n.3 +5717 -0
  290. data/data/en/words/words.n.t +23 -0
  291. data/data/en/words/words.v.1.1 +1038 -0
  292. data/data/en/words/words.v.1.2 +1043 -0
  293. data/data/en/words/words.v.1.3 +1052 -0
  294. data/data/en/words/words.v.1.4 +1023 -0
  295. data/data/en/words/words.v.1.p +17 -0
  296. data/data/en/words/words.v.10.1 +14 -0
  297. data/data/en/words/words.v.10.2 +15 -0
  298. data/data/en/words/words.v.10.3 +88 -0
  299. data/data/en/words/words.v.10.4 +17 -0
  300. data/data/en/words/words.v.2.1 +1253 -0
  301. data/data/en/words/words.v.2.2 +1304 -0
  302. data/data/en/words/words.v.2.3 +1280 -0
  303. data/data/en/words/words.v.2.4 +1285 -0
  304. data/data/en/words/words.v.2.5 +1287 -0
  305. data/data/en/words/words.v.4.1 +2472 -0
  306. data/data/en/words/words.v.4.2 +2487 -0
  307. data/data/en/words/words.v.4.3 +2441 -0
  308. data/data/en/words/words.v.4.4 +2478 -0
  309. data/data/en/words/words.v.4.5 +2483 -0
  310. data/data/en/words/words.v.5.1 +98 -0
  311. data/data/en/words/words.v.5.2 +98 -0
  312. data/data/en/words/words.v.5.3 +103 -0
  313. data/data/en/words/words.v.5.4 +102 -0
  314. data/data/en/words/words.v.6.1 +388 -0
  315. data/data/en/words/words.v.6.2 +401 -0
  316. data/data/en/words/words.v.6.3 +397 -0
  317. data/data/en/words/words.v.6.4 +405 -0
  318. data/data/en/words/words.v.6.5 +401 -0
  319. data/data/en/words/words.v.8.1 +117 -0
  320. data/data/en/words/words.v.8.2 +118 -0
  321. data/data/en/words/words.v.8.3 +118 -0
  322. data/data/en/words/words.v.8.4 +119 -0
  323. data/data/en/words/words.v.8.5 +119 -0
  324. data/data/en/words/words.y +104 -0
  325. data/data/lt/.DS_Store +0 -0
  326. data/data/lt/4.0.affix +6 -0
  327. data/data/lt/4.0.constituent-knowledge +24 -0
  328. data/data/lt/4.0.dict +135 -0
  329. data/data/lt/4.0.knowledge +38 -0
  330. data/data/lt/Makefile +389 -0
  331. data/data/lt/Makefile.am +11 -0
  332. data/data/lt/Makefile.in +389 -0
  333. data/grammar_police.gemspec +23 -0
  334. data/lib/.DS_Store +0 -0
  335. data/lib/grammar_police.rb +11 -0
  336. data/lib/grammar_police/.DS_Store +0 -0
  337. data/lib/grammar_police/dictionary.rb +30 -0
  338. data/lib/grammar_police/linkage.rb +26 -0
  339. data/lib/grammar_police/parse_options.rb +32 -0
  340. data/lib/grammar_police/sentence.rb +44 -0
  341. data/lib/grammar_police/version.rb +3 -0
  342. data/tests/.DS_Store +0 -0
  343. data/tests/count_linkages.rb +29 -0
  344. data/tests/sentences.txt +86 -0
  345. metadata +408 -0
@@ -0,0 +1,26 @@
1
+ module GrammarPolice
2
+ class Linkage
3
+ extend FFI::Library
4
+ ffi_lib "#{File.dirname(__FILE__)}/../../c/link-grammar.so"
5
+
6
+ attach_function(:linkage_create, [:int, :pointer, :pointer], :pointer) #(0, sentence, opts) return Linkage
7
+ attach_function(:linkage_delete, [:pointer], :void) #(linkage)
8
+
9
+ #return no. sublinkages for a linkage with conjunctions (1 otherwise)
10
+ attach_function(:linkage_get_num_sublinkages, [:pointer], :int) #(Linkage)
11
+
12
+ attach_function(:linkage_set_current_sublinkage, [:pointer, :int], :int) #(Linkage, index)
13
+
14
+ #combine all links in all sublinkages if linkage has a conjunction, otherwise no effect
15
+ attach_function(:linkage_compute_union, [:pointer], :int) #(Linkage)
16
+
17
+ #get no. words in sentence for which this is a linkage
18
+ attach_function(:linkage_get_num_words, [:pointer], :int) #(Linkage)
19
+
20
+ #no. links used in current sublinkage
21
+ attach_function(:linkage_get_num_links, [:pointer], :int) #(Linkage)
22
+
23
+ attach_function(:linkage_print_diagram, [:pointer], :string) #(linkage) return string of link diagram
24
+ attach_function(:linkage_free_diagram, [:string], :void) #(string diagram)
25
+ end
26
+ end
@@ -0,0 +1,32 @@
1
+ module GrammarPolice
2
+ class ParseOptions
3
+ extend FFI::Library
4
+ ffi_lib "#{File.dirname(__FILE__)}/../../c/link-grammar.so"
5
+
6
+ #return Parse_Options with default settings (linkage_limit=10000, short_length=6)
7
+ attach_function(:parse_options_create, [], :pointer)
8
+
9
+ #free up mem used by Parse_Options
10
+ attach_function(:parse_options_delete, [:pointer], :int)
11
+
12
+ #set short_length which determines how long links are allowed
13
+ #to speed up parsing by not considering very long links for most connectors, since they're very rarely used
14
+ attach_function(:parse_options_set_short_length, [:pointer, :int], :void) #pass in Parse_Options and int value
15
+ attach_function(:parse_options_get_short_length, [:pointer], :int) #pass in Parse_Options
16
+
17
+ #set max number of linkages considered in post-processing
18
+ #pass in Parse_Options, return null
19
+ attach_function(:parse_options_set_linkage_limit, [:pointer, :int], :void)
20
+ attach_function(:parse_options_get_linkage_limit, [:pointer], :int) #passin Parse_Options
21
+
22
+ #set this to force complete quickly after time expires
23
+ #this applies for all sentence using this parse (basically they all share a single timer)
24
+ #only useful for parsing 1 sentence at the time, or a doc that you want to impose a time limit
25
+ attach_function(:parse_options_set_max_parse_time, [:pointer, :int], :void) #pass in PO and int seconds
26
+ attach_function(:parse_options_get_max_parse_time, [:pointer], :int) #pass in PO
27
+
28
+ #max memory set/get
29
+ attach_function(:parse_options_set_max_memory, [:pointer, :int], :void) #pass in PO and mem limit, probably in bytes
30
+ attach_function(:parse_options_get_max_memory, [:pointer], :int)
31
+ end
32
+ end
@@ -0,0 +1,44 @@
1
+ module GrammarPolice
2
+ class Sentence
3
+ extend FFI::Library
4
+ ffi_lib "#{File.dirname(__FILE__)}/../../c/link-grammar.so"
5
+ #this requires initializing dictionary everytime and is very slow (probably has mem leakage too)
6
+ attach_function(:number_of_linkages, [:string], :int)
7
+
8
+ attach_function(:sentence_create, [:string, :pointer], :pointer) #(sentence, dict) return sentence
9
+ attach_function(:sentence_parse, [:pointer, :pointer], :int) #(sentence, opts) return num_linkages
10
+ attach_function(:sentence_delete, [:pointer], :void) #(sentence)
11
+
12
+ #returns number of tokenized words including boundary words and punctuations
13
+ attach_function(:sentence_length, [:pointer], :int) #(Sentence)
14
+
15
+ #following must be called after invoking sentence_parse
16
+ #get number of linkages found
17
+ attach_function(:sentence_num_linkages_found, [:pointer], :int) #(Sentence)
18
+
19
+ #no. linkages having no post-processing violations
20
+ attach_function(:sentence_num_valid_linkages, [:pointer], :int) #(Sentence)
21
+
22
+ #no. linkages actually post-processed
23
+ attach_function(:sentence_num_linkages_post_processed, [:pointer], :int) #(Sentence)
24
+
25
+ #split up the text by punctuation (make the sentence shorter ==> processing faster)
26
+ def self.count_linkages(text, dictionary, options)
27
+ count = 0
28
+ #split them up by punctuation to reduce processing time
29
+ text.split(/[\!?,;:']+/).each do |clause|
30
+ c = sentence_create(clause, dictionary)
31
+ count += sentence_parse(c, options)
32
+ sentence_delete(c)
33
+ end
34
+
35
+ #however, sometimes the split results in all incomplete clause so check one more time in those cases
36
+ if count == 0
37
+ sentence = sentence_create(text, dictionary)
38
+ count = sentence_parse(sentence, options) if count == 0
39
+ sentence_delete(sentence)
40
+ end
41
+ count
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,3 @@
1
+ module GrammarPolice
2
+ VERSION = "0.1.0"
3
+ end
data/tests/.DS_Store ADDED
Binary file
@@ -0,0 +1,29 @@
1
+ require 'ffi'
2
+ require "#{File.dirname(__FILE__)}/../lib/grammar_police/dictionary"
3
+ require "#{File.dirname(__FILE__)}/../lib/grammar_police/sentence"
4
+ require "#{File.dirname(__FILE__)}/../lib/grammar_police/parse_options"
5
+
6
+ text = "Grammar is useless because there's nothing to say -- Gertrude Stein."
7
+ puts GrammarPolice::Sentence.number_of_linkages(text)
8
+
9
+ dict = GrammarPolice::Dictionary.dictionary_create_lang("en")
10
+ opts = GrammarPolice::ParseOptions.parse_options_create
11
+ puts num = GrammarPolice::Sentence.count_linkages(text, dict, opts)
12
+ GrammarPolice::ParseOptions.parse_options_delete(opts)
13
+ GrammarPolice::Dictionary.dictionary_delete(dict)
14
+
15
+ #run test on real sentences to see how accurate the linkages number with respect to correct grammar
16
+ dict = GrammarPolice::Dictionary.create("en")
17
+ opts = GrammarPolice::ParseOptions.parse_options_create
18
+ GrammarPolice::ParseOptions.parse_options_set_linkage_limit(opts, 10)
19
+ puts GrammarPolice::ParseOptions.parse_options_get_linkage_limit(opts)
20
+ GrammarPolice::ParseOptions.parse_options_set_short_length(opts, 5)
21
+ puts GrammarPolice::ParseOptions.parse_options_get_short_length(opts)
22
+ File.open('sentences.txt', 'r') do |f|
23
+ while line = f.gets
24
+ count = GrammarPolice::Sentence.count_linkages(line, dict, opts)
25
+ puts "#{count} #{line.split(' ').size} #{line}"
26
+ end
27
+ end
28
+ GrammarPolice::ParseOptions.parse_options_delete(opts)
29
+ GrammarPolice::Dictionary.destroy(dict)
@@ -0,0 +1,86 @@
1
+ Broadband Internet brings hardcore porn widely accessible to everyone, and thus influences our sex lives.
2
+ However, online porn, which often caters to predominantly male consumers' desire, poses a threat to men and women equality as hardcore sex is legitimized and becomes the norm in everyone's bedroom.
3
+ A look into Al Jazeera's difficulties in breaking into the US market, mainly caused by major cable networks refusal to carry them as the channel was labeled as the terrorist mouthpiece post 9/11.
4
+ However, there are a handful of small cable companies who decide to broadcast it, and it has been well received for its fresh and informative worldview coverage.
5
+ The self-described introvert author explains introversion and his view on extroverts treatment.
6
+ He describes extroverts as people energized by other people while introverts find energy in deep thoughts and find socializing exhausted.
7
+ He believes introverts are misunderstood b/c most of society's activities and expectations are dominated by extroverts.
8
+ The article uses the Social Network movie as a template to contemplate about Zuckerberg motives in creating Facebook and his creation's implication on human interaction, specifically privacy, human relationship and feelings, your representation as a person online.
9
+ The author argues that digital profiles aren't adequate enough to foster the genuine relationship real life offers, this medium even misrepresents your image with a shallow format of trivia personal info and photos.
10
+ Singapore has established its prosperity and cleanliness through an overly controlled government at the cost of free expression.
11
+ Its population and culture are based on forced conformity that makes it look more like a bland theme park.
12
+ Finally, it has a harsh attitude toward drug trafficking
13
+ Hollinger is a passionate inventor who simultaneously wrestles with his numerous projects and ideas.
14
+ His current project is to reinvent the umbrella, which suffers many design flaws. His solution is a hip umbrella with a stylist shape that uses the principle of aerodynamics to withstand strong wind.
15
+ A 15-year-old boy made close to $1M by plugging stocks he owns on sites such as yahoo finance.
16
+ He exploits the fact that most people trading stocks have no clue what they're doing but are eager to trade based on pundits and manipulators info.
17
+ The SEC gets in and vilifies the kid because the fact that a kid could easily rig the system expose its flaws and newfound complexities in an Internet age where the amateurs can appear as professional as the pros.
18
+ Today's Internet and search engines, much like classical texts, are collections of texts from a variety of source stitched together in ways that the original author may never imagine.
19
+ The free mixing of information creates new meaning and value for a healthy information ecosystem.
20
+ But new crop of apps such as iBook, NYT, WSJ apps deliberately erect glassbox that make it impossible to copy and paste text for collection.
21
+ The author advocates for an open web where information can freely flow, connect, and remixed in new imaginative ways.
22
+ A look at the path that leads to Yahoo falling behind Google, from its failure to recognize and monetize search, to inability to buy google, then failure to integrate its two search related acquisitions Inktomi and Overture.
23
+ These failures are often attributed to ex-CEO Terry Semel due to his lack of deep technical understanding coming from the media world.
24
+ Today's generation of summer block buster movies genre, which dominates the movies landscape, lacks creativity and risk.
25
+ Movies making is reduced to that of marketing and packaging, and less about the content.
26
+ But ultimately, it's about us moviegoers, movies are made for people and if people stop going then the studios have to make movies for those who do, under 25 yr-old males who always crave super hero comics and refuse to grow up.
27
+ Node.js is a server side Javascript framework built to handle dynamic real time application.
28
+ It's based on JavaScript event-based architecture which is different from traditional I/O blocking used in typical web servers.
29
+ The end result is developers can now code their high performance stack, both backend and frontend, using the same language.
30
+ Most people work at unfulfilled jobs that are more out of necessity rather than choice.
31
+ The economy dictates that for businesses to run efficiently workers at the bottom should have no decision making power.
32
+ They have no power, no upside, ultimately their their time and economic wellness are compromised by decisions made at the top, by those who profit mightily from actions that lead to the collapse of many industries.
33
+ As Jobs took the stage to introduce the iPhone 3G, his mortal sign revealed by his struggle against a rare form pancreatic cancer is more apparent than ever.
34
+ Yet his immortality has been in the making the last 30 years with each new Apple invention.
35
+ Each invention strives to surpass its predecessor in ways that surpass everyone's expectation, each carries Jobs DNA and vision in his quest to redefine the human-machine relationship and with that his existence forever.
36
+ The phenomenon of today's young generation taking forever to reach adulthood is defined as a new life stage driven by economic and social changes.
37
+ Just like a century ago when psychologists must make a case for adolescence as a new developmental stage, today's 20-something stage will also lead to changes to accommodate their unique needs and profile.
38
+ People at this stage tend to be more self-focused, engage in identity exploration, and optimistic about the future
39
+ Anonymous used to center around Internet memes to get laughs within its forum, but recently they have been in the media for promotion of freedom of speech against powerful enemies.
40
+ Its most recent action against security firm HBGary led to the company's CEO resignation.
41
+ But this questions their very own agenda, is Anonymous using their Ddos power to suppress freedom of speech?
42
+ North Korea is an isolated country with no access to outside internet or media.
43
+ But crops of underground reporters run by North Korean defectors and outside activists are trying to bring news into and out of the country.
44
+ Their operations, while effective in giving the outside world an accurate look into NK, are often put their lives at great risk
45
+ A look into the inner workings of Y Combinator from dinners with famous startup founders, office hours, fund raising strategy, to launch and Demo Day preps.
46
+ YC also offers introduction to valuable angels, VCs, and YC alumni.
47
+ Ultimately, it's the 3 months of intense focus on everything startups that fuel productivity and energy in YC founders.
48
+ A group of conspirators plot elaborate plans to extort money from illegal mine owners by killing mine workers in staged accidents, most of the victims are the conspirators' relatives.
49
+ In a case where the mine owner refused to pay, the group mistakenly report the dead which led to their eventual investigation and conviction
50
+ As a student the author already aspires to be a teacher.
51
+ She passionately teaches for 30 years despite many challenges such as budget cutbacks that result bigger class size and her taking a pay cut, cleaning her classroom, and buying school supplies with her own money.
52
+ When the district failed her school for not meeting their test score without considering these difficult challenges, it compound to cause her to finally stop being a teacher
53
+ Google has the most advanced and largest infrastructure to support its mission of organizing all information around us.
54
+ The scope of their operation has expanded beyond search to areas from speech recognition, language translation, to visual search.
55
+ But the backbone to all their innovation are machine learning and huge amount of data mining.
56
+ Germany reforms focusing on keeping manufacturing at home have helped its economy growth and unemployment low.
57
+ Like China, Germany carries a trade surplus with other EU nations such as France, Spain, Ireland, which effect the health of EU economy and hence the value of the euro.
58
+ Like Wife beating, slavery, and hanging of homosexuals, which used to be accepted by the mass and squarely condemned nowadays, the US prison system, industrial meat production, the institutionalization of the elderly, and polluting of our environment are destined for future condemnation.
59
+ Light regulation and fair laws in the medieval town of Lubeck attracted more merchants and turned it into a prosperous town with many neighbors adopting its model.
60
+ Now, a Stanford economist, Paul Romer, is advocating the same model to end poverty: creating charter-cities with new laws in poor countries.
61
+ Romer often cites Hong Kong as an example of a successful charter city.
62
+ Like Lubeck, Hong Kong inspire other nearby Chinese cities to adopt its model which transform China into the manufacture powerhouse it is today.
63
+ But his plan is often opposed by regional nationalists balking at the idea of giving lands to foreigners.
64
+ As a student, Portman made it to the semifinal round of the Intel Science Talent Search, a grueling competition that requires dedicated hard work.
65
+ At the same time, she manages to star in many movies, most notably as Queen Amidala in Star Wars. She went on to major in neuroscience at Harvard.
66
+ Jack Dorsey, the original Twitter creator, is now CEO of his second creation, Square - a company that allows individuals to process credit card with their phone.
67
+ He holds s variety of interests, is friend with many actors like Ashton Kutcher, and aspires to become the mayor of New York city.
68
+ In a campaign known as "long leash" the CIA promoted Abstract Expressionist paintings, without the artists knowledge, as propaganda weapon during the Cold War.
69
+ The decision was made to counter Communist propaganda, which often attracted artists and intellectuals, while American democracy was at odds with McCarthy's intolerance.
70
+ With its many covert operations to bring exhibitions everywhere the CIA helped Abstract Expressionism become the prominent art movement post WW2.
71
+ After the needless death of his father, the author, a business executive, began a personal exploration of a health-care industry that for years has delivered poor service and irregular quality at astonishingly high cost.
72
+ It is a system, he argues, that is not worth preserving in anything like its current form.
73
+ And the health-care reform now being contemplated will not fix it.
74
+ Here’s a radical solution to an agonizing problem.
75
+ In the race to build computers that can think like humans, the proving ground is the Turing Test—an annual battle between the world’s most advanced artificial-intelligence programs and ordinary people.
76
+ The objective? To find out whether a computer can act “more human” than a person.
77
+ In his own quest to beat the machines, the author discovers that the march of technology isn’t just changing how we live, it’s raising new questions about what it means to be human.
78
+ Bryan Johnson worked as a salesperson selling credit services to business, but he hates the job and decided to create Braintree.
79
+ Braintree avoids the freemium model and charged a premium, which was a lot higher than their competitors.
80
+ It helps filter out the inexperienced merchants who don't recognize the pain yet.
81
+ They generated $4.5M in revenue and grew to 24 employees and doubled its customer base.
82
+ startupproject.org) 13 points by kanebennett 4 hours ago | 3 comments15.
83
+ Clean Up Your Mess - A Guide to Visual Design for Everybody (visualmess.com) 348 points by joelg87 1 day ago | 56 comments16.
84
+ SCIgen - An Automatic CS Paper Generator (mit.edu) 3 points by caustic 1 hour ago | discuss17.
85
+ Impressed By Slow Code (dadgum.com) 53 points by angusgr 11 hours ago | 4 comments18.
86
+ Startups Open Sourced
metadata ADDED
@@ -0,0 +1,408 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: grammar_police
3
+ version: !ruby/object:Gem::Version
4
+ prerelease:
5
+ version: 0.1.0
6
+ platform: ruby
7
+ authors:
8
+ - Quan Nguyen
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+
13
+ date: 2011-05-04 00:00:00 Z
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: ffi
17
+ prerelease: false
18
+ requirement: &id001 !ruby/object:Gem::Requirement
19
+ none: false
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: "0"
24
+ type: :runtime
25
+ version_requirements: *id001
26
+ description: Unlike the other wrapper of the same library, this gem contains the c code and dictionary data, making it a standalone gem. This is good for deployment on platforms such as heroku where you can't install native libraries to your environment
27
+ email:
28
+ - mquannie@gmail.com
29
+ executables: []
30
+
31
+ extensions: []
32
+
33
+ extra_rdoc_files: []
34
+
35
+ files:
36
+ - .DS_Store
37
+ - .gitignore
38
+ - Gemfile
39
+ - Rakefile
40
+ - c/.DS_Store
41
+ - c/link-grammar.c
42
+ - c/link-grammar.h
43
+ - c/link-grammar.o
44
+ - c/link-grammar.so
45
+ - c/link-grammar/.DS_Store
46
+ - c/link-grammar/.deps/analyze-linkage.Plo
47
+ - c/link-grammar/.deps/and.Plo
48
+ - c/link-grammar/.deps/api.Plo
49
+ - c/link-grammar/.deps/build-disjuncts.Plo
50
+ - c/link-grammar/.deps/command-line.Plo
51
+ - c/link-grammar/.deps/constituents.Plo
52
+ - c/link-grammar/.deps/count.Plo
53
+ - c/link-grammar/.deps/disjunct-utils.Plo
54
+ - c/link-grammar/.deps/disjuncts.Plo
55
+ - c/link-grammar/.deps/error.Plo
56
+ - c/link-grammar/.deps/expand.Plo
57
+ - c/link-grammar/.deps/extract-links.Plo
58
+ - c/link-grammar/.deps/fast-match.Plo
59
+ - c/link-grammar/.deps/idiom.Plo
60
+ - c/link-grammar/.deps/jni-client.Plo
61
+ - c/link-grammar/.deps/link-parser.Po
62
+ - c/link-grammar/.deps/massage.Plo
63
+ - c/link-grammar/.deps/post-process.Plo
64
+ - c/link-grammar/.deps/pp_knowledge.Plo
65
+ - c/link-grammar/.deps/pp_lexer.Plo
66
+ - c/link-grammar/.deps/pp_linkset.Plo
67
+ - c/link-grammar/.deps/prefix.Plo
68
+ - c/link-grammar/.deps/preparation.Plo
69
+ - c/link-grammar/.deps/print-util.Plo
70
+ - c/link-grammar/.deps/print.Plo
71
+ - c/link-grammar/.deps/prune.Plo
72
+ - c/link-grammar/.deps/read-dict.Plo
73
+ - c/link-grammar/.deps/read-regex.Plo
74
+ - c/link-grammar/.deps/regex-morph.Plo
75
+ - c/link-grammar/.deps/resources.Plo
76
+ - c/link-grammar/.deps/spellcheck-aspell.Plo
77
+ - c/link-grammar/.deps/spellcheck-hun.Plo
78
+ - c/link-grammar/.deps/string-set.Plo
79
+ - c/link-grammar/.deps/tokenize.Plo
80
+ - c/link-grammar/.deps/utilities.Plo
81
+ - c/link-grammar/.deps/word-file.Plo
82
+ - c/link-grammar/.deps/word-utils.Plo
83
+ - c/link-grammar/.libs/analyze-linkage.o
84
+ - c/link-grammar/.libs/and.o
85
+ - c/link-grammar/.libs/api.o
86
+ - c/link-grammar/.libs/build-disjuncts.o
87
+ - c/link-grammar/.libs/command-line.o
88
+ - c/link-grammar/.libs/constituents.o
89
+ - c/link-grammar/.libs/count.o
90
+ - c/link-grammar/.libs/disjunct-utils.o
91
+ - c/link-grammar/.libs/disjuncts.o
92
+ - c/link-grammar/.libs/error.o
93
+ - c/link-grammar/.libs/expand.o
94
+ - c/link-grammar/.libs/extract-links.o
95
+ - c/link-grammar/.libs/fast-match.o
96
+ - c/link-grammar/.libs/idiom.o
97
+ - c/link-grammar/.libs/jni-client.o
98
+ - c/link-grammar/.libs/liblink-grammar-java-symbols.expsym
99
+ - c/link-grammar/.libs/liblink-grammar-java.4.dylib
100
+ - c/link-grammar/.libs/liblink-grammar-java.4.dylib.dSYM/Contents/Info.plist
101
+ - c/link-grammar/.libs/liblink-grammar-java.4.dylib.dSYM/Contents/Resources/DWARF/liblink-grammar-java.4.dylib
102
+ - c/link-grammar/.libs/liblink-grammar-java.a
103
+ - c/link-grammar/.libs/liblink-grammar-java.dylib
104
+ - c/link-grammar/.libs/liblink-grammar-symbols.expsym
105
+ - c/link-grammar/.libs/liblink-grammar.4.dylib
106
+ - c/link-grammar/.libs/liblink-grammar.4.dylib.dSYM/Contents/Info.plist
107
+ - c/link-grammar/.libs/liblink-grammar.4.dylib.dSYM/Contents/Resources/DWARF/liblink-grammar.4.dylib
108
+ - c/link-grammar/.libs/liblink-grammar.a
109
+ - c/link-grammar/.libs/liblink-grammar.dylib
110
+ - c/link-grammar/.libs/liblink-grammar.la
111
+ - c/link-grammar/.libs/liblink-grammar.lai
112
+ - c/link-grammar/.libs/massage.o
113
+ - c/link-grammar/.libs/post-process.o
114
+ - c/link-grammar/.libs/pp_knowledge.o
115
+ - c/link-grammar/.libs/pp_lexer.o
116
+ - c/link-grammar/.libs/pp_linkset.o
117
+ - c/link-grammar/.libs/prefix.o
118
+ - c/link-grammar/.libs/preparation.o
119
+ - c/link-grammar/.libs/print-util.o
120
+ - c/link-grammar/.libs/print.o
121
+ - c/link-grammar/.libs/prune.o
122
+ - c/link-grammar/.libs/read-dict.o
123
+ - c/link-grammar/.libs/read-regex.o
124
+ - c/link-grammar/.libs/regex-morph.o
125
+ - c/link-grammar/.libs/resources.o
126
+ - c/link-grammar/.libs/spellcheck-aspell.o
127
+ - c/link-grammar/.libs/spellcheck-hun.o
128
+ - c/link-grammar/.libs/string-set.o
129
+ - c/link-grammar/.libs/tokenize.o
130
+ - c/link-grammar/.libs/utilities.o
131
+ - c/link-grammar/.libs/word-file.o
132
+ - c/link-grammar/.libs/word-utils.o
133
+ - c/link-grammar/Makefile
134
+ - c/link-grammar/Makefile.am
135
+ - c/link-grammar/Makefile.in
136
+ - c/link-grammar/analyze-linkage.c
137
+ - c/link-grammar/analyze-linkage.h
138
+ - c/link-grammar/and.c
139
+ - c/link-grammar/and.h
140
+ - c/link-grammar/api-structures.h
141
+ - c/link-grammar/api-types.h
142
+ - c/link-grammar/api.c
143
+ - c/link-grammar/api.h
144
+ - c/link-grammar/autoit/.DS_Store
145
+ - c/link-grammar/autoit/README
146
+ - c/link-grammar/autoit/_LGTest.au3
147
+ - c/link-grammar/autoit/_LinkGrammar.au3
148
+ - c/link-grammar/build-disjuncts.c
149
+ - c/link-grammar/build-disjuncts.h
150
+ - c/link-grammar/command-line.c
151
+ - c/link-grammar/command-line.h
152
+ - c/link-grammar/constituents.c
153
+ - c/link-grammar/constituents.h
154
+ - c/link-grammar/corpus/.DS_Store
155
+ - c/link-grammar/corpus/.deps/cluster.Plo
156
+ - c/link-grammar/corpus/.deps/corpus.Plo
157
+ - c/link-grammar/corpus/Makefile
158
+ - c/link-grammar/corpus/Makefile.am
159
+ - c/link-grammar/corpus/Makefile.in
160
+ - c/link-grammar/corpus/README
161
+ - c/link-grammar/corpus/cluster.c
162
+ - c/link-grammar/corpus/cluster.h
163
+ - c/link-grammar/corpus/corpus.c
164
+ - c/link-grammar/corpus/corpus.h
165
+ - c/link-grammar/count.c
166
+ - c/link-grammar/count.h
167
+ - c/link-grammar/disjunct-utils.c
168
+ - c/link-grammar/disjunct-utils.h
169
+ - c/link-grammar/disjuncts.c
170
+ - c/link-grammar/disjuncts.h
171
+ - c/link-grammar/error.c
172
+ - c/link-grammar/error.h
173
+ - c/link-grammar/expand.c
174
+ - c/link-grammar/expand.h
175
+ - c/link-grammar/externs.h
176
+ - c/link-grammar/extract-links.c
177
+ - c/link-grammar/extract-links.h
178
+ - c/link-grammar/fast-match.c
179
+ - c/link-grammar/fast-match.h
180
+ - c/link-grammar/idiom.c
181
+ - c/link-grammar/idiom.h
182
+ - c/link-grammar/jni-client.c
183
+ - c/link-grammar/jni-client.h
184
+ - c/link-grammar/liblink-grammar-java.la
185
+ - c/link-grammar/liblink-grammar.la
186
+ - c/link-grammar/link-features.h
187
+ - c/link-grammar/link-features.h.in
188
+ - c/link-grammar/link-grammar-java.def
189
+ - c/link-grammar/link-grammar.def
190
+ - c/link-grammar/link-includes.h
191
+ - c/link-grammar/link-parser.c
192
+ - c/link-grammar/massage.c
193
+ - c/link-grammar/massage.h
194
+ - c/link-grammar/post-process.c
195
+ - c/link-grammar/post-process.h
196
+ - c/link-grammar/pp_knowledge.c
197
+ - c/link-grammar/pp_knowledge.h
198
+ - c/link-grammar/pp_lexer.c
199
+ - c/link-grammar/pp_lexer.h
200
+ - c/link-grammar/pp_linkset.c
201
+ - c/link-grammar/pp_linkset.h
202
+ - c/link-grammar/prefix.c
203
+ - c/link-grammar/prefix.h
204
+ - c/link-grammar/preparation.c
205
+ - c/link-grammar/preparation.h
206
+ - c/link-grammar/print-util.c
207
+ - c/link-grammar/print-util.h
208
+ - c/link-grammar/print.c
209
+ - c/link-grammar/print.h
210
+ - c/link-grammar/prune.c
211
+ - c/link-grammar/prune.h
212
+ - c/link-grammar/read-dict.c
213
+ - c/link-grammar/read-dict.h
214
+ - c/link-grammar/read-regex.c
215
+ - c/link-grammar/read-regex.h
216
+ - c/link-grammar/regex-morph.c
217
+ - c/link-grammar/regex-morph.h
218
+ - c/link-grammar/resources.c
219
+ - c/link-grammar/resources.h
220
+ - c/link-grammar/sat-solver/.DS_Store
221
+ - c/link-grammar/sat-solver/.deps/fast-sprintf.Plo
222
+ - c/link-grammar/sat-solver/.deps/sat-encoder.Plo
223
+ - c/link-grammar/sat-solver/.deps/util.Plo
224
+ - c/link-grammar/sat-solver/.deps/variables.Plo
225
+ - c/link-grammar/sat-solver/.deps/word-tag.Plo
226
+ - c/link-grammar/sat-solver/Makefile
227
+ - c/link-grammar/sat-solver/Makefile.am
228
+ - c/link-grammar/sat-solver/Makefile.in
229
+ - c/link-grammar/sat-solver/clock.hpp
230
+ - c/link-grammar/sat-solver/fast-sprintf.cpp
231
+ - c/link-grammar/sat-solver/fast-sprintf.hpp
232
+ - c/link-grammar/sat-solver/guiding.hpp
233
+ - c/link-grammar/sat-solver/matrix-ut.hpp
234
+ - c/link-grammar/sat-solver/sat-encoder.cpp
235
+ - c/link-grammar/sat-solver/sat-encoder.h
236
+ - c/link-grammar/sat-solver/sat-encoder.hpp
237
+ - c/link-grammar/sat-solver/trie.hpp
238
+ - c/link-grammar/sat-solver/util.cpp
239
+ - c/link-grammar/sat-solver/util.hpp
240
+ - c/link-grammar/sat-solver/variables.cpp
241
+ - c/link-grammar/sat-solver/variables.hpp
242
+ - c/link-grammar/sat-solver/word-tag.cpp
243
+ - c/link-grammar/sat-solver/word-tag.hpp
244
+ - c/link-grammar/spellcheck-aspell.c
245
+ - c/link-grammar/spellcheck-hun.c
246
+ - c/link-grammar/spellcheck.h
247
+ - c/link-grammar/string-set.c
248
+ - c/link-grammar/string-set.h
249
+ - c/link-grammar/structures.h
250
+ - c/link-grammar/tokenize.c
251
+ - c/link-grammar/tokenize.h
252
+ - c/link-grammar/utilities.c
253
+ - c/link-grammar/utilities.h
254
+ - c/link-grammar/word-file.c
255
+ - c/link-grammar/word-file.h
256
+ - c/link-grammar/word-utils.c
257
+ - c/link-grammar/word-utils.h
258
+ - data/.DS_Store
259
+ - data/Makefile
260
+ - data/Makefile.am
261
+ - data/Makefile.in
262
+ - data/de/.DS_Store
263
+ - data/de/4.0.affix
264
+ - data/de/4.0.dict
265
+ - data/de/Makefile
266
+ - data/de/Makefile.am
267
+ - data/de/Makefile.in
268
+ - data/en/.DS_Store
269
+ - data/en/4.0.affix
270
+ - data/en/4.0.batch
271
+ - data/en/4.0.biolg.batch
272
+ - data/en/4.0.constituent-knowledge
273
+ - data/en/4.0.dict
274
+ - data/en/4.0.dict.m4
275
+ - data/en/4.0.enwiki.batch
276
+ - data/en/4.0.fixes.batch
277
+ - data/en/4.0.knowledge
278
+ - data/en/4.0.regex
279
+ - data/en/4.0.voa.batch
280
+ - data/en/Makefile
281
+ - data/en/Makefile.am
282
+ - data/en/Makefile.in
283
+ - data/en/README
284
+ - data/en/tiny.dict
285
+ - data/en/words/.DS_Store
286
+ - data/en/words/Makefile
287
+ - data/en/words/Makefile.am
288
+ - data/en/words/Makefile.in
289
+ - data/en/words/currency
290
+ - data/en/words/currency.p
291
+ - data/en/words/entities.given-bisex.sing
292
+ - data/en/words/entities.given-female.sing
293
+ - data/en/words/entities.given-male.sing
294
+ - data/en/words/entities.locations.sing
295
+ - data/en/words/entities.national.sing
296
+ - data/en/words/entities.organizations.sing
297
+ - data/en/words/entities.us-states.sing
298
+ - data/en/words/units.1
299
+ - data/en/words/units.1.dot
300
+ - data/en/words/units.3
301
+ - data/en/words/units.4
302
+ - data/en/words/units.4.dot
303
+ - data/en/words/words-medical.adv.1
304
+ - data/en/words/words-medical.prep.1
305
+ - data/en/words/words-medical.v.4.1
306
+ - data/en/words/words-medical.v.4.2
307
+ - data/en/words/words-medical.v.4.3
308
+ - data/en/words/words-medical.v.4.4
309
+ - data/en/words/words-medical.v.4.5
310
+ - data/en/words/words.adj.1
311
+ - data/en/words/words.adj.2
312
+ - data/en/words/words.adj.3
313
+ - data/en/words/words.adv.1
314
+ - data/en/words/words.adv.2
315
+ - data/en/words/words.adv.3
316
+ - data/en/words/words.adv.4
317
+ - data/en/words/words.n.1
318
+ - data/en/words/words.n.1.wiki
319
+ - data/en/words/words.n.2.s
320
+ - data/en/words/words.n.2.s.biolg
321
+ - data/en/words/words.n.2.s.wiki
322
+ - data/en/words/words.n.2.x
323
+ - data/en/words/words.n.2.x.wiki
324
+ - data/en/words/words.n.3
325
+ - data/en/words/words.n.t
326
+ - data/en/words/words.v.1.1
327
+ - data/en/words/words.v.1.2
328
+ - data/en/words/words.v.1.3
329
+ - data/en/words/words.v.1.4
330
+ - data/en/words/words.v.1.p
331
+ - data/en/words/words.v.10.1
332
+ - data/en/words/words.v.10.2
333
+ - data/en/words/words.v.10.3
334
+ - data/en/words/words.v.10.4
335
+ - data/en/words/words.v.2.1
336
+ - data/en/words/words.v.2.2
337
+ - data/en/words/words.v.2.3
338
+ - data/en/words/words.v.2.4
339
+ - data/en/words/words.v.2.5
340
+ - data/en/words/words.v.4.1
341
+ - data/en/words/words.v.4.2
342
+ - data/en/words/words.v.4.3
343
+ - data/en/words/words.v.4.4
344
+ - data/en/words/words.v.4.5
345
+ - data/en/words/words.v.5.1
346
+ - data/en/words/words.v.5.2
347
+ - data/en/words/words.v.5.3
348
+ - data/en/words/words.v.5.4
349
+ - data/en/words/words.v.6.1
350
+ - data/en/words/words.v.6.2
351
+ - data/en/words/words.v.6.3
352
+ - data/en/words/words.v.6.4
353
+ - data/en/words/words.v.6.5
354
+ - data/en/words/words.v.8.1
355
+ - data/en/words/words.v.8.2
356
+ - data/en/words/words.v.8.3
357
+ - data/en/words/words.v.8.4
358
+ - data/en/words/words.v.8.5
359
+ - data/en/words/words.y
360
+ - data/lt/.DS_Store
361
+ - data/lt/4.0.affix
362
+ - data/lt/4.0.constituent-knowledge
363
+ - data/lt/4.0.dict
364
+ - data/lt/4.0.knowledge
365
+ - data/lt/Makefile
366
+ - data/lt/Makefile.am
367
+ - data/lt/Makefile.in
368
+ - grammar_police.gemspec
369
+ - lib/.DS_Store
370
+ - lib/grammar_police.rb
371
+ - lib/grammar_police/.DS_Store
372
+ - lib/grammar_police/dictionary.rb
373
+ - lib/grammar_police/linkage.rb
374
+ - lib/grammar_police/parse_options.rb
375
+ - lib/grammar_police/sentence.rb
376
+ - lib/grammar_police/version.rb
377
+ - tests/.DS_Store
378
+ - tests/count_linkages.rb
379
+ - tests/sentences.txt
380
+ homepage: ""
381
+ licenses: []
382
+
383
+ post_install_message:
384
+ rdoc_options: []
385
+
386
+ require_paths:
387
+ - lib
388
+ required_ruby_version: !ruby/object:Gem::Requirement
389
+ none: false
390
+ requirements:
391
+ - - ">="
392
+ - !ruby/object:Gem::Version
393
+ version: "0"
394
+ required_rubygems_version: !ruby/object:Gem::Requirement
395
+ none: false
396
+ requirements:
397
+ - - ">="
398
+ - !ruby/object:Gem::Version
399
+ version: "0"
400
+ requirements: []
401
+
402
+ rubyforge_project: grammar_police
403
+ rubygems_version: 1.7.2
404
+ signing_key:
405
+ specification_version: 3
406
+ summary: grammar_police is a ruby wrapper for the link-grammar code
407
+ test_files: []
408
+