raw_and_comments.pl 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338
  1. use vars qw(%result_texis %result_texts %result_trees %result_errors
  2. %result_indices %result_sectioning %result_nodes %result_menus
  3. %result_floats %result_converted %result_converted_errors
  4. %result_elements %result_directions_text);
  5. use utf8;
  6. $result_trees{'raw_and_comments'} = {
  7. 'contents' => [
  8. {
  9. 'args' => [
  10. {
  11. 'contents' => [
  12. {
  13. 'extra' => {
  14. 'command' => {}
  15. },
  16. 'parent' => {},
  17. 'text' => ' ',
  18. 'type' => 'empty_spaces_after_command'
  19. },
  20. {
  21. 'args' => [
  22. {
  23. 'parent' => {},
  24. 'text' => ' comment
  25. ',
  26. 'type' => 'misc_arg'
  27. }
  28. ],
  29. 'cmdname' => 'c',
  30. 'extra' => {
  31. 'misc_args' => [
  32. ' comment
  33. '
  34. ]
  35. },
  36. 'parent' => {}
  37. }
  38. ],
  39. 'parent' => {},
  40. 'type' => 'block_line_arg'
  41. }
  42. ],
  43. 'cmdname' => 'tex',
  44. 'contents' => [
  45. {
  46. 'contents' => [
  47. {
  48. 'parent' => {},
  49. 'text' => 'in <tex>
  50. '
  51. }
  52. ],
  53. 'parent' => {},
  54. 'type' => 'rawpreformatted'
  55. },
  56. {
  57. 'args' => [
  58. {
  59. 'contents' => [
  60. {
  61. 'extra' => {
  62. 'command' => {}
  63. },
  64. 'parent' => {},
  65. 'text' => ' ',
  66. 'type' => 'empty_spaces_after_command'
  67. },
  68. {
  69. 'parent' => {},
  70. 'text' => 'tex'
  71. },
  72. {
  73. 'parent' => {},
  74. 'text' => ' ',
  75. 'type' => 'spaces_at_end'
  76. },
  77. {
  78. 'args' => [
  79. {
  80. 'parent' => {},
  81. 'text' => ' other comment
  82. ',
  83. 'type' => 'misc_arg'
  84. }
  85. ],
  86. 'cmdname' => 'comment',
  87. 'extra' => {
  88. 'misc_args' => [
  89. ' other comment
  90. '
  91. ]
  92. },
  93. 'parent' => {}
  94. }
  95. ],
  96. 'parent' => {},
  97. 'type' => 'misc_line_arg'
  98. }
  99. ],
  100. 'cmdname' => 'end',
  101. 'extra' => {
  102. 'command' => {},
  103. 'command_argument' => 'tex',
  104. 'spaces_after_command' => {},
  105. 'text_arg' => 'tex'
  106. },
  107. 'line_nr' => {
  108. 'file_name' => '',
  109. 'line_nr' => 3,
  110. 'macro' => ''
  111. },
  112. 'parent' => {}
  113. }
  114. ],
  115. 'extra' => {
  116. 'end_command' => {},
  117. 'spaces_after_command' => {}
  118. },
  119. 'line_nr' => {
  120. 'file_name' => '',
  121. 'line_nr' => 1,
  122. 'macro' => ''
  123. },
  124. 'parent' => {}
  125. },
  126. {
  127. 'parent' => {},
  128. 'text' => '
  129. ',
  130. 'type' => 'empty_line'
  131. },
  132. {
  133. 'contents' => [
  134. {
  135. 'parent' => {},
  136. 'text' => 'Para
  137. '
  138. },
  139. {
  140. 'args' => [
  141. {
  142. 'contents' => [
  143. {
  144. 'extra' => {
  145. 'command' => {}
  146. },
  147. 'parent' => {},
  148. 'text' => ' ',
  149. 'type' => 'empty_spaces_after_command'
  150. },
  151. {
  152. 'args' => [
  153. {
  154. 'parent' => {},
  155. 'text' => ' in xml comment
  156. ',
  157. 'type' => 'misc_arg'
  158. }
  159. ],
  160. 'cmdname' => 'c',
  161. 'extra' => {
  162. 'misc_args' => [
  163. ' in xml comment
  164. '
  165. ]
  166. },
  167. 'parent' => {}
  168. }
  169. ],
  170. 'parent' => {},
  171. 'type' => 'block_line_arg'
  172. }
  173. ],
  174. 'cmdname' => 'xml',
  175. 'contents' => [
  176. {
  177. 'contents' => [
  178. {
  179. 'parent' => {},
  180. 'text' => '<in />
  181. '
  182. }
  183. ],
  184. 'parent' => {},
  185. 'type' => 'rawpreformatted'
  186. },
  187. {
  188. 'args' => [
  189. {
  190. 'contents' => [
  191. {
  192. 'extra' => {
  193. 'command' => {}
  194. },
  195. 'parent' => {},
  196. 'text' => ' ',
  197. 'type' => 'empty_spaces_after_command'
  198. },
  199. {
  200. 'parent' => {},
  201. 'text' => 'xml'
  202. },
  203. {
  204. 'parent' => {},
  205. 'text' => ' ',
  206. 'type' => 'spaces_at_end'
  207. },
  208. {
  209. 'args' => [
  210. {
  211. 'parent' => {},
  212. 'text' => ' end xml comment
  213. ',
  214. 'type' => 'misc_arg'
  215. }
  216. ],
  217. 'cmdname' => 'comment',
  218. 'extra' => {
  219. 'misc_args' => [
  220. ' end xml comment
  221. '
  222. ]
  223. },
  224. 'parent' => {}
  225. }
  226. ],
  227. 'parent' => {},
  228. 'type' => 'misc_line_arg'
  229. }
  230. ],
  231. 'cmdname' => 'end',
  232. 'extra' => {
  233. 'command' => {},
  234. 'command_argument' => 'xml',
  235. 'spaces_after_command' => {},
  236. 'text_arg' => 'xml'
  237. },
  238. 'line_nr' => {
  239. 'file_name' => '',
  240. 'line_nr' => 8,
  241. 'macro' => ''
  242. },
  243. 'parent' => {}
  244. }
  245. ],
  246. 'extra' => {
  247. 'end_command' => {},
  248. 'spaces_after_command' => {}
  249. },
  250. 'line_nr' => {
  251. 'file_name' => '',
  252. 'line_nr' => 6,
  253. 'macro' => ''
  254. },
  255. 'parent' => {}
  256. }
  257. ],
  258. 'parent' => {},
  259. 'type' => 'paragraph'
  260. }
  261. ],
  262. 'type' => 'text_root'
  263. };
  264. $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[0];
  265. $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0];
  266. $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[1];
  267. $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0];
  268. $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0];
  269. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[0];
  270. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0];
  271. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1];
  272. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
  273. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
  274. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
  275. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3];
  276. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0];
  277. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1];
  278. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[0];
  279. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'extra'}{'spaces_after_command'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'args'}[0]{'contents'}[0];
  280. $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[0];
  281. $result_trees{'raw_and_comments'}{'contents'}[0]{'extra'}{'end_command'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'contents'}[1];
  282. $result_trees{'raw_and_comments'}{'contents'}[0]{'extra'}{'spaces_after_command'} = $result_trees{'raw_and_comments'}{'contents'}[0]{'args'}[0]{'contents'}[0];
  283. $result_trees{'raw_and_comments'}{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'};
  284. $result_trees{'raw_and_comments'}{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'};
  285. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2];
  286. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1];
  287. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0];
  288. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[1]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[1];
  289. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0];
  290. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1];
  291. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[0];
  292. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1];
  293. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1];
  294. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0];
  295. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0];
  296. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[2]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0];
  297. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[3]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[3];
  298. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[3]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0];
  299. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1];
  300. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'extra'}{'command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1];
  301. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'extra'}{'spaces_after_command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'args'}[0]{'contents'}[0];
  302. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1];
  303. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'extra'}{'end_command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'contents'}[1];
  304. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'extra'}{'spaces_after_command'} = $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'args'}[0]{'contents'}[0];
  305. $result_trees{'raw_and_comments'}{'contents'}[2]{'contents'}[1]{'parent'} = $result_trees{'raw_and_comments'}{'contents'}[2];
  306. $result_trees{'raw_and_comments'}{'contents'}[2]{'parent'} = $result_trees{'raw_and_comments'};
  307. $result_texis{'raw_and_comments'} = '@tex @c comment
  308. in <tex>
  309. @end tex @comment other comment
  310. Para
  311. @xml @c in xml comment
  312. <in />
  313. @end xml @comment end xml comment
  314. ';
  315. $result_texts{'raw_and_comments'} = '
  316. Para
  317. ';
  318. $result_errors{'raw_and_comments'} = [];
  319. $result_converted{'xml'}->{'raw_and_comments'} = '<tex spaces=" " endspaces=" "><!-- c comment -->
  320. in &lt;tex&gt;
  321. </tex> <!-- comment other comment -->
  322. <para>Para
  323. <in />
  324. </para>';
  325. 1;