Advertisement
Guest User

Untitled

a guest
Oct 19th, 2019
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.65 KB | None | 0 0
  1. #alias SEPARATOR =
  2. Token.punctuation<string!="-", string!=":", string!="?", string!=")"> | Node<isBreak=true>
  3. #
  4.  
  5. #alias ET_AL =
  6. Token.word.non-letter<text()="et">
  7. Token.word.non-letter<text()="al">
  8. #
  9.  
  10. #alias ARXIV =
  11. (
  12. Node<isWhitespace=true> | Token.punctuation.bracket | Token.symbol | (Token.word<string.lower="arxiv">? Token.punctuation.colon)
  13. (
  14. Token.number<length=4>
  15. Node<length=0>
  16. Token.punctuation.period
  17. Node<length=0>
  18. Token.number<length=4> | Token.number<length=5>
  19. )
  20. Node<isWhitespace=true> | Token.punctuation.period | Token.punctuation.bracket | Token.symbol
  21. ) |
  22. (
  23. Token.word.non-letter<string.lower="arxiv">
  24. Token.punctuation.colon
  25. (
  26. Token.number<length=4>
  27. Node<length=0>
  28. Token.punctuation.period
  29. Node<length=0>
  30. Token.number<length=4> | Token.number<length=5>
  31. )
  32. )
  33. #
  34.  
  35. #alias JOURNAL =
  36. (
  37. Token.word.non-letter<string.lower="journal">
  38. Token.word.non-letter<string.lower="of">
  39. )?
  40. (
  41. (
  42. Token.word<typography!="lower"> | (Token.number (Token.word<text()="st"> | Token.word<text()="nd"> | Token.word<text()="rd"> | Token.word<text()="th">))
  43. (Token.punctuation.period | Token.punctuation.slash | Token.punctuation.colon)?
  44. )
  45. (
  46. (
  47. Token.word | Token.punctuation.ampersand | (Token.punctuation.dash Token.word) | Term.lexical | Token.word<text()="et"> | (Token.number (Token.word<text()="st"> | Token.word<text()="nd"> | Token.word<text()="rd"> | Token.word<text()="th">))
  48. (Token.punctuation.slash | Token.punctuation.colon)?
  49. ) |
  50. (
  51. Token.word<typography!="lower">
  52. Token.punctuation.period?
  53. )
  54. )*
  55. ) |
  56. (
  57. wordlist:JournalName
  58. )
  59. #
  60.  
  61. #alias TITLE =
  62. (Token.symbol.misc<text()="“"> | Token.punctuation.quote)?
  63. (
  64. Token.word<typography!="lower"> | Token.number
  65. Token.punctuation<string!=".", string!="\"">{0,2} | Token.symbol.misc?
  66. (
  67. Token.word | Token.number
  68. Token.punctuation{0,2} | Token.symbol<text()!="”">{0,2}
  69. ) +
  70. Token.punctuation.question?
  71. ) = $title
  72. (Token.symbol.misc<text()="”"> | Token.punctuation.quote)?
  73. #
  74.  
  75. #alias JINFO =
  76. ( // pages 2310-2337
  77. (
  78. Token.word.non-letter<string="pages"> | Token.word.non-letter<string="pagg"> | Token.word.non-letter<string="pp">
  79. Token.punctuation.period?
  80. ) ?
  81. Token.number = $fpage
  82. Token.punctuation.dash
  83. Token.number = $lpage
  84. ) |
  85. (
  86. (
  87. Token.word.non-letter<string.lower="vol">
  88. Token.punctuation.period?
  89. )?
  90. Token.number = $vol
  91. (
  92. Token.punctuation.bracket
  93. Token.number = $issue
  94. (
  95. Token.punctuation.dash
  96. Token.number
  97. )?
  98. Token.punctuation.bracket
  99. )?
  100. Token.punctuation.comma | Token.punctuation.colon
  101. Token.number = $fpage
  102. (
  103. Token.punctuation.dash
  104. Token.number = $lpage
  105. )?
  106. ) |
  107. ( // volume 12, page 88
  108. Token.word.non-letter<string.lower="volume"> | (Token.word.non-letter<string.lower="vol"> Token.punctuation.period?)
  109. Token.number = $vol
  110. Token.punctuation.comma
  111. Token.word.non-letter<string.lower="page"> | (Token.word.non-letter<string.lower="pp"> Token.punctuation.period?) | (Token.word.non-letter<string.lower="pagg"> Token.punctuation.period?)
  112. Token.number = $fpage
  113. (
  114. Token.punctuation.dash
  115. Token.number = $lpage
  116. )?
  117. ) |
  118. ( // 33, D89
  119. Token.number = $vol
  120. (
  121. Token.punctuation.comma
  122. Token.word.letter
  123. Token.number
  124. )?
  125. ) |
  126. ( // 18:1, 61-73
  127. Token.number
  128. Token.punctuation.colon
  129. Token.number
  130. Token.punctuation.comma
  131. Token.number = $fpage
  132. (
  133. Token.punctuation.dash
  134. Token.number = $lpage
  135. )?
  136. ) |
  137. (
  138. Token.number = $vol
  139. Token.number = $fpage
  140. ) |
  141. (
  142. Token.word.non-letter<string.lower="vol">
  143. Token.punctuation.period?
  144. Token.number = $vol
  145. (
  146. Token.punctuation.colon
  147. (
  148. Token.punctuation.dash
  149. Token.number = $lpage
  150. )?
  151. )?
  152. ) |
  153. (
  154. @ARXIV
  155. )
  156. #
  157.  
  158. #alias MONTH =
  159. wordlist:Month
  160. Token.punctuation.period?
  161. #
  162.  
  163. #alias YEAR =
  164. Token.punctuation.bracket.open?
  165. @MONTH?
  166. tag:PubYear
  167. (
  168. Node<length=0>
  169. Token.word.letter<typography="lower">
  170. )?
  171. Token.punctuation.bracket.close?
  172. #
  173.  
  174. tag:AuthorList
  175. @SEPARATOR?
  176. @ET_AL?
  177. @SEPARATOR{0,2}
  178. ( // AuthorList -> Title -> Journal -> JInfo? -> Year
  179. @TITLE
  180. @SEPARATOR{1,2}
  181. (
  182. Token.word.non-letter<string.lower="in">
  183. Token.word.non-letter<string.lower="the">?
  184. )?
  185. @JOURNAL = $journal
  186. (
  187. Token.punctuation.bracket
  188. Token{1,3}
  189. Token.punctuation.bracket
  190. )?
  191. (
  192. @SEPARATOR{0,2}
  193. @JINFO = $jinfo // Optional vol/page stuff
  194. @SEPARATOR{0,2}
  195. )?
  196. @YEAR
  197. @SEPARATOR?
  198. Node<isBreak=true>
  199. ) |
  200. ( // AuthorList -> Year -> Title -> Journal
  201. @YEAR
  202. @SEPARATOR{0,2}
  203. @TITLE
  204. @SEPARATOR{1,2}
  205. (
  206. Token.word.non-letter<string.lower="in">
  207. Token.word.non-letter<string.lower="the">?
  208. )?
  209. @JOURNAL = $journal
  210. (
  211. Token.punctuation.bracket
  212. Token{1,3}
  213. Token.punctuation.bracket
  214. )?
  215. (
  216. @SEPARATOR{0,2} // Optional vol/page stuff
  217. @JINFO = $jinfo
  218. @SEPARATOR{0,2}
  219. )?
  220. @SEPARATOR?
  221. (
  222. Token.symbol.misc
  223. Token+
  224. Token.symbol.misc
  225. )?
  226. Node<isBreak=true>
  227. ) |
  228. ( // AuthorList -> Title -> Journal -> Year -> JInfo?
  229. @TITLE
  230. @SEPARATOR{0,2}
  231. (
  232. Token.word.non-letter<string.lower="in">
  233. Token.word.non-letter<string.lower="the">?
  234. )?
  235. @JOURNAL = $journal
  236. (
  237. Token.punctuation.bracket
  238. Token{1,3}
  239. Token.punctuation.bracket
  240. )?
  241. Token.number? = $vol
  242. @SEPARATOR{0,2}
  243. @YEAR
  244. (
  245. @SEPARATOR{0,2} // Optional vol/page stuff
  246. @JINFO = $jinfo
  247. @SEPARATOR{0,2}
  248. )?
  249. @SEPARATOR?
  250. Token*
  251. Node<isBreak=true>
  252. ) |
  253. ( // AuthorList -> Year -> Journal
  254. @YEAR
  255. @SEPARATOR{0,2}
  256. @JOURNAL = $journal
  257. (
  258. Token.punctuation.bracket
  259. Token{1,3}
  260. Token.punctuation.bracket
  261. )?
  262. (
  263. @SEPARATOR{0,2} // Optional vol/page stuff
  264. @JINFO = $jinfo
  265. @SEPARATOR{0,2}
  266. )?
  267. @SEPARATOR
  268. Node<isBreak=true>
  269. ) |
  270. ( // AuthorList -> Title -> ArxivID
  271. @TITLE
  272. @SEPARATOR
  273. tag:ArxivID
  274. ) |
  275. ( // AuthorList -> Year -> Title -> Editor -> Journal -> Misc
  276. @YEAR
  277. @SEPARATOR{0,2}
  278. @TITLE
  279. (
  280. @SEPARATOR
  281. Token.word.non-letter<string.lower="in">
  282. Token+
  283. (
  284. Token.punctuation.bracket.open
  285. Token.word
  286. Token.punctuation.period?
  287. Token.punctuation.bracket.close
  288. )
  289. )?
  290. @SEPARATOR
  291. @JOURNAL = $journal
  292. (
  293. @SEPARATOR{0,2} // Optional vol/page stuff
  294. @JINFO = $jinfo
  295. @SEPARATOR{0,2}
  296. )?
  297. Token*
  298. ) |
  299. ( // AuthorList -> Year -> Title
  300. @SEPARATOR?
  301. @YEAR
  302. @SEPARATOR?
  303. @TITLE
  304. @SEPARATOR?
  305. Node<isBreak=true>
  306. ) |
  307. ( // AuthorList -> Journal -> JInfo? -> Year -> Misc
  308. @SEPARATOR?
  309. @JOURNAL = $journal
  310. (
  311. @SEPARATOR{0,2} // Optional vol/page stuff
  312. @JINFO = $jinfo
  313. @SEPARATOR{0,2}
  314. )?
  315. @YEAR
  316. Token*
  317. Node<isBreak=true>
  318. )
  319. > $journal = tag:Journal<volume=$vol.text(), fpage=$fpage.text(), lpage=$lpage.text(), issue=$issue.text()>
  320. > $title = tag:PaperTitle
  321.  
  322. tag:PubYear
  323. > !!tag:PaperTitle @delete
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement