skylinecms 3.0.7

Sign up to get free protection for your applications and to get access to all the features.
Files changed (978) hide show
  1. data/.yardopts +8 -0
  2. data/CHANGELOG +111 -0
  3. data/COPYING +674 -0
  4. data/COPYING.LESSER +165 -0
  5. data/COPYRIGHT +14 -0
  6. data/README.md +46 -0
  7. data/Rakefile +42 -0
  8. data/app/controllers/skyline/application_controller.rb +256 -0
  9. data/app/controllers/skyline/article_versions_controller.rb +39 -0
  10. data/app/controllers/skyline/articles_controller.rb +245 -0
  11. data/app/controllers/skyline/authentications_controller.rb +34 -0
  12. data/app/controllers/skyline/browser/files_controller.rb +18 -0
  13. data/app/controllers/skyline/browser/images_controller.rb +20 -0
  14. data/app/controllers/skyline/browser/links_controller.rb +26 -0
  15. data/app/controllers/skyline/browser/pages_controller.rb +10 -0
  16. data/app/controllers/skyline/browser/tabs/media_library/media_files_controller.rb +31 -0
  17. data/app/controllers/skyline/content/editors/editable_list_controller.rb +23 -0
  18. data/app/controllers/skyline/content/editors/joinable_list_controller.rb +73 -0
  19. data/app/controllers/skyline/content_controller.rb +201 -0
  20. data/app/controllers/skyline/content_items_controller.rb +14 -0
  21. data/app/controllers/skyline/content_sections_controller.rb +15 -0
  22. data/app/controllers/skyline/link_section_links_controller.rb +14 -0
  23. data/app/controllers/skyline/locales_controller.rb +15 -0
  24. data/app/controllers/skyline/media_dirs_controller.rb +56 -0
  25. data/app/controllers/skyline/media_files_controller.rb +87 -0
  26. data/app/controllers/skyline/media_files_data_controller.rb +60 -0
  27. data/app/controllers/skyline/publications_controller.rb +45 -0
  28. data/app/controllers/skyline/published_publications_controller.rb +44 -0
  29. data/app/controllers/skyline/redirects_controller.rb +5 -0
  30. data/app/controllers/skyline/sections_controller.rb +24 -0
  31. data/app/controllers/skyline/settings_controller.rb +28 -0
  32. data/app/controllers/skyline/site/media_files_data_controller.rb +73 -0
  33. data/app/controllers/skyline/site/pages_controller.rb +50 -0
  34. data/app/controllers/skyline/skyline2_controller.rb +21 -0
  35. data/app/controllers/skyline/users_controller.rb +103 -0
  36. data/app/controllers/skyline/variant_current_editor_controller.rb +37 -0
  37. data/app/controllers/skyline/variants_controller.rb +71 -0
  38. data/app/helpers/skyline/application_helper.rb +82 -0
  39. data/app/helpers/skyline/browser/tabs/media_library/media_files_helper.rb +6 -0
  40. data/app/helpers/skyline/button_helper.rb +77 -0
  41. data/app/helpers/skyline/content_helper.rb +159 -0
  42. data/app/helpers/skyline/dialog_helper.rb +30 -0
  43. data/app/helpers/skyline/editors/boolean.rb +6 -0
  44. data/app/helpers/skyline/editors/checkable_list.rb +54 -0
  45. data/app/helpers/skyline/editors/date.rb +15 -0
  46. data/app/helpers/skyline/editors/date_time.rb +11 -0
  47. data/app/helpers/skyline/editors/display.rb +12 -0
  48. data/app/helpers/skyline/editors/editable_list.rb +81 -0
  49. data/app/helpers/skyline/editors/editor.rb +107 -0
  50. data/app/helpers/skyline/editors/file_browser.rb +54 -0
  51. data/app/helpers/skyline/editors/heading.rb +13 -0
  52. data/app/helpers/skyline/editors/inline_list.rb +9 -0
  53. data/app/helpers/skyline/editors/joinable_list.rb +118 -0
  54. data/app/helpers/skyline/editors/list.rb +15 -0
  55. data/app/helpers/skyline/editors/page_browser.rb +54 -0
  56. data/app/helpers/skyline/editors/text_field.rb +12 -0
  57. data/app/helpers/skyline/editors/textarea.rb +11 -0
  58. data/app/helpers/skyline/editors/textile.rb +12 -0
  59. data/app/helpers/skyline/editors/wysiwyg.rb +28 -0
  60. data/app/helpers/skyline/media_files_helper.rb +6 -0
  61. data/app/helpers/skyline/message_generator.rb +24 -0
  62. data/app/helpers/skyline/pages_helper.rb +44 -0
  63. data/app/helpers/skyline/presenters/article_list.rb +139 -0
  64. data/app/helpers/skyline/presenters/presenter.rb +127 -0
  65. data/app/helpers/skyline/presenters/table.rb +30 -0
  66. data/app/helpers/skyline/ref_object_helper.rb +84 -0
  67. data/app/helpers/skyline/translation_helper.rb +36 -0
  68. data/app/helpers/skyline/tree_helper.rb +62 -0
  69. data/app/helpers/skyline/users_helper.rb +2 -0
  70. data/app/middleware/skyline/flash_session_cookie_middleware.rb +16 -0
  71. data/app/middleware/skyline/plugins_loader_middleware.rb +10 -0
  72. data/app/middleware/skyline/sprockets_middleware.rb +71 -0
  73. data/app/models/skyline/article.rb +219 -0
  74. data/app/models/skyline/article_version.rb +95 -0
  75. data/app/models/skyline/associated_tag.rb +14 -0
  76. data/app/models/skyline/grant.rb +6 -0
  77. data/app/models/skyline/image_ref.rb +35 -0
  78. data/app/models/skyline/inline_ref.rb +182 -0
  79. data/app/models/skyline/link_ref.rb +34 -0
  80. data/app/models/skyline/link_section_link.rb +23 -0
  81. data/app/models/skyline/media_cache.rb +38 -0
  82. data/app/models/skyline/media_dir.rb +61 -0
  83. data/app/models/skyline/media_file.rb +132 -0
  84. data/app/models/skyline/media_node.rb +104 -0
  85. data/app/models/skyline/object_ref.rb +47 -0
  86. data/app/models/skyline/page.rb +256 -0
  87. data/app/models/skyline/page_fragment.rb +14 -0
  88. data/app/models/skyline/publication.rb +24 -0
  89. data/app/models/skyline/ref_object.rb +9 -0
  90. data/app/models/skyline/referable_uri.rb +17 -0
  91. data/app/models/skyline/right.rb +5 -0
  92. data/app/models/skyline/role.rb +8 -0
  93. data/app/models/skyline/section.rb +33 -0
  94. data/app/models/skyline/sections/content_collection_section.rb +26 -0
  95. data/app/models/skyline/sections/content_item_section.rb +27 -0
  96. data/app/models/skyline/sections/heading_section.rb +5 -0
  97. data/app/models/skyline/sections/iframe_section.rb +8 -0
  98. data/app/models/skyline/sections/link_section.rb +21 -0
  99. data/app/models/skyline/sections/media_section.rb +12 -0
  100. data/app/models/skyline/sections/page_fragment_section.rb +7 -0
  101. data/app/models/skyline/sections/raw_section.rb +7 -0
  102. data/app/models/skyline/sections/redirect_section.rb +16 -0
  103. data/app/models/skyline/sections/rss_section.rb +99 -0
  104. data/app/models/skyline/sections/splitter_section.rb +5 -0
  105. data/app/models/skyline/sections/wysiwyg_section.rb +12 -0
  106. data/app/models/skyline/site.rb +30 -0
  107. data/app/models/skyline/tag.rb +34 -0
  108. data/app/models/skyline/user.rb +192 -0
  109. data/app/models/skyline/variant.rb +178 -0
  110. data/app/observers/skyline/article_version_observer.rb +17 -0
  111. data/app/observers/skyline/file_cache_sweeper.rb +23 -0
  112. data/app/observers/skyline/media_file_observer.rb +32 -0
  113. data/app/observers/skyline/version_stamper.rb +42 -0
  114. data/app/templates/skyline/page/default/index.html.erb +19 -0
  115. data/app/templates/skyline/sections/content_collection_section/default/index.html.erb +2 -0
  116. data/app/templates/skyline/sections/content_item_section/default/index.html.erb +6 -0
  117. data/app/templates/skyline/sections/heading_section/default/index.html.erb +2 -0
  118. data/app/templates/skyline/sections/iframe_section/default/index.html.erb +1 -0
  119. data/app/templates/skyline/sections/link_section/default/index.html.erb +11 -0
  120. data/app/templates/skyline/sections/media_section/default/index.html.erb +15 -0
  121. data/app/templates/skyline/sections/page_fragment_section/default/index.html.erb +5 -0
  122. data/app/templates/skyline/sections/raw_section/default/index.html.erb +1 -0
  123. data/app/templates/skyline/sections/redirect_section/default/index.html.erb +0 -0
  124. data/app/templates/skyline/sections/rss_section/default/index.html.erb +11 -0
  125. data/app/templates/skyline/sections/splitter_section/default/index.html.erb +1 -0
  126. data/app/templates/skyline/sections/wysiwyg_section/default/index.html.erb +3 -0
  127. data/app/views/skyline/articles/_currently_editing.html.erb +18 -0
  128. data/app/views/skyline/articles/_meta.html.erb +146 -0
  129. data/app/views/skyline/articles/_security.html.erb +30 -0
  130. data/app/views/skyline/articles/_takeover_action.html.erb +36 -0
  131. data/app/views/skyline/articles/edit.html.erb +111 -0
  132. data/app/views/skyline/articles/edit_preview_only.html.erb +16 -0
  133. data/app/views/skyline/articles/index.html.erb +70 -0
  134. data/app/views/skyline/articles/page/_header.html.erb +72 -0
  135. data/app/views/skyline/articles/page/_index.html.erb +28 -0
  136. data/app/views/skyline/articles/page_fragment/_header.html.erb +23 -0
  137. data/app/views/skyline/articles/page_fragment/_index.html.erb +15 -0
  138. data/app/views/skyline/authentications/new.html.erb +58 -0
  139. data/app/views/skyline/browser/files/_index.html.erb +26 -0
  140. data/app/views/skyline/browser/images/_index.html.erb +62 -0
  141. data/app/views/skyline/browser/links/_index.html.erb +56 -0
  142. data/app/views/skyline/browser/pages/_index.html.erb +27 -0
  143. data/app/views/skyline/browser/tabs/external_image/_index.html.erb +18 -0
  144. data/app/views/skyline/browser/tabs/external_link/_index.html.erb +17 -0
  145. data/app/views/skyline/browser/tabs/media_library/_index.html.erb +51 -0
  146. data/app/views/skyline/browser/tabs/media_library/media_files/_index.html.erb +63 -0
  147. data/app/views/skyline/browser/tabs/media_library/media_files/_show.html.erb +44 -0
  148. data/app/views/skyline/browser/tabs/pages/_index.html.erb +49 -0
  149. data/app/views/skyline/content/_add.rhtml +30 -0
  150. data/app/views/skyline/content/_filter.rhtml +41 -0
  151. data/app/views/skyline/content/_group.html.erb +6 -0
  152. data/app/views/skyline/content/_import.html.erb +18 -0
  153. data/app/views/skyline/content/_index.html.erb +28 -0
  154. data/app/views/skyline/content/_meta.html.erb +45 -0
  155. data/app/views/skyline/content/_submit.html.erb +15 -0
  156. data/app/views/skyline/content/create.rhtml +13 -0
  157. data/app/views/skyline/content/edit.rhtml +13 -0
  158. data/app/views/skyline/content/editors/joinable_list/_add.html.erb +13 -0
  159. data/app/views/skyline/content/editors/joinable_list/_list.html.erb +69 -0
  160. data/app/views/skyline/content/error.rhtml +2 -0
  161. data/app/views/skyline/content/index.html.erb +0 -0
  162. data/app/views/skyline/content/list.rhtml +22 -0
  163. data/app/views/skyline/content/show.rhtml +9 -0
  164. data/app/views/skyline/content_items/_content_item.html.erb +3 -0
  165. data/app/views/skyline/content_sections/_tags.html.erb +22 -0
  166. data/app/views/skyline/layouts/articles.html.erb +30 -0
  167. data/app/views/skyline/layouts/content.html.erb +66 -0
  168. data/app/views/skyline/layouts/media.html.erb +22 -0
  169. data/app/views/skyline/layouts/pages.html.erb +59 -0
  170. data/app/views/skyline/layouts/settings.html.erb +40 -0
  171. data/app/views/skyline/link_section_links/_form.html.erb +29 -0
  172. data/app/views/skyline/locales/show.js.erb +14 -0
  173. data/app/views/skyline/media_dirs/_edit.html.erb +25 -0
  174. data/app/views/skyline/media_dirs/_index.html.erb +14 -0
  175. data/app/views/skyline/media_dirs/index.html.erb +42 -0
  176. data/app/views/skyline/media_files/_edit.html.erb +75 -0
  177. data/app/views/skyline/media_files/_header.html.erb +3 -0
  178. data/app/views/skyline/media_files/_index.html.erb +51 -0
  179. data/app/views/skyline/media_files/_new.html.erb +50 -0
  180. data/app/views/skyline/publications/_index.html.erb +35 -0
  181. data/app/views/skyline/sections/_content_collection_section.html.erb +30 -0
  182. data/app/views/skyline/sections/_content_item_section.html.erb +27 -0
  183. data/app/views/skyline/sections/_form.html.erb +45 -0
  184. data/app/views/skyline/sections/_heading_section.html.erb +23 -0
  185. data/app/views/skyline/sections/_iframe_section.html.erb +12 -0
  186. data/app/views/skyline/sections/_link_section.html.erb +33 -0
  187. data/app/views/skyline/sections/_media_section.html.erb +16 -0
  188. data/app/views/skyline/sections/_page_fragment_section.html.erb +8 -0
  189. data/app/views/skyline/sections/_raw_section.html.erb +1 -0
  190. data/app/views/skyline/sections/_redirect_section.html.erb +10 -0
  191. data/app/views/skyline/sections/_rss_section.html.erb +12 -0
  192. data/app/views/skyline/sections/_splitter_section.html.erb +1 -0
  193. data/app/views/skyline/sections/_wysiwyg_section.html.erb +21 -0
  194. data/app/views/skyline/settings/edit.html.erb +46 -0
  195. data/app/views/skyline/shared/_head.html.erb +29 -0
  196. data/app/views/skyline/shared/_header_area.html.erb +49 -0
  197. data/app/views/skyline/tags/_available_tags.html.erb +5 -0
  198. data/app/views/skyline/users/_edit.html.erb +3 -0
  199. data/app/views/skyline/users/_form.html.erb +73 -0
  200. data/app/views/skyline/users/_new.html.erb +3 -0
  201. data/app/views/skyline/users/index.html.erb +70 -0
  202. data/bin/skylinecms +5 -0
  203. data/config/initializers/dependencies.rb +21 -0
  204. data/config/initializers/javascript_generator_methods.rb +4 -0
  205. data/config/initializers/locales.rb +11 -0
  206. data/config/initializers/middlewares.rb +20 -0
  207. data/config/initializers/mime_types.rb +225 -0
  208. data/config/initializers/observers.rb +5 -0
  209. data/config/initializers/rails_defaults.rb +2 -0
  210. data/config/locales/en-US.yml +819 -0
  211. data/config/locales/nl-NL.yml +818 -0
  212. data/config/routes.rb +89 -0
  213. data/db/fixtures/files/test.gif +0 -0
  214. data/db/fixtures/roles_and_rights.rb +81 -0
  215. data/db/fixtures/roots.rb +15 -0
  216. data/db/migrate/20090302102548_add_media_nodes.rb +17 -0
  217. data/db/migrate/20090309133933_add_description_to_media_nodes.rb +9 -0
  218. data/db/migrate/20090309134731_add_tags.rb +11 -0
  219. data/db/migrate/20090309135746_create_media_files_tags.rb +12 -0
  220. data/db/migrate/20090319091342_create_media_caches.rb +13 -0
  221. data/db/migrate/20090327083240_create_users.rb +16 -0
  222. data/db/migrate/20090327084656_create_roles.rb +12 -0
  223. data/db/migrate/20090327084719_create_rights.rb +12 -0
  224. data/db/migrate/20090327084739_create_grants.rb +12 -0
  225. data/db/migrate/20090327090918_create_rights_roles.rb +12 -0
  226. data/db/migrate/20090408115155_create_ref_objects.rb +19 -0
  227. data/db/migrate/20090504140044_create_test_sections.rb +14 -0
  228. data/db/migrate/20090506083107_add_refering_column_name_to_ref_objects.rb +9 -0
  229. data/db/migrate/20090508145820_create_skyline_pages.rb +17 -0
  230. data/db/migrate/20090508145852_create_skyline_page_versions.rb +27 -0
  231. data/db/migrate/20090508150149_create_skyline_sections.rb +17 -0
  232. data/db/migrate/20090508150204_create_skyline_wysiwyg_sections.rb +12 -0
  233. data/db/migrate/20090508150210_create_skyline_rss_sections.rb +13 -0
  234. data/db/migrate/20090511074702_create_test_content_objs.rb +14 -0
  235. data/db/migrate/20090519143912_add_skyline_pages_locked.rb +9 -0
  236. data/db/migrate/20090525081942_rename_test_content_objs.rb +9 -0
  237. data/db/migrate/20090526090049_add_pages_url_part.rb +11 -0
  238. data/db/migrate/20090527130112_create_skyline_iframe_sections.rb +14 -0
  239. data/db/migrate/20090528080308_create_skyline_versions.rb +14 -0
  240. data/db/migrate/20090528090319_create_skyline_actions.rb +14 -0
  241. data/db/migrate/20090603104115_prefix_tables_for_skyline.rb +30 -0
  242. data/db/migrate/20090608131055_add_skyline_pages_navigation_title.rb +9 -0
  243. data/db/migrate/20090610134844_create_skyline_content_collection_sections.rb +13 -0
  244. data/db/migrate/20090610142139_add_skyline_tags_taggable_type.rb +11 -0
  245. data/db/migrate/20090610143446_move_skyline_media_files_skyline_tags_to_skyline_associated_tags.rb +14 -0
  246. data/db/migrate/20090616091122_add_skyline_pages_persistent.rb +10 -0
  247. data/db/migrate/20090616091432_add_skyline_pages_identifier.rb +9 -0
  248. data/db/migrate/20090616134834_create_skyline_heading_section.rb +12 -0
  249. data/db/migrate/20090624113754_create_skyline_content_item_section.rb +13 -0
  250. data/db/migrate/20090624134548_create_skyline_splitter_section.rb +11 -0
  251. data/db/migrate/20090624154213_create_skyline_link_sections.rb +12 -0
  252. data/db/migrate/20090624154251_create_skyline_link_section_links.rb +17 -0
  253. data/db/migrate/20090625110837_remove_skyline_actions.rb +14 -0
  254. data/db/migrate/20090630100045_add_media_nodes_file_type.rb +10 -0
  255. data/db/migrate/20090702160937_add_media_node_dimensions.rb +18 -0
  256. data/db/migrate/20090703101812_rename_page_title_tag.rb +9 -0
  257. data/db/migrate/20090706124019_add_skyline_media_node_title.rb +11 -0
  258. data/db/migrate/20090709142235_add_system_users_flag.rb +9 -0
  259. data/db/migrate/20090710145157_add_skyline_users_destroyed.rb +9 -0
  260. data/db/migrate/20090713133240_add_skyline_grants_primary_key.rb +9 -0
  261. data/db/migrate/20090714084713_migrate_sections_in_module.rb +24 -0
  262. data/db/migrate/20090723132822_add_skyline_page_version_current_editor.rb +13 -0
  263. data/db/migrate/20090804072505_create_skyline_sections_raw_sections.rb +13 -0
  264. data/db/migrate/20090804074053_create_skyline_sections_media_sections.rb +16 -0
  265. data/db/migrate/20090806134610_migrate_pages_to_articles.rb +23 -0
  266. data/db/migrate/20090806155411_create_skyline_page_datas.rb +85 -0
  267. data/db/migrate/20090807074314_create_skyline_sections_redirect_sections.rb +13 -0
  268. data/db/migrate/20090807112358_add_roles_system.rb +9 -0
  269. data/db/migrate/20090807130819_add_article_data_pointers.rb +48 -0
  270. data/db/migrate/20090807143152_remove_articles_cached_fields.rb +9 -0
  271. data/db/migrate/20090810130159_remove_page_url_part_constraint.rb +11 -0
  272. data/db/migrate/20090810131440_create_skyline_page_fragement_data.rb +12 -0
  273. data/db/migrate/20090812154655_create_skyline_sections_page_fragment_sections.rb +12 -0
  274. data/db/migrate/20090814102107_add_associated_tag_id.rb +9 -0
  275. data/db/migrate/20090904121447_create_skyline_referable_uris.rb +62 -0
  276. data/db/migrate/20091008134448_article_position_no_default.rb +9 -0
  277. data/db/migrate/20091013135821_allow_null_for_position_in_articles.rb +9 -0
  278. data/db/migrate/20091202130512_rename_users_destroyed_to_is_destroyed.rb +9 -0
  279. data/db/migrate/20091202152514_add_media_nodes_date.rb +9 -0
  280. data/doc/INSTALL.md +64 -0
  281. data/doc/MIGRATION.md +45 -0
  282. data/lib/skyline.rb +22 -0
  283. data/lib/skyline/cli/base.rb +21 -0
  284. data/lib/skyline/cli/init.rb +118 -0
  285. data/lib/skyline/cli/init/templates/config/initializers/skyline_configuration.rb +5 -0
  286. data/lib/skyline/cli/init/templates/tasks/skyline.rake +2 -0
  287. data/lib/skyline/configuration.rb +112 -0
  288. data/lib/skyline/content/class_meta_data.rb +105 -0
  289. data/lib/skyline/content/content.rb +315 -0
  290. data/lib/skyline/content/exportable.rb +28 -0
  291. data/lib/skyline/content/field_meta_data.rb +336 -0
  292. data/lib/skyline/content/implementation.rb +57 -0
  293. data/lib/skyline/content/meta_data/class_settings.rb +18 -0
  294. data/lib/skyline/content/meta_data/field.rb +212 -0
  295. data/lib/skyline/content/meta_data/field_group.rb +83 -0
  296. data/lib/skyline/content/meta_data/field_page.rb +82 -0
  297. data/lib/skyline/content/orderable.rb +81 -0
  298. data/lib/skyline/content/stack.rb +111 -0
  299. data/lib/skyline/content/versioning/version.rb +42 -0
  300. data/lib/skyline/content/versioning/versionable.rb +38 -0
  301. data/lib/skyline/content_item.rb +197 -0
  302. data/lib/skyline/content_item_section_selectable.rb +32 -0
  303. data/lib/skyline/form_builder_with_errors.rb +182 -0
  304. data/lib/skyline/indexer.rb +36 -0
  305. data/lib/skyline/javascript_generator_methods.rb +13 -0
  306. data/lib/skyline/plugins_manager.rb +29 -0
  307. data/lib/skyline/positionable.rb +47 -0
  308. data/lib/skyline/referable.rb +103 -0
  309. data/lib/skyline/renderable_scope.rb +27 -0
  310. data/lib/skyline/renderable_scope_interface.rb +29 -0
  311. data/lib/skyline/renderer.rb +392 -0
  312. data/lib/skyline/rendering/helpers/bread_crumb_helper.rb +46 -0
  313. data/lib/skyline/rendering/helpers/column_helper.rb +22 -0
  314. data/lib/skyline/rendering/helpers/renderer_helper.rb +130 -0
  315. data/lib/skyline/rendering/helpers/settings_helper.rb +31 -0
  316. data/lib/skyline/searchable_item.rb +132 -0
  317. data/lib/skyline/section_item.rb +35 -0
  318. data/lib/skyline/settings.rb +175 -0
  319. data/lib/skyline/taggable.rb +87 -0
  320. data/lib/skyline/url_validation.rb +66 -0
  321. data/lib/skyline/version.rb +13 -0
  322. data/lib/skyline/wildcard_renderable_scope.rb +15 -0
  323. data/lib/skylinecms.rb +3 -0
  324. data/public/skyline/images/backgrounds/advanced-closed.gif +0 -0
  325. data/public/skyline/images/backgrounds/advanced-open.gif +0 -0
  326. data/public/skyline/images/backgrounds/dialog-head.gif +0 -0
  327. data/public/skyline/images/backgrounds/dialog-shadow-bl-corner.png +0 -0
  328. data/public/skyline/images/backgrounds/dialog-shadow-bottom.png +0 -0
  329. data/public/skyline/images/backgrounds/dialog-shadow-br-corner.png +0 -0
  330. data/public/skyline/images/backgrounds/dialog-shadow-left.png +0 -0
  331. data/public/skyline/images/backgrounds/dialog-shadow-right.png +0 -0
  332. data/public/skyline/images/backgrounds/dialog-shadow-tl-corner.png +0 -0
  333. data/public/skyline/images/backgrounds/dialog-shadow-top.png +0 -0
  334. data/public/skyline/images/backgrounds/dialog-shadow-tr-corner.png +0 -0
  335. data/public/skyline/images/backgrounds/dots.gif +0 -0
  336. data/public/skyline/images/backgrounds/hover.gif +0 -0
  337. data/public/skyline/images/backgrounds/login-contentarea.gif +0 -0
  338. data/public/skyline/images/backgrounds/mainnavigation.gif +0 -0
  339. data/public/skyline/images/backgrounds/menu-arrow-bottom.gif +0 -0
  340. data/public/skyline/images/backgrounds/menu-arrow-right.gif +0 -0
  341. data/public/skyline/images/backgrounds/menubutton-active.gif +0 -0
  342. data/public/skyline/images/backgrounds/menubutton-arrow.gif +0 -0
  343. data/public/skyline/images/backgrounds/menubutton.gif +0 -0
  344. data/public/skyline/images/backgrounds/messages-confirmation.gif +0 -0
  345. data/public/skyline/images/backgrounds/messages-error-icon.gif +0 -0
  346. data/public/skyline/images/backgrounds/panel-dt.gif +0 -0
  347. data/public/skyline/images/backgrounds/panel-footer.gif +0 -0
  348. data/public/skyline/images/backgrounds/panel-head-closed.gif +0 -0
  349. data/public/skyline/images/backgrounds/panel-head-open.gif +0 -0
  350. data/public/skyline/images/backgrounds/panel-head.gif +0 -0
  351. data/public/skyline/images/backgrounds/pixel-blue.gif +0 -0
  352. data/public/skyline/images/backgrounds/pixel-gray.gif +0 -0
  353. data/public/skyline/images/backgrounds/progressbar-bar.gif +0 -0
  354. data/public/skyline/images/backgrounds/progressbar.gif +0 -0
  355. data/public/skyline/images/backgrounds/section-splitter.gif +0 -0
  356. data/public/skyline/images/backgrounds/selected.gif +0 -0
  357. data/public/skyline/images/backgrounds/splitter.gif +0 -0
  358. data/public/skyline/images/backgrounds/tree-li-closed.gif +0 -0
  359. data/public/skyline/images/backgrounds/tree-li-last.gif +0 -0
  360. data/public/skyline/images/backgrounds/tree-li-open.gif +0 -0
  361. data/public/skyline/images/backgrounds/tree-li.gif +0 -0
  362. data/public/skyline/images/backgrounds/tree-ul.gif +0 -0
  363. data/public/skyline/images/backgrounds/usernavigation.gif +0 -0
  364. data/public/skyline/images/buttons/buttons-medium.gif +0 -0
  365. data/public/skyline/images/buttons/buttons-small.gif +0 -0
  366. data/public/skyline/images/buttons/dialog-close.gif +0 -0
  367. data/public/skyline/images/buttons/section-delete.gif +0 -0
  368. data/public/skyline/images/icons/attachment.gif +0 -0
  369. data/public/skyline/images/icons/audio.gif +0 -0
  370. data/public/skyline/images/icons/cog-blue.gif +0 -0
  371. data/public/skyline/images/icons/cog.gif +0 -0
  372. data/public/skyline/images/icons/compressed.gif +0 -0
  373. data/public/skyline/images/icons/default.gif +0 -0
  374. data/public/skyline/images/icons/drag.gif +0 -0
  375. data/public/skyline/images/icons/excel.gif +0 -0
  376. data/public/skyline/images/icons/executable.gif +0 -0
  377. data/public/skyline/images/icons/false.gif +0 -0
  378. data/public/skyline/images/icons/file-failed.gif +0 -0
  379. data/public/skyline/images/icons/file-success.gif +0 -0
  380. data/public/skyline/images/icons/flash.gif +0 -0
  381. data/public/skyline/images/icons/folder.gif +0 -0
  382. data/public/skyline/images/icons/html.gif +0 -0
  383. data/public/skyline/images/icons/image.gif +0 -0
  384. data/public/skyline/images/icons/link-external.gif +0 -0
  385. data/public/skyline/images/icons/lock-open.gif +0 -0
  386. data/public/skyline/images/icons/lock.gif +0 -0
  387. data/public/skyline/images/icons/pages.gif +0 -0
  388. data/public/skyline/images/icons/pdf.gif +0 -0
  389. data/public/skyline/images/icons/powerpoint.gif +0 -0
  390. data/public/skyline/images/icons/text.gif +0 -0
  391. data/public/skyline/images/icons/toolbar.gif +0 -0
  392. data/public/skyline/images/icons/true.gif +0 -0
  393. data/public/skyline/images/icons/video.gif +0 -0
  394. data/public/skyline/images/icons/word.gif +0 -0
  395. data/public/skyline/images/logo.gif +0 -0
  396. data/public/skyline/images/logo.png +0 -0
  397. data/public/skyline/images/spinner.gif +0 -0
  398. data/public/skyline/javascripts/README +5 -0
  399. data/public/skyline/javascripts/src/application.js +403 -0
  400. data/public/skyline/javascripts/src/browser.js +267 -0
  401. data/public/skyline/javascripts/src/draggable_files.js +102 -0
  402. data/public/skyline/javascripts/src/library_uploader.js +226 -0
  403. data/public/skyline/javascripts/src/messages.js +61 -0
  404. data/public/skyline/javascripts/src/mootools_on_rails.js +53 -0
  405. data/public/skyline/javascripts/src/page_helper.js +49 -0
  406. data/public/skyline/javascripts/src/poller.js +51 -0
  407. data/public/skyline/javascripts/src/sections.js +70 -0
  408. data/public/skyline/javascripts/src/skyline.editor.js +1 -0
  409. data/public/skyline/javascripts/src/skyline.editor/assets/content.css +21 -0
  410. data/public/skyline/javascripts/src/skyline.editor/assets/dialog.css +116 -0
  411. data/public/skyline/javascripts/src/skyline.editor/assets/icons.gif +0 -0
  412. data/public/skyline/javascripts/src/skyline.editor/assets/ui.css +211 -0
  413. data/public/skyline/javascripts/src/skyline.editor/dialogs/anchor.htm +31 -0
  414. data/public/skyline/javascripts/src/skyline.editor/dialogs/charmap.htm +53 -0
  415. data/public/skyline/javascripts/src/skyline.editor/dialogs/color_picker.htm +75 -0
  416. data/public/skyline/javascripts/src/skyline.editor/dialogs/skyline_code.html +17 -0
  417. data/public/skyline/javascripts/src/skyline.editor/src/plugins/autoresize/editor_plugin.js +115 -0
  418. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/dialog.js +87 -0
  419. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecode/editor_plugin.js +38 -0
  420. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinecontextmenu/editor_plugin.js +89 -0
  421. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/dialog.js +88 -0
  422. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylineimage/editor_plugin.js +33 -0
  423. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/dialog.js +113 -0
  424. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinelink/editor_plugin.js +51 -0
  425. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinetable/editor_plugin.js +1087 -0
  426. data/public/skyline/javascripts/src/skyline.editor/src/plugins/skylinewindows/editor_plugin.js +263 -0
  427. data/public/skyline/javascripts/src/skyline.editor/src/script_loader.js +96 -0
  428. data/public/skyline/javascripts/src/skyline.editor/src/skyline.editor.js +135 -0
  429. data/public/skyline/javascripts/src/skyline.editor/src/theme.js +636 -0
  430. data/public/skyline/javascripts/src/skyline.editor/src/ui/separator.js +34 -0
  431. data/public/skyline/javascripts/src/skyline.editor/src/ui/toolbar.js +102 -0
  432. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.bat +2 -0
  433. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/build.xml +364 -0
  434. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/changelog.txt +886 -0
  435. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/content.css +51 -0
  436. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/css/word.css +53 -0
  437. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full.html +85 -0
  438. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/full_jquery.html +94 -0
  439. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/index.html +10 -0
  440. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/image_list.js +9 -0
  441. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/link_list.js +10 -0
  442. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/media_list.js +10 -0
  443. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/lists/template_list.js +9 -0
  444. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo.jpg +0 -0
  445. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/logo_over.jpg +0 -0
  446. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.avi +0 -0
  447. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.dcr +0 -0
  448. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.mov +0 -0
  449. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.ram +1 -0
  450. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.rm +0 -0
  451. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/media/sample.swf +0 -0
  452. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/menu.html +16 -0
  453. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/simple.html +43 -0
  454. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/skins.html +212 -0
  455. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/layout1.htm +15 -0
  456. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/templates/snippet1.htm +1 -0
  457. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/translate.html +80 -0
  458. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/examples/word.html +67 -0
  459. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/AddOnManager.js +95 -0
  460. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/CommandManager.js +54 -0
  461. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ControlManager.js +489 -0
  462. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Developer.js +91 -0
  463. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Editor.js +2295 -0
  464. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorCommands.js +934 -0
  465. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/EditorManager.js +453 -0
  466. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ForceBlocks.js +644 -0
  467. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/Popup.js +412 -0
  468. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/UndoManager.js +183 -0
  469. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/WindowManager.js +169 -0
  470. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/adapter.js +240 -0
  471. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/jquery/jquery.tinymce.js +179 -0
  472. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/adapter/prototype/adapter.js +38 -0
  473. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/BlockQuote.js +135 -0
  474. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/CutCopyPaste.js +24 -0
  475. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/InsertHorizontalRule.js +15 -0
  476. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/RemoveFormat.js +173 -0
  477. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/commands/UndoRedo.js +38 -0
  478. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/DOMUtils.js +1823 -0
  479. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Element.js +199 -0
  480. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/EventUtils.js +349 -0
  481. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Range.js +721 -0
  482. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/ScriptLoader.js +351 -0
  483. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Selection.js +747 -0
  484. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Serializer.js +979 -0
  485. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/Sizzle.js +975 -0
  486. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/StringWriter.js +200 -0
  487. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/TridentSelection.js +273 -0
  488. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/dom/XMLWriter.js +155 -0
  489. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/firebug/firebug-lite.js +2518 -0
  490. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/tinymce.js +549 -0
  491. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Button.js +68 -0
  492. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ColorSplitButton.js +212 -0
  493. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Container.js +56 -0
  494. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Control.js +182 -0
  495. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/DropMenu.js +397 -0
  496. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/ListBox.js +320 -0
  497. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Menu.js +175 -0
  498. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuButton.js +128 -0
  499. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/MenuItem.js +69 -0
  500. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/NativeListBox.js +198 -0
  501. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Separator.js +34 -0
  502. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/SplitButton.js +99 -0
  503. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/ui/Toolbar.js +86 -0
  504. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Cookie.js +126 -0
  505. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/Dispatcher.js +101 -0
  506. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSON.js +81 -0
  507. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONP.js +25 -0
  508. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/JSONRequest.js +87 -0
  509. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/URI.js +289 -0
  510. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/util/XHR.js +80 -0
  511. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/classes/xml/Parser.js +126 -0
  512. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/jquery.tinymce.js +1 -0
  513. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/langs/en.js +154 -0
  514. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/license.txt +504 -0
  515. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/css/advhr.css +5 -0
  516. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin.js +1 -0
  517. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/editor_plugin_src.js +54 -0
  518. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/js/rule.js +43 -0
  519. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/langs/en_dlg.js +5 -0
  520. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advhr/rule.htm +62 -0
  521. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/css/advimage.css +13 -0
  522. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin.js +1 -0
  523. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/editor_plugin_src.js +47 -0
  524. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/image.htm +237 -0
  525. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/img/sample.gif +0 -0
  526. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/js/image.js +443 -0
  527. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advimage/langs/en_dlg.js +43 -0
  528. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/css/advlink.css +8 -0
  529. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin.js +1 -0
  530. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/editor_plugin_src.js +58 -0
  531. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/js/advlink.js +528 -0
  532. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/langs/en_dlg.js +52 -0
  533. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/advlink/link.htm +338 -0
  534. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin.js +1 -0
  535. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autoresize/editor_plugin_src.js +111 -0
  536. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin.js +1 -0
  537. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/autosave/editor_plugin_src.js +51 -0
  538. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin.js +1 -0
  539. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +117 -0
  540. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin.js +1 -0
  541. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/compat2x/editor_plugin_src.js +616 -0
  542. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin.js +1 -0
  543. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/contextmenu/editor_plugin_src.js +95 -0
  544. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin.js +1 -0
  545. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/directionality/editor_plugin_src.js +79 -0
  546. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin.js +1 -0
  547. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/editor_plugin_src.js +40 -0
  548. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/emotions.htm +40 -0
  549. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cool.gif +0 -0
  550. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-cry.gif +0 -0
  551. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-embarassed.gif +0 -0
  552. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-foot-in-mouth.gif +0 -0
  553. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-frown.gif +0 -0
  554. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-innocent.gif +0 -0
  555. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-kiss.gif +0 -0
  556. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-laughing.gif +0 -0
  557. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-money-mouth.gif +0 -0
  558. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-sealed.gif +0 -0
  559. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-smile.gif +0 -0
  560. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-surprised.gif +0 -0
  561. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-tongue-out.gif +0 -0
  562. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-undecided.gif +0 -0
  563. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-wink.gif +0 -0
  564. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/img/smiley-yell.gif +0 -0
  565. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/js/emotions.js +22 -0
  566. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/emotions/langs/en_dlg.js +20 -0
  567. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/dialog.htm +27 -0
  568. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin.js +1 -0
  569. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/editor_plugin_src.js +81 -0
  570. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/img/example.gif +0 -0
  571. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/js/dialog.js +19 -0
  572. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en.js +3 -0
  573. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/example/langs/en_dlg.js +3 -0
  574. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/css/fullpage.css +182 -0
  575. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin.js +1 -0
  576. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/editor_plugin_src.js +146 -0
  577. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/fullpage.htm +576 -0
  578. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/js/fullpage.js +461 -0
  579. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullpage/langs/en_dlg.js +85 -0
  580. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin.js +1 -0
  581. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/editor_plugin_src.js +145 -0
  582. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/fullscreen/fullscreen.htm +110 -0
  583. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin.js +1 -0
  584. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/iespell/editor_plugin_src.js +51 -0
  585. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin.js +1 -0
  586. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/editor_plugin_src.js +632 -0
  587. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/alert.gif +0 -0
  588. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/button.gif +0 -0
  589. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/buttons.gif +0 -0
  590. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/confirm.gif +0 -0
  591. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/corners.gif +0 -0
  592. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/horizontal.gif +0 -0
  593. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/img/vertical.gif +0 -0
  594. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/skins/clearlooks2/window.css +90 -0
  595. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/inlinepopups/template.htm +387 -0
  596. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin.js +1 -0
  597. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/insertdatetime/editor_plugin_src.js +80 -0
  598. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin.js +1 -0
  599. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/layer/editor_plugin_src.js +209 -0
  600. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/content.css +6 -0
  601. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/css/media.css +16 -0
  602. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin.js +1 -0
  603. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/editor_plugin_src.js +405 -0
  604. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flash.gif +0 -0
  605. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/flv_player.swf +0 -0
  606. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/quicktime.gif +0 -0
  607. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/realmedia.gif +0 -0
  608. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/shockwave.gif +0 -0
  609. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/trans.gif +0 -0
  610. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/img/windowsmedia.gif +0 -0
  611. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/embed.js +73 -0
  612. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/js/media.js +630 -0
  613. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/langs/en_dlg.js +103 -0
  614. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/media/media.htm +822 -0
  615. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin.js +1 -0
  616. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/nonbreaking/editor_plugin_src.js +50 -0
  617. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin.js +1 -0
  618. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/noneditable/editor_plugin_src.js +87 -0
  619. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/css/content.css +1 -0
  620. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin.js +1 -0
  621. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/editor_plugin_src.js +74 -0
  622. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/pagebreak.gif +0 -0
  623. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/pagebreak/img/trans.gif +0 -0
  624. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin.js +1 -0
  625. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/editor_plugin_src.js +512 -0
  626. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pastetext.js +36 -0
  627. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/js/pasteword.js +51 -0
  628. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/langs/en_dlg.js +5 -0
  629. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pastetext.htm +33 -0
  630. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/paste/pasteword.htm +27 -0
  631. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin.js +1 -0
  632. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/editor_plugin_src.js +50 -0
  633. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/example.html +28 -0
  634. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/jscripts/embed.js +73 -0
  635. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/preview/preview.html +17 -0
  636. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin.js +1 -0
  637. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/print/editor_plugin_src.js +31 -0
  638. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/blank.htm +1 -0
  639. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin.js +1 -0
  640. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/safari/editor_plugin_src.js +438 -0
  641. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin.js +1 -0
  642. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/save/editor_plugin_src.js +98 -0
  643. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/css/searchreplace.css +6 -0
  644. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin.js +1 -0
  645. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/editor_plugin_src.js +54 -0
  646. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/js/searchreplace.js +126 -0
  647. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/langs/en_dlg.js +16 -0
  648. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/searchreplace/searchreplace.htm +104 -0
  649. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/css/content.css +1 -0
  650. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin.js +1 -0
  651. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/editor_plugin_src.js +338 -0
  652. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/spellchecker/img/wline.gif +0 -0
  653. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/css/props.css +13 -0
  654. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin.js +1 -0
  655. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/editor_plugin_src.js +52 -0
  656. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/js/props.js +641 -0
  657. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/langs/en_dlg.js +63 -0
  658. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/style/props.htm +730 -0
  659. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin.js +1 -0
  660. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/tabfocus/editor_plugin_src.js +109 -0
  661. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/cell.htm +183 -0
  662. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/cell.css +17 -0
  663. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/row.css +25 -0
  664. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/css/table.css +13 -0
  665. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin.js +1 -0
  666. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/editor_plugin_src.js +1136 -0
  667. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/cell.js +269 -0
  668. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/merge_cells.js +29 -0
  669. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/row.js +212 -0
  670. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/js/table.js +440 -0
  671. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/langs/en_dlg.js +74 -0
  672. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/merge_cells.htm +37 -0
  673. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/row.htm +160 -0
  674. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/table/table.htm +192 -0
  675. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/blank.htm +12 -0
  676. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/css/template.css +23 -0
  677. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin.js +1 -0
  678. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/editor_plugin_src.js +156 -0
  679. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/js/template.js +106 -0
  680. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/langs/en_dlg.js +15 -0
  681. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/template/template.htm +38 -0
  682. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin.js +1 -0
  683. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/visualchars/editor_plugin_src.js +73 -0
  684. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/abbr.htm +148 -0
  685. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/acronym.htm +148 -0
  686. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/attributes.htm +153 -0
  687. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/cite.htm +148 -0
  688. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/attributes.css +11 -0
  689. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/css/popup.css +9 -0
  690. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/del.htm +169 -0
  691. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin.js +1 -0
  692. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/editor_plugin_src.js +136 -0
  693. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/ins.htm +169 -0
  694. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/abbr.js +25 -0
  695. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/acronym.js +25 -0
  696. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/attributes.js +123 -0
  697. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/cite.js +25 -0
  698. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/del.js +60 -0
  699. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/element_common.js +231 -0
  700. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/js/ins.js +59 -0
  701. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/plugins/xhtmlxtras/langs/en_dlg.js +32 -0
  702. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/about.htm +56 -0
  703. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/anchor.htm +31 -0
  704. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/charmap.htm +53 -0
  705. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/color_picker.htm +75 -0
  706. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template.js +1 -0
  707. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/editor_template_src.js +1153 -0
  708. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/image.htm +85 -0
  709. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/colorpicker.jpg +0 -0
  710. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/img/icons.gif +0 -0
  711. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/about.js +72 -0
  712. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/anchor.js +37 -0
  713. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/charmap.js +325 -0
  714. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/color_picker.js +253 -0
  715. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/image.js +245 -0
  716. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/link.js +156 -0
  717. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/js/source_editor.js +62 -0
  718. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en.js +62 -0
  719. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/langs/en_dlg.js +51 -0
  720. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/link.htm +63 -0
  721. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/content.css +32 -0
  722. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/dialog.css +116 -0
  723. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/buttons.png +0 -0
  724. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/items.gif +0 -0
  725. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_arrow.gif +0 -0
  726. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/menu_check.gif +0 -0
  727. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/progress.gif +0 -0
  728. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/img/tabs.gif +0 -0
  729. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/default/ui.css +214 -0
  730. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/content.css +32 -0
  731. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/dialog.css +115 -0
  732. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg.png +0 -0
  733. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_black.png +0 -0
  734. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/img/button_bg_silver.png +0 -0
  735. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui.css +215 -0
  736. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_black.css +8 -0
  737. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/skins/o2k7/ui_silver.css +5 -0
  738. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/advanced/source_editor.htm +31 -0
  739. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template.js +1 -0
  740. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/editor_template_src.js +85 -0
  741. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/img/icons.gif +0 -0
  742. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/langs/en.js +11 -0
  743. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/content.css +25 -0
  744. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/default/ui.css +32 -0
  745. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/content.css +17 -0
  746. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/img/button_bg.png +0 -0
  747. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/themes/simple/skins/o2k7/ui.css +35 -0
  748. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce.js +1 -0
  749. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_dev.js +128 -0
  750. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery.js +1 -0
  751. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_jquery_src.js +12198 -0
  752. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_popup.js +5 -0
  753. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype.js +1 -0
  754. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_prototype_src.js +13057 -0
  755. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/tiny_mce_src.js +13030 -0
  756. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/editable_selects.js +69 -0
  757. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/form_utils.js +199 -0
  758. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/mctabs.js +76 -0
  759. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/jscripts/tiny_mce/utils/validate.js +219 -0
  760. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api.html +18 -0
  761. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_jquery.html +18 -0
  762. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/api_prototype.html +19 -0
  763. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/basic.html +548 -0
  764. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/crossdomain.html +87 -0
  765. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/css/unit.css +120 -0
  766. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/index.html +10 -0
  767. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/jquery_plugin.html +112 -0
  768. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/api.js +1438 -0
  769. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/js/testrunner.js +791 -0
  770. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/main.html +8 -0
  771. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/media.html +221 -0
  772. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/menu.html +22 -0
  773. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/parts.html +90 -0
  774. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/paste.html +132 -0
  775. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/performance.html +152 -0
  776. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/range.html +522 -0
  777. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/removeformat.html +88 -0
  778. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/selection.html +235 -0
  779. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/config.ini +27 -0
  780. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/footer.html +3 -0
  781. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/header.html +6 -0
  782. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/index.php +1 -0
  783. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/instructions.txt +4 -0
  784. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/logo.png +0 -0
  785. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/selectors.list +40 -0
  786. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/style.css +181 -0
  787. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/index.php +112 -0
  788. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/slickspeed.js +147 -0
  789. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/system/template.php +47 -0
  790. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/slickspeed/template.html +2865 -0
  791. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tests/test.xml +6 -0
  792. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/ant-contrib.jar +0 -0
  793. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/js_build_tools.jar +0 -0
  794. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnClientAdapter.jar +0 -0
  795. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnant.jar +0 -0
  796. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnjavahl.jar +0 -0
  797. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/svnkit.jar +0 -0
  798. data/public/skyline/javascripts/src/skyline.editor/vendor/tinymce/tools/ant/yuicompressor.jar +0 -0
  799. data/public/skyline/javascripts/src/skyline.js +16 -0
  800. data/public/skyline/javascripts/src/skyline/assets/dialog/button-close.gif +0 -0
  801. data/public/skyline/javascripts/src/skyline/assets/dialog/dialog.css +104 -0
  802. data/public/skyline/javascripts/src/skyline/assets/dialog/head.gif +0 -0
  803. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bl-corner.png +0 -0
  804. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-bottom.png +0 -0
  805. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-br-corner.png +0 -0
  806. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-left.png +0 -0
  807. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-right.png +0 -0
  808. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tl-corner.png +0 -0
  809. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-top.png +0 -0
  810. data/public/skyline/javascripts/src/skyline/assets/dialog/shadow-tr-corner.png +0 -0
  811. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-active.gif +0 -0
  812. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton-arrow.gif +0 -0
  813. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.css +66 -0
  814. data/public/skyline/javascripts/src/skyline/assets/menubutton/menubutton.gif +0 -0
  815. data/public/skyline/javascripts/src/skyline/assets/tree/icon.gif +0 -0
  816. data/public/skyline/javascripts/src/skyline/assets/tree/last.gif +0 -0
  817. data/public/skyline/javascripts/src/skyline/assets/tree/li.gif +0 -0
  818. data/public/skyline/javascripts/src/skyline/assets/tree/middle-closed.gif +0 -0
  819. data/public/skyline/javascripts/src/skyline/assets/tree/middle-open.gif +0 -0
  820. data/public/skyline/javascripts/src/skyline/assets/tree/tree.css +91 -0
  821. data/public/skyline/javascripts/src/skyline/assets/tree/tree_vert_line.png +0 -0
  822. data/public/skyline/javascripts/src/skyline/src/dialog.js +286 -0
  823. data/public/skyline/javascripts/src/skyline/src/drag.js +59 -0
  824. data/public/skyline/javascripts/src/skyline/src/field_replicator.js +55 -0
  825. data/public/skyline/javascripts/src/skyline/src/hover_select.js +46 -0
  826. data/public/skyline/javascripts/src/skyline/src/layout.js +417 -0
  827. data/public/skyline/javascripts/src/skyline/src/menu.js +54 -0
  828. data/public/skyline/javascripts/src/skyline/src/menubutton.js +122 -0
  829. data/public/skyline/javascripts/src/skyline/src/skyline.js +6 -0
  830. data/public/skyline/javascripts/src/skyline/src/sortable.js +146 -0
  831. data/public/skyline/javascripts/src/skyline/src/tabs.js +131 -0
  832. data/public/skyline/javascripts/src/skyline/src/tag_selector.js +110 -0
  833. data/public/skyline/javascripts/src/skyline/src/toggle.js +66 -0
  834. data/public/skyline/javascripts/src/skyline/src/tree.js +399 -0
  835. data/public/skyline/javascripts/src/skyline/src/uploader.js +115 -0
  836. data/public/skyline/javascripts/src/skyline/src/utils.js +31 -0
  837. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload2.js +251 -0
  838. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/FancyUpload3.Attach.js +222 -0
  839. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Fx.ProgressBar.js +71 -0
  840. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.js +488 -0
  841. data/public/skyline/javascripts/src/skyline/vendor/fancyupload/Swiff.Uploader.swf +0 -0
  842. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-core.js +356 -0
  843. data/public/skyline/javascripts/src/skyline/vendor/mootools/mootools-more.js +82 -0
  844. data/public/skyline/javascripts/src/utils.js +111 -0
  845. data/public/skyline/stylesheets/general.css +2291 -0
  846. data/public/skyline/stylesheets/ie.css +47 -0
  847. data/public/skyline/stylesheets/undohtml.css +53 -0
  848. data/public/skyline/stylesheets/wysiwyg.css +28 -0
  849. data/rails/init.rb +30 -0
  850. data/recipes/deploy.rb +31 -0
  851. data/tasks/database.rake +66 -0
  852. data/tasks/implementation.rake +2 -0
  853. data/vendor/andand/andand.rb +96 -0
  854. data/vendor/digitpaint/configure.rb +144 -0
  855. data/vendor/digitpaint/nested_attributes_positioning.rb +70 -0
  856. data/vendor/digitpaint/personify/README.md +86 -0
  857. data/vendor/digitpaint/personify/lib/parser/personify.rb +838 -0
  858. data/vendor/digitpaint/personify/lib/parser/personify.treetop +126 -0
  859. data/vendor/digitpaint/personify/lib/parser/personify_node_classes.rb +7 -0
  860. data/vendor/digitpaint/personify/lib/template.rb +16 -0
  861. data/vendor/digitpaint/personify/personify.rb +7 -0
  862. data/vendor/digitpaint/personify/script/generate_parser.rb +6 -0
  863. data/vendor/digitpaint/personify/vendor/treetop/History.txt +9 -0
  864. data/vendor/digitpaint/personify/vendor/treetop/README +164 -0
  865. data/vendor/digitpaint/personify/vendor/treetop/Rakefile +20 -0
  866. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/grammar ___ end.tmSnippet +20 -0
  867. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Snippets/rule ___ end.tmSnippet +18 -0
  868. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/Syntaxes/Treetop Grammar.tmLanguage +251 -0
  869. data/vendor/digitpaint/personify/vendor/treetop/Treetop.tmbundle/info.plist +10 -0
  870. data/vendor/digitpaint/personify/vendor/treetop/bin/tt +28 -0
  871. data/vendor/digitpaint/personify/vendor/treetop/doc/contributing_and_planned_features.markdown +103 -0
  872. data/vendor/digitpaint/personify/vendor/treetop/doc/grammar_composition.markdown +65 -0
  873. data/vendor/digitpaint/personify/vendor/treetop/doc/index.markdown +90 -0
  874. data/vendor/digitpaint/personify/vendor/treetop/doc/pitfalls_and_advanced_techniques.markdown +51 -0
  875. data/vendor/digitpaint/personify/vendor/treetop/doc/semantic_interpretation.markdown +189 -0
  876. data/vendor/digitpaint/personify/vendor/treetop/doc/site.rb +110 -0
  877. data/vendor/digitpaint/personify/vendor/treetop/doc/sitegen.rb +60 -0
  878. data/vendor/digitpaint/personify/vendor/treetop/doc/syntactic_recognition.markdown +100 -0
  879. data/vendor/digitpaint/personify/vendor/treetop/doc/using_in_ruby.markdown +21 -0
  880. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.rb +551 -0
  881. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic.treetop +97 -0
  882. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_node_classes.rb +7 -0
  883. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/arithmetic_test.rb +54 -0
  884. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus +0 -0
  885. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.rb +718 -0
  886. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus.treetop +132 -0
  887. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_node_classes.rb +5 -0
  888. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/lambda_calculus_test.rb +89 -0
  889. data/vendor/digitpaint/personify/vendor/treetop/examples/lambda_calculus/test_helper.rb +18 -0
  890. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop.rb +11 -0
  891. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/bootstrap_gen_1_metagrammar.rb +45 -0
  892. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler.rb +6 -0
  893. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/grammar_compiler.rb +40 -0
  894. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/lexical_address_space.rb +17 -0
  895. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.rb +2955 -0
  896. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/metagrammar.treetop +404 -0
  897. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes.rb +19 -0
  898. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/anything_symbol.rb +20 -0
  899. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/atomic_expression.rb +14 -0
  900. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/character_class.rb +22 -0
  901. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/choice.rb +31 -0
  902. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/declaration_sequence.rb +24 -0
  903. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/grammar.rb +28 -0
  904. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/inline_module.rb +27 -0
  905. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/nonterminal.rb +13 -0
  906. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/optional.rb +19 -0
  907. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parenthesized_expression.rb +9 -0
  908. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_expression.rb +138 -0
  909. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/parsing_rule.rb +55 -0
  910. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/predicate.rb +45 -0
  911. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/repetition.rb +55 -0
  912. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/sequence.rb +68 -0
  913. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/terminal.rb +20 -0
  914. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/transient_prefix.rb +9 -0
  915. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/node_classes/treetop_file.rb +9 -0
  916. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/compiler/ruby_builder.rb +113 -0
  917. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions.rb +2 -0
  918. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/ruby_extensions/string.rb +42 -0
  919. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime.rb +5 -0
  920. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/compiled_parser.rb +95 -0
  921. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list.rb +4 -0
  922. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/head_node.rb +15 -0
  923. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/interval_skip_list.rb +200 -0
  924. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/interval_skip_list/node.rb +164 -0
  925. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/syntax_node.rb +72 -0
  926. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_parse_failure.rb +16 -0
  927. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/runtime/terminal_syntax_node.rb +17 -0
  928. data/vendor/digitpaint/personify/vendor/treetop/lib/treetop/version.rb +9 -0
  929. data/vendor/digitpaint/personify/vendor/treetop/script/generate_metagrammar.rb +14 -0
  930. data/vendor/digitpaint/personify/vendor/treetop/script/svnadd +11 -0
  931. data/vendor/digitpaint/personify/vendor/treetop/script/svnrm +11 -0
  932. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/and_predicate_spec.rb +36 -0
  933. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/anything_symbol_spec.rb +52 -0
  934. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/character_class_spec.rb +188 -0
  935. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/choice_spec.rb +80 -0
  936. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/circular_compilation_spec.rb +28 -0
  937. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/failure_propagation_functional_spec.rb +21 -0
  938. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_compiler_spec.rb +84 -0
  939. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/grammar_spec.rb +41 -0
  940. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/nonterminal_symbol_spec.rb +40 -0
  941. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/not_predicate_spec.rb +38 -0
  942. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/one_or_more_spec.rb +35 -0
  943. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/optional_spec.rb +37 -0
  944. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parenthesized_expression_spec.rb +19 -0
  945. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/parsing_rule_spec.rb +32 -0
  946. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/sequence_spec.rb +115 -0
  947. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_spec.rb +81 -0
  948. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/terminal_symbol_spec.rb +37 -0
  949. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.treetop +7 -0
  950. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar.tt +7 -0
  951. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/test_grammar_do.treetop +7 -0
  952. data/vendor/digitpaint/personify/vendor/treetop/spec/compiler/zero_or_more_spec.rb +56 -0
  953. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/a.treetop +11 -0
  954. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/b.treetop +11 -0
  955. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/c.treetop +10 -0
  956. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/d.treetop +10 -0
  957. data/vendor/digitpaint/personify/vendor/treetop/spec/composition/grammar_composition_spec.rb +26 -0
  958. data/vendor/digitpaint/personify/vendor/treetop/spec/ruby_extensions/string_spec.rb +32 -0
  959. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/compiled_parser_spec.rb +101 -0
  960. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/delete_spec.rb +147 -0
  961. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/expire_range_spec.rb +349 -0
  962. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_and_delete_node.rb +385 -0
  963. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/insert_spec.rb +660 -0
  964. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.graffle +6175 -0
  965. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/interval_skip_list_spec.rb +58 -0
  966. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture.rb +23 -0
  967. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/palindromic_fixture_spec.rb +164 -0
  968. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/interval_skip_list/spec_helper.rb +84 -0
  969. data/vendor/digitpaint/personify/vendor/treetop/spec/runtime/syntax_node_spec.rb +53 -0
  970. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_helper.rb +106 -0
  971. data/vendor/digitpaint/personify/vendor/treetop/spec/spec_suite.rb +4 -0
  972. data/vendor/digitpaint/personify/vendor/treetop/treetop.gemspec +18 -0
  973. data/vendor/digitpaint/unique_identifiers.rb +89 -0
  974. data/vendor/mootools-on-rails/README +54 -0
  975. data/vendor/mootools-on-rails/Rakefile +22 -0
  976. data/vendor/mootools-on-rails/lib/mootools_on_rails.rb +30 -0
  977. data/vendor/mootools-on-rails/lib/mootools_on_rails/mootools_helper.rb +501 -0
  978. metadata +1141 -0
@@ -0,0 +1,132 @@
1
+ grammar LambdaCalculus
2
+ include Arithmetic
3
+
4
+ rule program
5
+ expression more_expressions:(';' space expression)* {
6
+ def eval(env={})
7
+ env = env.clone
8
+ last_eval = nil
9
+ expressions.each do |exp|
10
+ last_eval = exp.eval(env)
11
+ end
12
+ last_eval
13
+ end
14
+
15
+ def expressions
16
+ [expression] + more_expressions.elements.map {|elt| elt.expression}
17
+ end
18
+ }
19
+ end
20
+
21
+ rule expression
22
+ definition / conditional / application / function / super
23
+ end
24
+
25
+ rule definition
26
+ 'def' space variable space expression {
27
+ def eval(env)
28
+ env[variable.name] = expression.eval(env)
29
+ end
30
+ }
31
+ end
32
+
33
+ rule conditional
34
+ 'if' space '(' space condition:expression space ')' space
35
+ true_case:expression space 'else' space false_case:expression {
36
+ def eval(env)
37
+ if condition.eval(env)
38
+ true_case.eval(env)
39
+ else
40
+ false_case.eval(env)
41
+ end
42
+ end
43
+ }
44
+ end
45
+
46
+ rule primary
47
+ application / super
48
+ end
49
+
50
+ rule application
51
+ operator space expression <Application> {
52
+ def eval(env={})
53
+ left_associative_apply(operator.eval(env), env)
54
+ end
55
+
56
+ def left_associative_apply(operator, env)
57
+ if expression.instance_of?(Application)
58
+ expression.left_associative_apply(operator.apply(expression.operator.eval(env)), env)
59
+ else
60
+ operator.apply(expression.eval(env))
61
+ end
62
+ end
63
+
64
+ def to_s(env={})
65
+ operator.to_s(env) + ' ' + expression.to_s(env)
66
+ end
67
+ }
68
+ end
69
+
70
+ rule operator
71
+ function / variable
72
+ end
73
+
74
+ rule non_application
75
+ function / variable
76
+ end
77
+
78
+ rule function
79
+ '\\' param:variable '(' body:expression ')' {
80
+ class Closure
81
+ attr_reader :env, :function
82
+
83
+ def initialize(function, env)
84
+ @function = function
85
+ @env = env
86
+ end
87
+
88
+ def apply(arg)
89
+ function.body.eval(function.param.bind(arg, env))
90
+ end
91
+
92
+ def to_s(other_env={})
93
+ "\\#{function.param.to_s}(#{function.body.to_s(other_env.merge(env))})"
94
+ end
95
+ end
96
+
97
+ def eval(env={})
98
+ Closure.new(self, env)
99
+ end
100
+
101
+ def to_s(env={})
102
+ eval(env).to_s
103
+ end
104
+ }
105
+ end
106
+
107
+ rule variable
108
+ !keyword (
109
+ super {
110
+ def bind(value, env)
111
+ env.merge(name => value)
112
+ end
113
+
114
+ def to_s(env={})
115
+ env.has_key?(name) ? env[name].to_s : name
116
+ end
117
+ }
118
+ )
119
+ end
120
+
121
+ rule keyword
122
+ ('if' / 'else') !non_space_char
123
+ end
124
+
125
+ rule non_space_char
126
+ ![ \n] .
127
+ end
128
+
129
+ rule space
130
+ [ \n]*
131
+ end
132
+ end
@@ -0,0 +1,5 @@
1
+ module LambdaCalculus
2
+ class Application < Treetop::Runtime::SyntaxNode
3
+
4
+ end
5
+ end
@@ -0,0 +1,89 @@
1
+ dir = File.dirname(__FILE__)
2
+ require File.expand_path("#{dir}/test_helper")
3
+ require File.expand_path("#{dir}/arithmetic_node_classes")
4
+ require File.expand_path("#{dir}/lambda_calculus_node_classes")
5
+ Treetop.load File.expand_path("#{dir}/arithmetic")
6
+ Treetop.load File.expand_path("#{dir}/lambda_calculus")
7
+
8
+ class Treetop::Runtime::SyntaxNode
9
+ def method_missing(method, *args)
10
+ raise "Node representing #{text_value} does not respond to #{method}"
11
+ end
12
+ end
13
+
14
+ class LambdaCalculusParserTest < Test::Unit::TestCase
15
+ include ParserTestHelper
16
+
17
+ def setup
18
+ @parser = LambdaCalculusParser.new
19
+ end
20
+
21
+ def test_free_variable
22
+ assert_equal 'x', parse('x').eval.to_s
23
+ end
24
+
25
+ def test_variable_binding
26
+ variable = parse('x').eval
27
+ env = variable.bind(1, {})
28
+ assert_equal 1, env['x']
29
+ end
30
+
31
+ def test_bound_variable_evaluation
32
+ assert_equal 1, parse('x').eval({'x' => 1})
33
+ end
34
+
35
+ def test_identity_function
36
+ assert_equal '\x(x)', parse('\x(x)').eval.to_s
37
+ end
38
+
39
+ def test_function_returning_constant_function
40
+ assert_equal '\x(\y(x))', parse('\x(\y(x))').eval.to_s
41
+ end
42
+
43
+ def test_identity_function_application
44
+ assert_equal 1, parse('\x(x) 1').eval
45
+ assert_equal '\y(y)', parse('\x(x) \y(y)').eval.to_s
46
+ end
47
+
48
+ def test_constant_function_construction
49
+ assert_equal '\y(1)', parse('\x(\y(x)) 1').eval.to_s
50
+ end
51
+
52
+ def test_multiple_argument_application_is_left_associative
53
+ assert_equal '\b(b)', parse('\x(\y(x y)) \a(a) \b(b)').eval.to_s
54
+ end
55
+
56
+ def test_parentheses_override_application_order
57
+ assert_equal '\y(\b(b) y)', parse('\x(\y(x y)) (\a(a) \b(b))').eval.to_s
58
+ end
59
+
60
+ def test_arithmetic_in_function_body
61
+ assert_equal 10, parse('\x(x + 5) 5').eval
62
+ end
63
+
64
+ def test_addition_of_function_results
65
+ assert_equal 20, parse('\x(x + 5) 5 + \x(15 - x) 5').eval
66
+ end
67
+
68
+ def test_conditional
69
+ result = parse('if (x) 1 else 2')
70
+ assert_equal 1, result.eval({'x' => true})
71
+ assert_equal 2, result.eval({'x' => false})
72
+ end
73
+
74
+ def test_keyword
75
+ assert @parser.parse('if').failure?
76
+ assert @parser.parse('else').failure?
77
+ assert parse('elsee').success?
78
+ assert parse('iff').success?
79
+ end
80
+
81
+ def test_program
82
+ result = parse('def fact \x(if (x == 0)
83
+ 1
84
+ else
85
+ x * fact (x - 1));
86
+ fact(5)').eval
87
+ assert_equal 5 * 4 * 3 * 2, result
88
+ end
89
+ end
@@ -0,0 +1,18 @@
1
+ require 'test/unit'
2
+ require 'rubygems'
3
+ require 'treetop'
4
+
5
+ module ParserTestHelper
6
+ def assert_evals_to_self(input)
7
+ assert_evals_to(input, input)
8
+ end
9
+
10
+ def parse(input)
11
+ result = @parser.parse(input)
12
+ unless result
13
+ puts @parser.terminal_failures.join("\n")
14
+ end
15
+ assert !result.nil?
16
+ result
17
+ end
18
+ end
@@ -0,0 +1,11 @@
1
+ require 'rubygems'
2
+
3
+ dir = File.dirname(__FILE__)
4
+
5
+ TREETOP_ROOT = File.join(dir, 'treetop')
6
+ require File.join(TREETOP_ROOT, "ruby_extensions")
7
+ require File.join(TREETOP_ROOT, "runtime")
8
+ require File.join(TREETOP_ROOT, "compiler")
9
+
10
+ require 'polyglot'
11
+ Polyglot.register(["treetop", "tt"], Treetop)
@@ -0,0 +1,45 @@
1
+ # This file's job is to load a Treetop::Compiler::Metagrammar and Treetop::Compiler::MetagrammarParser
2
+ # into the environment by compiling the current metagrammar.treetop using a trusted version of Treetop.
3
+
4
+ require 'rubygems'
5
+ dir = File.dirname(__FILE__)
6
+
7
+ TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP = '>= 1.1.5'
8
+
9
+ # Loading trusted version of Treetop to compile the compiler
10
+ gem_spec = Gem.source_index.find_name('treetop', TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP).last
11
+ raise "Install a Treetop Gem version #{TREETOP_VERSION_REQUIRED_TO_BOOTSTRAP} to bootstrap." unless gem_spec
12
+ trusted_treetop_path = gem_spec.full_gem_path
13
+ require File.join(trusted_treetop_path, 'lib', 'treetop')
14
+
15
+ # Relocating trusted version of Treetop to Trusted::Treetop
16
+ Trusted = Module.new
17
+ Trusted::Treetop = Treetop
18
+ Object.send(:remove_const, :Treetop)
19
+ Object.send(:remove_const, :TREETOP_ROOT)
20
+
21
+ # Requiring version of Treetop that is under test
22
+ $exclude_metagrammar = true
23
+ require File.expand_path(File.join(dir, '..', 'treetop'))
24
+
25
+ # Compile and evaluate freshly generated metagrammar source
26
+ METAGRAMMAR_PATH = File.join(TREETOP_ROOT, 'compiler', 'metagrammar.treetop')
27
+ compiled_metagrammar_source = Trusted::Treetop::Compiler::GrammarCompiler.new.ruby_source(METAGRAMMAR_PATH)
28
+ Object.class_eval(compiled_metagrammar_source)
29
+
30
+ # The compiler under test was compiled with the trusted grammar and therefore depends on its runtime
31
+ # But the runtime in the global namespace is the new runtime. We therefore inject the trusted runtime
32
+ # into the compiler so its parser functions correctly. It will still not work for custom classes that
33
+ # explicitly subclass the wrong runtime. For now I am working around this by keeping 1 generation of
34
+ # backward compatibility in these cases.
35
+ # Treetop::Compiler::Metagrammar.module_eval do
36
+ # include Trusted::Treetop::Runtime
37
+ # end
38
+ #
39
+ # Treetop::Compiler.send(:remove_const, :MetagrammarParser)
40
+ # class Treetop::Compiler::MetagrammarParser < Trusted::Treetop::Runtime::CompiledParser
41
+ # include Treetop::Compiler::Metagrammar
42
+ # include Trusted::Treetop::Runtime
43
+ # end
44
+
45
+ $bootstrapped_gen_1_metagrammar = true
@@ -0,0 +1,6 @@
1
+ dir = File.dirname(__FILE__)
2
+ require File.join(dir, *%w[compiler lexical_address_space])
3
+ require File.join(dir, *%w[compiler ruby_builder])
4
+ require File.join(dir, *%w[compiler node_classes])
5
+ require File.join(dir, *%w[compiler metagrammar]) unless $exclude_metagrammar
6
+ require File.join(dir, *%w[compiler grammar_compiler])
@@ -0,0 +1,40 @@
1
+ module Treetop
2
+ module Compiler
3
+ class GrammarCompiler
4
+ def compile(source_path, target_path = source_path.gsub(/\.(treetop|tt)\Z/, '.rb'))
5
+ File.open(target_path, 'w') do |target_file|
6
+ target_file.write(ruby_source(source_path))
7
+ end
8
+ end
9
+
10
+ # compile a treetop file into ruby
11
+ def ruby_source(source_path)
12
+ ruby_source_from_string(File.read(source_path))
13
+ end
14
+
15
+ # compile a string containing treetop source into ruby
16
+ def ruby_source_from_string(s)
17
+ parser = MetagrammarParser.new
18
+ result = parser.parse(s)
19
+ unless result
20
+ raise RuntimeError.new(parser.failure_reason)
21
+ end
22
+ result.compile
23
+ end
24
+ end
25
+ end
26
+
27
+ # compile a treetop source file and load it
28
+ def self.load(path)
29
+ adjusted_path = path =~ /\.(treetop|tt)\Z/ ? path : path + '.treetop'
30
+ File.open(adjusted_path) do |source_file|
31
+ load_from_string(source_file.read)
32
+ end
33
+ end
34
+
35
+ # compile a treetop source string and load it
36
+ def self.load_from_string(s)
37
+ compiler = Treetop::Compiler::GrammarCompiler.new
38
+ Object.class_eval(compiler.ruby_source_from_string(s))
39
+ end
40
+ end
@@ -0,0 +1,17 @@
1
+ module Treetop
2
+ module Compiler
3
+ class LexicalAddressSpace
4
+ def initialize
5
+ reset_addresses
6
+ end
7
+
8
+ def next_address
9
+ @next_address += 1
10
+ end
11
+
12
+ def reset_addresses
13
+ @next_address = -1
14
+ end
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,2955 @@
1
+ module Treetop
2
+ module Compiler
3
+ module Metagrammar
4
+ include Treetop::Runtime
5
+
6
+ def root
7
+ @root || :treetop_file
8
+ end
9
+
10
+ module TreetopFile0
11
+ def prefix
12
+ elements[0]
13
+ end
14
+
15
+ def module_or_grammar
16
+ elements[1]
17
+ end
18
+
19
+ def suffix
20
+ elements[2]
21
+ end
22
+ end
23
+
24
+ module TreetopFile1
25
+ def compile
26
+ prefix.text_value + module_or_grammar.compile + suffix.text_value
27
+ end
28
+ end
29
+
30
+ def _nt_treetop_file
31
+ start_index = index
32
+ if node_cache[:treetop_file].has_key?(index)
33
+ cached = node_cache[:treetop_file][index]
34
+ @index = cached.interval.end if cached
35
+ return cached
36
+ end
37
+
38
+ i0, s0 = index, []
39
+ r2 = _nt_space
40
+ if r2
41
+ r1 = r2
42
+ else
43
+ r1 = SyntaxNode.new(input, index...index)
44
+ end
45
+ s0 << r1
46
+ if r1
47
+ i3 = index
48
+ r4 = _nt_module_declaration
49
+ if r4
50
+ r3 = r4
51
+ else
52
+ r5 = _nt_grammar
53
+ if r5
54
+ r3 = r5
55
+ else
56
+ self.index = i3
57
+ r3 = nil
58
+ end
59
+ end
60
+ s0 << r3
61
+ if r3
62
+ r7 = _nt_space
63
+ if r7
64
+ r6 = r7
65
+ else
66
+ r6 = SyntaxNode.new(input, index...index)
67
+ end
68
+ s0 << r6
69
+ end
70
+ end
71
+ if s0.last
72
+ r0 = (SyntaxNode).new(input, i0...index, s0)
73
+ r0.extend(TreetopFile0)
74
+ r0.extend(TreetopFile1)
75
+ else
76
+ self.index = i0
77
+ r0 = nil
78
+ end
79
+
80
+ node_cache[:treetop_file][start_index] = r0
81
+
82
+ return r0
83
+ end
84
+
85
+ module ModuleDeclaration0
86
+ def space
87
+ elements[1]
88
+ end
89
+
90
+ def space
91
+ elements[4]
92
+ end
93
+ end
94
+
95
+ module ModuleDeclaration1
96
+ def space
97
+ elements[0]
98
+ end
99
+
100
+ end
101
+
102
+ module ModuleDeclaration2
103
+ def prefix
104
+ elements[0]
105
+ end
106
+
107
+ def module_contents
108
+ elements[1]
109
+ end
110
+
111
+ def suffix
112
+ elements[2]
113
+ end
114
+ end
115
+
116
+ module ModuleDeclaration3
117
+ def compile
118
+ prefix.text_value + module_contents.compile + suffix.text_value
119
+ end
120
+ end
121
+
122
+ def _nt_module_declaration
123
+ start_index = index
124
+ if node_cache[:module_declaration].has_key?(index)
125
+ cached = node_cache[:module_declaration][index]
126
+ @index = cached.interval.end if cached
127
+ return cached
128
+ end
129
+
130
+ i0, s0 = index, []
131
+ i1, s1 = index, []
132
+ if input.index('module', index) == index
133
+ r2 = (SyntaxNode).new(input, index...(index + 6))
134
+ @index += 6
135
+ else
136
+ terminal_parse_failure('module')
137
+ r2 = nil
138
+ end
139
+ s1 << r2
140
+ if r2
141
+ r3 = _nt_space
142
+ s1 << r3
143
+ if r3
144
+ if input.index(Regexp.new('[A-Z]'), index) == index
145
+ r4 = (SyntaxNode).new(input, index...(index + 1))
146
+ @index += 1
147
+ else
148
+ r4 = nil
149
+ end
150
+ s1 << r4
151
+ if r4
152
+ s5, i5 = [], index
153
+ loop do
154
+ r6 = _nt_alphanumeric_char
155
+ if r6
156
+ s5 << r6
157
+ else
158
+ break
159
+ end
160
+ end
161
+ r5 = SyntaxNode.new(input, i5...index, s5)
162
+ s1 << r5
163
+ if r5
164
+ r7 = _nt_space
165
+ s1 << r7
166
+ end
167
+ end
168
+ end
169
+ end
170
+ if s1.last
171
+ r1 = (SyntaxNode).new(input, i1...index, s1)
172
+ r1.extend(ModuleDeclaration0)
173
+ else
174
+ self.index = i1
175
+ r1 = nil
176
+ end
177
+ s0 << r1
178
+ if r1
179
+ i8 = index
180
+ r9 = _nt_module_declaration
181
+ if r9
182
+ r8 = r9
183
+ else
184
+ r10 = _nt_grammar
185
+ if r10
186
+ r8 = r10
187
+ else
188
+ self.index = i8
189
+ r8 = nil
190
+ end
191
+ end
192
+ s0 << r8
193
+ if r8
194
+ i11, s11 = index, []
195
+ r12 = _nt_space
196
+ s11 << r12
197
+ if r12
198
+ if input.index('end', index) == index
199
+ r13 = (SyntaxNode).new(input, index...(index + 3))
200
+ @index += 3
201
+ else
202
+ terminal_parse_failure('end')
203
+ r13 = nil
204
+ end
205
+ s11 << r13
206
+ end
207
+ if s11.last
208
+ r11 = (SyntaxNode).new(input, i11...index, s11)
209
+ r11.extend(ModuleDeclaration1)
210
+ else
211
+ self.index = i11
212
+ r11 = nil
213
+ end
214
+ s0 << r11
215
+ end
216
+ end
217
+ if s0.last
218
+ r0 = (SyntaxNode).new(input, i0...index, s0)
219
+ r0.extend(ModuleDeclaration2)
220
+ r0.extend(ModuleDeclaration3)
221
+ else
222
+ self.index = i0
223
+ r0 = nil
224
+ end
225
+
226
+ node_cache[:module_declaration][start_index] = r0
227
+
228
+ return r0
229
+ end
230
+
231
+ module Grammar0
232
+ def space
233
+ elements[1]
234
+ end
235
+ end
236
+
237
+ module Grammar1
238
+ def space
239
+ elements[1]
240
+ end
241
+
242
+ def grammar_name
243
+ elements[2]
244
+ end
245
+
246
+ def space
247
+ elements[3]
248
+ end
249
+
250
+ def declaration_sequence
251
+ elements[5]
252
+ end
253
+
254
+ end
255
+
256
+ def _nt_grammar
257
+ start_index = index
258
+ if node_cache[:grammar].has_key?(index)
259
+ cached = node_cache[:grammar][index]
260
+ @index = cached.interval.end if cached
261
+ return cached
262
+ end
263
+
264
+ i0, s0 = index, []
265
+ if input.index('grammar', index) == index
266
+ r1 = (SyntaxNode).new(input, index...(index + 7))
267
+ @index += 7
268
+ else
269
+ terminal_parse_failure('grammar')
270
+ r1 = nil
271
+ end
272
+ s0 << r1
273
+ if r1
274
+ r2 = _nt_space
275
+ s0 << r2
276
+ if r2
277
+ r3 = _nt_grammar_name
278
+ s0 << r3
279
+ if r3
280
+ r4 = _nt_space
281
+ s0 << r4
282
+ if r4
283
+ i6, s6 = index, []
284
+ if input.index('do', index) == index
285
+ r7 = (SyntaxNode).new(input, index...(index + 2))
286
+ @index += 2
287
+ else
288
+ terminal_parse_failure('do')
289
+ r7 = nil
290
+ end
291
+ s6 << r7
292
+ if r7
293
+ r8 = _nt_space
294
+ s6 << r8
295
+ end
296
+ if s6.last
297
+ r6 = (SyntaxNode).new(input, i6...index, s6)
298
+ r6.extend(Grammar0)
299
+ else
300
+ self.index = i6
301
+ r6 = nil
302
+ end
303
+ if r6
304
+ r5 = r6
305
+ else
306
+ r5 = SyntaxNode.new(input, index...index)
307
+ end
308
+ s0 << r5
309
+ if r5
310
+ r9 = _nt_declaration_sequence
311
+ s0 << r9
312
+ if r9
313
+ r11 = _nt_space
314
+ if r11
315
+ r10 = r11
316
+ else
317
+ r10 = SyntaxNode.new(input, index...index)
318
+ end
319
+ s0 << r10
320
+ if r10
321
+ if input.index('end', index) == index
322
+ r12 = (SyntaxNode).new(input, index...(index + 3))
323
+ @index += 3
324
+ else
325
+ terminal_parse_failure('end')
326
+ r12 = nil
327
+ end
328
+ s0 << r12
329
+ end
330
+ end
331
+ end
332
+ end
333
+ end
334
+ end
335
+ end
336
+ if s0.last
337
+ r0 = (Grammar).new(input, i0...index, s0)
338
+ r0.extend(Grammar1)
339
+ else
340
+ self.index = i0
341
+ r0 = nil
342
+ end
343
+
344
+ node_cache[:grammar][start_index] = r0
345
+
346
+ return r0
347
+ end
348
+
349
+ module GrammarName0
350
+ end
351
+
352
+ def _nt_grammar_name
353
+ start_index = index
354
+ if node_cache[:grammar_name].has_key?(index)
355
+ cached = node_cache[:grammar_name][index]
356
+ @index = cached.interval.end if cached
357
+ return cached
358
+ end
359
+
360
+ i0, s0 = index, []
361
+ if input.index(Regexp.new('[A-Z]'), index) == index
362
+ r1 = (SyntaxNode).new(input, index...(index + 1))
363
+ @index += 1
364
+ else
365
+ r1 = nil
366
+ end
367
+ s0 << r1
368
+ if r1
369
+ s2, i2 = [], index
370
+ loop do
371
+ r3 = _nt_alphanumeric_char
372
+ if r3
373
+ s2 << r3
374
+ else
375
+ break
376
+ end
377
+ end
378
+ r2 = SyntaxNode.new(input, i2...index, s2)
379
+ s0 << r2
380
+ end
381
+ if s0.last
382
+ r0 = (SyntaxNode).new(input, i0...index, s0)
383
+ r0.extend(GrammarName0)
384
+ else
385
+ self.index = i0
386
+ r0 = nil
387
+ end
388
+
389
+ node_cache[:grammar_name][start_index] = r0
390
+
391
+ return r0
392
+ end
393
+
394
+ module DeclarationSequence0
395
+ def space
396
+ elements[0]
397
+ end
398
+
399
+ def declaration
400
+ elements[1]
401
+ end
402
+ end
403
+
404
+ module DeclarationSequence1
405
+ def head
406
+ elements[0]
407
+ end
408
+
409
+ def tail
410
+ elements[1]
411
+ end
412
+ end
413
+
414
+ module DeclarationSequence2
415
+ def declarations
416
+ [head] + tail
417
+ end
418
+
419
+ def tail
420
+ super.elements.map { |elt| elt.declaration }
421
+ end
422
+ end
423
+
424
+ module DeclarationSequence3
425
+ def compile(builder)
426
+ end
427
+ end
428
+
429
+ def _nt_declaration_sequence
430
+ start_index = index
431
+ if node_cache[:declaration_sequence].has_key?(index)
432
+ cached = node_cache[:declaration_sequence][index]
433
+ @index = cached.interval.end if cached
434
+ return cached
435
+ end
436
+
437
+ i0 = index
438
+ i1, s1 = index, []
439
+ r2 = _nt_declaration
440
+ s1 << r2
441
+ if r2
442
+ s3, i3 = [], index
443
+ loop do
444
+ i4, s4 = index, []
445
+ r5 = _nt_space
446
+ s4 << r5
447
+ if r5
448
+ r6 = _nt_declaration
449
+ s4 << r6
450
+ end
451
+ if s4.last
452
+ r4 = (SyntaxNode).new(input, i4...index, s4)
453
+ r4.extend(DeclarationSequence0)
454
+ else
455
+ self.index = i4
456
+ r4 = nil
457
+ end
458
+ if r4
459
+ s3 << r4
460
+ else
461
+ break
462
+ end
463
+ end
464
+ r3 = SyntaxNode.new(input, i3...index, s3)
465
+ s1 << r3
466
+ end
467
+ if s1.last
468
+ r1 = (DeclarationSequence).new(input, i1...index, s1)
469
+ r1.extend(DeclarationSequence1)
470
+ r1.extend(DeclarationSequence2)
471
+ else
472
+ self.index = i1
473
+ r1 = nil
474
+ end
475
+ if r1
476
+ r0 = r1
477
+ else
478
+ if input.index('', index) == index
479
+ r7 = (SyntaxNode).new(input, index...(index + 0))
480
+ r7.extend(DeclarationSequence3)
481
+ @index += 0
482
+ else
483
+ terminal_parse_failure('')
484
+ r7 = nil
485
+ end
486
+ if r7
487
+ r0 = r7
488
+ else
489
+ self.index = i0
490
+ r0 = nil
491
+ end
492
+ end
493
+
494
+ node_cache[:declaration_sequence][start_index] = r0
495
+
496
+ return r0
497
+ end
498
+
499
+ def _nt_declaration
500
+ start_index = index
501
+ if node_cache[:declaration].has_key?(index)
502
+ cached = node_cache[:declaration][index]
503
+ @index = cached.interval.end if cached
504
+ return cached
505
+ end
506
+
507
+ i0 = index
508
+ r1 = _nt_parsing_rule
509
+ if r1
510
+ r0 = r1
511
+ else
512
+ r2 = _nt_include_declaration
513
+ if r2
514
+ r0 = r2
515
+ else
516
+ self.index = i0
517
+ r0 = nil
518
+ end
519
+ end
520
+
521
+ node_cache[:declaration][start_index] = r0
522
+
523
+ return r0
524
+ end
525
+
526
+ module IncludeDeclaration0
527
+ def space
528
+ elements[1]
529
+ end
530
+
531
+ end
532
+
533
+ module IncludeDeclaration1
534
+ def compile(builder)
535
+ builder << text_value
536
+ end
537
+ end
538
+
539
+ def _nt_include_declaration
540
+ start_index = index
541
+ if node_cache[:include_declaration].has_key?(index)
542
+ cached = node_cache[:include_declaration][index]
543
+ @index = cached.interval.end if cached
544
+ return cached
545
+ end
546
+
547
+ i0, s0 = index, []
548
+ if input.index('include', index) == index
549
+ r1 = (SyntaxNode).new(input, index...(index + 7))
550
+ @index += 7
551
+ else
552
+ terminal_parse_failure('include')
553
+ r1 = nil
554
+ end
555
+ s0 << r1
556
+ if r1
557
+ r2 = _nt_space
558
+ s0 << r2
559
+ if r2
560
+ if input.index(Regexp.new('[A-Z]'), index) == index
561
+ r3 = (SyntaxNode).new(input, index...(index + 1))
562
+ @index += 1
563
+ else
564
+ r3 = nil
565
+ end
566
+ s0 << r3
567
+ if r3
568
+ s4, i4 = [], index
569
+ loop do
570
+ i5 = index
571
+ r6 = _nt_alphanumeric_char
572
+ if r6
573
+ r5 = r6
574
+ else
575
+ if input.index('::', index) == index
576
+ r7 = (SyntaxNode).new(input, index...(index + 2))
577
+ @index += 2
578
+ else
579
+ terminal_parse_failure('::')
580
+ r7 = nil
581
+ end
582
+ if r7
583
+ r5 = r7
584
+ else
585
+ self.index = i5
586
+ r5 = nil
587
+ end
588
+ end
589
+ if r5
590
+ s4 << r5
591
+ else
592
+ break
593
+ end
594
+ end
595
+ r4 = SyntaxNode.new(input, i4...index, s4)
596
+ s0 << r4
597
+ end
598
+ end
599
+ end
600
+ if s0.last
601
+ r0 = (SyntaxNode).new(input, i0...index, s0)
602
+ r0.extend(IncludeDeclaration0)
603
+ r0.extend(IncludeDeclaration1)
604
+ else
605
+ self.index = i0
606
+ r0 = nil
607
+ end
608
+
609
+ node_cache[:include_declaration][start_index] = r0
610
+
611
+ return r0
612
+ end
613
+
614
+ module ParsingRule0
615
+ def space
616
+ elements[1]
617
+ end
618
+ end
619
+
620
+ module ParsingRule1
621
+ def space
622
+ elements[1]
623
+ end
624
+
625
+ def nonterminal
626
+ elements[2]
627
+ end
628
+
629
+ def space
630
+ elements[3]
631
+ end
632
+
633
+ def parsing_expression
634
+ elements[5]
635
+ end
636
+
637
+ def space
638
+ elements[6]
639
+ end
640
+
641
+ end
642
+
643
+ def _nt_parsing_rule
644
+ start_index = index
645
+ if node_cache[:parsing_rule].has_key?(index)
646
+ cached = node_cache[:parsing_rule][index]
647
+ @index = cached.interval.end if cached
648
+ return cached
649
+ end
650
+
651
+ i0, s0 = index, []
652
+ if input.index('rule', index) == index
653
+ r1 = (SyntaxNode).new(input, index...(index + 4))
654
+ @index += 4
655
+ else
656
+ terminal_parse_failure('rule')
657
+ r1 = nil
658
+ end
659
+ s0 << r1
660
+ if r1
661
+ r2 = _nt_space
662
+ s0 << r2
663
+ if r2
664
+ r3 = _nt_nonterminal
665
+ s0 << r3
666
+ if r3
667
+ r4 = _nt_space
668
+ s0 << r4
669
+ if r4
670
+ i6, s6 = index, []
671
+ if input.index('do', index) == index
672
+ r7 = (SyntaxNode).new(input, index...(index + 2))
673
+ @index += 2
674
+ else
675
+ terminal_parse_failure('do')
676
+ r7 = nil
677
+ end
678
+ s6 << r7
679
+ if r7
680
+ r8 = _nt_space
681
+ s6 << r8
682
+ end
683
+ if s6.last
684
+ r6 = (SyntaxNode).new(input, i6...index, s6)
685
+ r6.extend(ParsingRule0)
686
+ else
687
+ self.index = i6
688
+ r6 = nil
689
+ end
690
+ if r6
691
+ r5 = r6
692
+ else
693
+ r5 = SyntaxNode.new(input, index...index)
694
+ end
695
+ s0 << r5
696
+ if r5
697
+ r9 = _nt_parsing_expression
698
+ s0 << r9
699
+ if r9
700
+ r10 = _nt_space
701
+ s0 << r10
702
+ if r10
703
+ if input.index('end', index) == index
704
+ r11 = (SyntaxNode).new(input, index...(index + 3))
705
+ @index += 3
706
+ else
707
+ terminal_parse_failure('end')
708
+ r11 = nil
709
+ end
710
+ s0 << r11
711
+ end
712
+ end
713
+ end
714
+ end
715
+ end
716
+ end
717
+ end
718
+ if s0.last
719
+ r0 = (ParsingRule).new(input, i0...index, s0)
720
+ r0.extend(ParsingRule1)
721
+ else
722
+ self.index = i0
723
+ r0 = nil
724
+ end
725
+
726
+ node_cache[:parsing_rule][start_index] = r0
727
+
728
+ return r0
729
+ end
730
+
731
+ def _nt_parsing_expression
732
+ start_index = index
733
+ if node_cache[:parsing_expression].has_key?(index)
734
+ cached = node_cache[:parsing_expression][index]
735
+ @index = cached.interval.end if cached
736
+ return cached
737
+ end
738
+
739
+ i0 = index
740
+ r1 = _nt_choice
741
+ if r1
742
+ r0 = r1
743
+ else
744
+ r2 = _nt_sequence
745
+ if r2
746
+ r0 = r2
747
+ else
748
+ r3 = _nt_primary
749
+ if r3
750
+ r0 = r3
751
+ else
752
+ self.index = i0
753
+ r0 = nil
754
+ end
755
+ end
756
+ end
757
+
758
+ node_cache[:parsing_expression][start_index] = r0
759
+
760
+ return r0
761
+ end
762
+
763
+ module Choice0
764
+ def alternative
765
+ elements[3]
766
+ end
767
+ end
768
+
769
+ module Choice1
770
+ def head
771
+ elements[0]
772
+ end
773
+
774
+ def tail
775
+ elements[1]
776
+ end
777
+ end
778
+
779
+ module Choice2
780
+ def alternatives
781
+ [head] + tail
782
+ end
783
+
784
+ def tail
785
+ super.elements.map {|elt| elt.alternative}
786
+ end
787
+
788
+ def inline_modules
789
+ (alternatives.map {|alt| alt.inline_modules }).flatten
790
+ end
791
+ end
792
+
793
+ def _nt_choice
794
+ start_index = index
795
+ if node_cache[:choice].has_key?(index)
796
+ cached = node_cache[:choice][index]
797
+ @index = cached.interval.end if cached
798
+ return cached
799
+ end
800
+
801
+ i0, s0 = index, []
802
+ r1 = _nt_alternative
803
+ s0 << r1
804
+ if r1
805
+ s2, i2 = [], index
806
+ loop do
807
+ i3, s3 = index, []
808
+ r5 = _nt_space
809
+ if r5
810
+ r4 = r5
811
+ else
812
+ r4 = SyntaxNode.new(input, index...index)
813
+ end
814
+ s3 << r4
815
+ if r4
816
+ if input.index('/', index) == index
817
+ r6 = (SyntaxNode).new(input, index...(index + 1))
818
+ @index += 1
819
+ else
820
+ terminal_parse_failure('/')
821
+ r6 = nil
822
+ end
823
+ s3 << r6
824
+ if r6
825
+ r8 = _nt_space
826
+ if r8
827
+ r7 = r8
828
+ else
829
+ r7 = SyntaxNode.new(input, index...index)
830
+ end
831
+ s3 << r7
832
+ if r7
833
+ r9 = _nt_alternative
834
+ s3 << r9
835
+ end
836
+ end
837
+ end
838
+ if s3.last
839
+ r3 = (SyntaxNode).new(input, i3...index, s3)
840
+ r3.extend(Choice0)
841
+ else
842
+ self.index = i3
843
+ r3 = nil
844
+ end
845
+ if r3
846
+ s2 << r3
847
+ else
848
+ break
849
+ end
850
+ end
851
+ if s2.empty?
852
+ self.index = i2
853
+ r2 = nil
854
+ else
855
+ r2 = SyntaxNode.new(input, i2...index, s2)
856
+ end
857
+ s0 << r2
858
+ end
859
+ if s0.last
860
+ r0 = (Choice).new(input, i0...index, s0)
861
+ r0.extend(Choice1)
862
+ r0.extend(Choice2)
863
+ else
864
+ self.index = i0
865
+ r0 = nil
866
+ end
867
+
868
+ node_cache[:choice][start_index] = r0
869
+
870
+ return r0
871
+ end
872
+
873
+ module Sequence0
874
+ def space
875
+ elements[0]
876
+ end
877
+
878
+ def labeled_sequence_primary
879
+ elements[1]
880
+ end
881
+ end
882
+
883
+ module Sequence1
884
+ def head
885
+ elements[0]
886
+ end
887
+
888
+ def tail
889
+ elements[1]
890
+ end
891
+
892
+ def node_class_declarations
893
+ elements[2]
894
+ end
895
+ end
896
+
897
+ module Sequence2
898
+ def sequence_elements
899
+ [head] + tail
900
+ end
901
+
902
+ def tail
903
+ super.elements.map {|elt| elt.labeled_sequence_primary }
904
+ end
905
+
906
+ def inline_modules
907
+ (sequence_elements.map {|elt| elt.inline_modules}).flatten +
908
+ [sequence_element_accessor_module] +
909
+ node_class_declarations.inline_modules
910
+ end
911
+
912
+ def inline_module_name
913
+ node_class_declarations.inline_module_name
914
+ end
915
+ end
916
+
917
+ def _nt_sequence
918
+ start_index = index
919
+ if node_cache[:sequence].has_key?(index)
920
+ cached = node_cache[:sequence][index]
921
+ @index = cached.interval.end if cached
922
+ return cached
923
+ end
924
+
925
+ i0, s0 = index, []
926
+ r1 = _nt_labeled_sequence_primary
927
+ s0 << r1
928
+ if r1
929
+ s2, i2 = [], index
930
+ loop do
931
+ i3, s3 = index, []
932
+ r4 = _nt_space
933
+ s3 << r4
934
+ if r4
935
+ r5 = _nt_labeled_sequence_primary
936
+ s3 << r5
937
+ end
938
+ if s3.last
939
+ r3 = (SyntaxNode).new(input, i3...index, s3)
940
+ r3.extend(Sequence0)
941
+ else
942
+ self.index = i3
943
+ r3 = nil
944
+ end
945
+ if r3
946
+ s2 << r3
947
+ else
948
+ break
949
+ end
950
+ end
951
+ if s2.empty?
952
+ self.index = i2
953
+ r2 = nil
954
+ else
955
+ r2 = SyntaxNode.new(input, i2...index, s2)
956
+ end
957
+ s0 << r2
958
+ if r2
959
+ r6 = _nt_node_class_declarations
960
+ s0 << r6
961
+ end
962
+ end
963
+ if s0.last
964
+ r0 = (Sequence).new(input, i0...index, s0)
965
+ r0.extend(Sequence1)
966
+ r0.extend(Sequence2)
967
+ else
968
+ self.index = i0
969
+ r0 = nil
970
+ end
971
+
972
+ node_cache[:sequence][start_index] = r0
973
+
974
+ return r0
975
+ end
976
+
977
+ def _nt_alternative
978
+ start_index = index
979
+ if node_cache[:alternative].has_key?(index)
980
+ cached = node_cache[:alternative][index]
981
+ @index = cached.interval.end if cached
982
+ return cached
983
+ end
984
+
985
+ i0 = index
986
+ r1 = _nt_sequence
987
+ if r1
988
+ r0 = r1
989
+ else
990
+ r2 = _nt_primary
991
+ if r2
992
+ r0 = r2
993
+ else
994
+ self.index = i0
995
+ r0 = nil
996
+ end
997
+ end
998
+
999
+ node_cache[:alternative][start_index] = r0
1000
+
1001
+ return r0
1002
+ end
1003
+
1004
+ module Primary0
1005
+ def prefix
1006
+ elements[0]
1007
+ end
1008
+
1009
+ def atomic
1010
+ elements[1]
1011
+ end
1012
+ end
1013
+
1014
+ module Primary1
1015
+ def compile(address, builder, parent_expression=nil)
1016
+ prefix.compile(address, builder, self)
1017
+ end
1018
+
1019
+ def prefixed_expression
1020
+ atomic
1021
+ end
1022
+
1023
+ def inline_modules
1024
+ atomic.inline_modules
1025
+ end
1026
+
1027
+ def inline_module_name
1028
+ nil
1029
+ end
1030
+ end
1031
+
1032
+ module Primary2
1033
+ def atomic
1034
+ elements[0]
1035
+ end
1036
+
1037
+ def suffix
1038
+ elements[1]
1039
+ end
1040
+
1041
+ def node_class_declarations
1042
+ elements[2]
1043
+ end
1044
+ end
1045
+
1046
+ module Primary3
1047
+ def compile(address, builder, parent_expression=nil)
1048
+ suffix.compile(address, builder, self)
1049
+ end
1050
+
1051
+ def optional_expression
1052
+ atomic
1053
+ end
1054
+
1055
+ def node_class_name
1056
+ node_class_declarations.node_class_name
1057
+ end
1058
+
1059
+ def inline_modules
1060
+ atomic.inline_modules + node_class_declarations.inline_modules
1061
+ end
1062
+
1063
+ def inline_module_name
1064
+ node_class_declarations.inline_module_name
1065
+ end
1066
+ end
1067
+
1068
+ module Primary4
1069
+ def atomic
1070
+ elements[0]
1071
+ end
1072
+
1073
+ def node_class_declarations
1074
+ elements[1]
1075
+ end
1076
+ end
1077
+
1078
+ module Primary5
1079
+ def compile(address, builder, parent_expression=nil)
1080
+ atomic.compile(address, builder, self)
1081
+ end
1082
+
1083
+ def node_class_name
1084
+ node_class_declarations.node_class_name
1085
+ end
1086
+
1087
+ def inline_modules
1088
+ atomic.inline_modules + node_class_declarations.inline_modules
1089
+ end
1090
+
1091
+ def inline_module_name
1092
+ node_class_declarations.inline_module_name
1093
+ end
1094
+ end
1095
+
1096
+ def _nt_primary
1097
+ start_index = index
1098
+ if node_cache[:primary].has_key?(index)
1099
+ cached = node_cache[:primary][index]
1100
+ @index = cached.interval.end if cached
1101
+ return cached
1102
+ end
1103
+
1104
+ i0 = index
1105
+ i1, s1 = index, []
1106
+ r2 = _nt_prefix
1107
+ s1 << r2
1108
+ if r2
1109
+ r3 = _nt_atomic
1110
+ s1 << r3
1111
+ end
1112
+ if s1.last
1113
+ r1 = (SyntaxNode).new(input, i1...index, s1)
1114
+ r1.extend(Primary0)
1115
+ r1.extend(Primary1)
1116
+ else
1117
+ self.index = i1
1118
+ r1 = nil
1119
+ end
1120
+ if r1
1121
+ r0 = r1
1122
+ else
1123
+ i4, s4 = index, []
1124
+ r5 = _nt_atomic
1125
+ s4 << r5
1126
+ if r5
1127
+ r6 = _nt_suffix
1128
+ s4 << r6
1129
+ if r6
1130
+ r7 = _nt_node_class_declarations
1131
+ s4 << r7
1132
+ end
1133
+ end
1134
+ if s4.last
1135
+ r4 = (SyntaxNode).new(input, i4...index, s4)
1136
+ r4.extend(Primary2)
1137
+ r4.extend(Primary3)
1138
+ else
1139
+ self.index = i4
1140
+ r4 = nil
1141
+ end
1142
+ if r4
1143
+ r0 = r4
1144
+ else
1145
+ i8, s8 = index, []
1146
+ r9 = _nt_atomic
1147
+ s8 << r9
1148
+ if r9
1149
+ r10 = _nt_node_class_declarations
1150
+ s8 << r10
1151
+ end
1152
+ if s8.last
1153
+ r8 = (SyntaxNode).new(input, i8...index, s8)
1154
+ r8.extend(Primary4)
1155
+ r8.extend(Primary5)
1156
+ else
1157
+ self.index = i8
1158
+ r8 = nil
1159
+ end
1160
+ if r8
1161
+ r0 = r8
1162
+ else
1163
+ self.index = i0
1164
+ r0 = nil
1165
+ end
1166
+ end
1167
+ end
1168
+
1169
+ node_cache[:primary][start_index] = r0
1170
+
1171
+ return r0
1172
+ end
1173
+
1174
+ module LabeledSequencePrimary0
1175
+ def label
1176
+ elements[0]
1177
+ end
1178
+
1179
+ def sequence_primary
1180
+ elements[1]
1181
+ end
1182
+ end
1183
+
1184
+ module LabeledSequencePrimary1
1185
+ def compile(lexical_address, builder)
1186
+ sequence_primary.compile(lexical_address, builder)
1187
+ end
1188
+
1189
+ def inline_modules
1190
+ sequence_primary.inline_modules
1191
+ end
1192
+
1193
+ def label_name
1194
+ if label.name
1195
+ label.name
1196
+ elsif sequence_primary.instance_of?(Nonterminal)
1197
+ sequence_primary.text_value
1198
+ else
1199
+ nil
1200
+ end
1201
+ end
1202
+ end
1203
+
1204
+ def _nt_labeled_sequence_primary
1205
+ start_index = index
1206
+ if node_cache[:labeled_sequence_primary].has_key?(index)
1207
+ cached = node_cache[:labeled_sequence_primary][index]
1208
+ @index = cached.interval.end if cached
1209
+ return cached
1210
+ end
1211
+
1212
+ i0, s0 = index, []
1213
+ r1 = _nt_label
1214
+ s0 << r1
1215
+ if r1
1216
+ r2 = _nt_sequence_primary
1217
+ s0 << r2
1218
+ end
1219
+ if s0.last
1220
+ r0 = (SyntaxNode).new(input, i0...index, s0)
1221
+ r0.extend(LabeledSequencePrimary0)
1222
+ r0.extend(LabeledSequencePrimary1)
1223
+ else
1224
+ self.index = i0
1225
+ r0 = nil
1226
+ end
1227
+
1228
+ node_cache[:labeled_sequence_primary][start_index] = r0
1229
+
1230
+ return r0
1231
+ end
1232
+
1233
+ module Label0
1234
+ def alpha_char
1235
+ elements[0]
1236
+ end
1237
+
1238
+ end
1239
+
1240
+ module Label1
1241
+ end
1242
+
1243
+ module Label2
1244
+ def name
1245
+ elements[0].text_value
1246
+ end
1247
+ end
1248
+
1249
+ module Label3
1250
+ def name
1251
+ nil
1252
+ end
1253
+ end
1254
+
1255
+ def _nt_label
1256
+ start_index = index
1257
+ if node_cache[:label].has_key?(index)
1258
+ cached = node_cache[:label][index]
1259
+ @index = cached.interval.end if cached
1260
+ return cached
1261
+ end
1262
+
1263
+ i0 = index
1264
+ i1, s1 = index, []
1265
+ i2, s2 = index, []
1266
+ r3 = _nt_alpha_char
1267
+ s2 << r3
1268
+ if r3
1269
+ s4, i4 = [], index
1270
+ loop do
1271
+ r5 = _nt_alphanumeric_char
1272
+ if r5
1273
+ s4 << r5
1274
+ else
1275
+ break
1276
+ end
1277
+ end
1278
+ r4 = SyntaxNode.new(input, i4...index, s4)
1279
+ s2 << r4
1280
+ end
1281
+ if s2.last
1282
+ r2 = (SyntaxNode).new(input, i2...index, s2)
1283
+ r2.extend(Label0)
1284
+ else
1285
+ self.index = i2
1286
+ r2 = nil
1287
+ end
1288
+ s1 << r2
1289
+ if r2
1290
+ if input.index(':', index) == index
1291
+ r6 = (SyntaxNode).new(input, index...(index + 1))
1292
+ @index += 1
1293
+ else
1294
+ terminal_parse_failure(':')
1295
+ r6 = nil
1296
+ end
1297
+ s1 << r6
1298
+ end
1299
+ if s1.last
1300
+ r1 = (SyntaxNode).new(input, i1...index, s1)
1301
+ r1.extend(Label1)
1302
+ r1.extend(Label2)
1303
+ else
1304
+ self.index = i1
1305
+ r1 = nil
1306
+ end
1307
+ if r1
1308
+ r0 = r1
1309
+ else
1310
+ if input.index('', index) == index
1311
+ r7 = (SyntaxNode).new(input, index...(index + 0))
1312
+ r7.extend(Label3)
1313
+ @index += 0
1314
+ else
1315
+ terminal_parse_failure('')
1316
+ r7 = nil
1317
+ end
1318
+ if r7
1319
+ r0 = r7
1320
+ else
1321
+ self.index = i0
1322
+ r0 = nil
1323
+ end
1324
+ end
1325
+
1326
+ node_cache[:label][start_index] = r0
1327
+
1328
+ return r0
1329
+ end
1330
+
1331
+ module SequencePrimary0
1332
+ def prefix
1333
+ elements[0]
1334
+ end
1335
+
1336
+ def atomic
1337
+ elements[1]
1338
+ end
1339
+ end
1340
+
1341
+ module SequencePrimary1
1342
+ def compile(lexical_address, builder)
1343
+ prefix.compile(lexical_address, builder, self)
1344
+ end
1345
+
1346
+ def prefixed_expression
1347
+ elements[1]
1348
+ end
1349
+
1350
+ def inline_modules
1351
+ atomic.inline_modules
1352
+ end
1353
+
1354
+ def inline_module_name
1355
+ nil
1356
+ end
1357
+ end
1358
+
1359
+ module SequencePrimary2
1360
+ def atomic
1361
+ elements[0]
1362
+ end
1363
+
1364
+ def suffix
1365
+ elements[1]
1366
+ end
1367
+ end
1368
+
1369
+ module SequencePrimary3
1370
+ def compile(lexical_address, builder)
1371
+ suffix.compile(lexical_address, builder, self)
1372
+ end
1373
+
1374
+ def node_class_name
1375
+ nil
1376
+ end
1377
+
1378
+ def inline_modules
1379
+ atomic.inline_modules
1380
+ end
1381
+
1382
+ def inline_module_name
1383
+ nil
1384
+ end
1385
+ end
1386
+
1387
+ def _nt_sequence_primary
1388
+ start_index = index
1389
+ if node_cache[:sequence_primary].has_key?(index)
1390
+ cached = node_cache[:sequence_primary][index]
1391
+ @index = cached.interval.end if cached
1392
+ return cached
1393
+ end
1394
+
1395
+ i0 = index
1396
+ i1, s1 = index, []
1397
+ r2 = _nt_prefix
1398
+ s1 << r2
1399
+ if r2
1400
+ r3 = _nt_atomic
1401
+ s1 << r3
1402
+ end
1403
+ if s1.last
1404
+ r1 = (SyntaxNode).new(input, i1...index, s1)
1405
+ r1.extend(SequencePrimary0)
1406
+ r1.extend(SequencePrimary1)
1407
+ else
1408
+ self.index = i1
1409
+ r1 = nil
1410
+ end
1411
+ if r1
1412
+ r0 = r1
1413
+ else
1414
+ i4, s4 = index, []
1415
+ r5 = _nt_atomic
1416
+ s4 << r5
1417
+ if r5
1418
+ r6 = _nt_suffix
1419
+ s4 << r6
1420
+ end
1421
+ if s4.last
1422
+ r4 = (SyntaxNode).new(input, i4...index, s4)
1423
+ r4.extend(SequencePrimary2)
1424
+ r4.extend(SequencePrimary3)
1425
+ else
1426
+ self.index = i4
1427
+ r4 = nil
1428
+ end
1429
+ if r4
1430
+ r0 = r4
1431
+ else
1432
+ r7 = _nt_atomic
1433
+ if r7
1434
+ r0 = r7
1435
+ else
1436
+ self.index = i0
1437
+ r0 = nil
1438
+ end
1439
+ end
1440
+ end
1441
+
1442
+ node_cache[:sequence_primary][start_index] = r0
1443
+
1444
+ return r0
1445
+ end
1446
+
1447
+ def _nt_suffix
1448
+ start_index = index
1449
+ if node_cache[:suffix].has_key?(index)
1450
+ cached = node_cache[:suffix][index]
1451
+ @index = cached.interval.end if cached
1452
+ return cached
1453
+ end
1454
+
1455
+ i0 = index
1456
+ r1 = _nt_repetition_suffix
1457
+ if r1
1458
+ r0 = r1
1459
+ else
1460
+ r2 = _nt_optional_suffix
1461
+ if r2
1462
+ r0 = r2
1463
+ else
1464
+ self.index = i0
1465
+ r0 = nil
1466
+ end
1467
+ end
1468
+
1469
+ node_cache[:suffix][start_index] = r0
1470
+
1471
+ return r0
1472
+ end
1473
+
1474
+ def _nt_optional_suffix
1475
+ start_index = index
1476
+ if node_cache[:optional_suffix].has_key?(index)
1477
+ cached = node_cache[:optional_suffix][index]
1478
+ @index = cached.interval.end if cached
1479
+ return cached
1480
+ end
1481
+
1482
+ if input.index('?', index) == index
1483
+ r0 = (Optional).new(input, index...(index + 1))
1484
+ @index += 1
1485
+ else
1486
+ terminal_parse_failure('?')
1487
+ r0 = nil
1488
+ end
1489
+
1490
+ node_cache[:optional_suffix][start_index] = r0
1491
+
1492
+ return r0
1493
+ end
1494
+
1495
+ module NodeClassDeclarations0
1496
+ def node_class_expression
1497
+ elements[0]
1498
+ end
1499
+
1500
+ def trailing_inline_module
1501
+ elements[1]
1502
+ end
1503
+ end
1504
+
1505
+ module NodeClassDeclarations1
1506
+ def node_class_name
1507
+ node_class_expression.node_class_name
1508
+ end
1509
+
1510
+ def inline_modules
1511
+ trailing_inline_module.inline_modules
1512
+ end
1513
+
1514
+ def inline_module
1515
+ trailing_inline_module.inline_module
1516
+ end
1517
+
1518
+ def inline_module_name
1519
+ inline_module.module_name if inline_module
1520
+ end
1521
+ end
1522
+
1523
+ def _nt_node_class_declarations
1524
+ start_index = index
1525
+ if node_cache[:node_class_declarations].has_key?(index)
1526
+ cached = node_cache[:node_class_declarations][index]
1527
+ @index = cached.interval.end if cached
1528
+ return cached
1529
+ end
1530
+
1531
+ i0, s0 = index, []
1532
+ r1 = _nt_node_class_expression
1533
+ s0 << r1
1534
+ if r1
1535
+ r2 = _nt_trailing_inline_module
1536
+ s0 << r2
1537
+ end
1538
+ if s0.last
1539
+ r0 = (SyntaxNode).new(input, i0...index, s0)
1540
+ r0.extend(NodeClassDeclarations0)
1541
+ r0.extend(NodeClassDeclarations1)
1542
+ else
1543
+ self.index = i0
1544
+ r0 = nil
1545
+ end
1546
+
1547
+ node_cache[:node_class_declarations][start_index] = r0
1548
+
1549
+ return r0
1550
+ end
1551
+
1552
+ def _nt_repetition_suffix
1553
+ start_index = index
1554
+ if node_cache[:repetition_suffix].has_key?(index)
1555
+ cached = node_cache[:repetition_suffix][index]
1556
+ @index = cached.interval.end if cached
1557
+ return cached
1558
+ end
1559
+
1560
+ i0 = index
1561
+ if input.index('+', index) == index
1562
+ r1 = (OneOrMore).new(input, index...(index + 1))
1563
+ @index += 1
1564
+ else
1565
+ terminal_parse_failure('+')
1566
+ r1 = nil
1567
+ end
1568
+ if r1
1569
+ r0 = r1
1570
+ else
1571
+ if input.index('*', index) == index
1572
+ r2 = (ZeroOrMore).new(input, index...(index + 1))
1573
+ @index += 1
1574
+ else
1575
+ terminal_parse_failure('*')
1576
+ r2 = nil
1577
+ end
1578
+ if r2
1579
+ r0 = r2
1580
+ else
1581
+ self.index = i0
1582
+ r0 = nil
1583
+ end
1584
+ end
1585
+
1586
+ node_cache[:repetition_suffix][start_index] = r0
1587
+
1588
+ return r0
1589
+ end
1590
+
1591
+ def _nt_prefix
1592
+ start_index = index
1593
+ if node_cache[:prefix].has_key?(index)
1594
+ cached = node_cache[:prefix][index]
1595
+ @index = cached.interval.end if cached
1596
+ return cached
1597
+ end
1598
+
1599
+ i0 = index
1600
+ if input.index('&', index) == index
1601
+ r1 = (AndPredicate).new(input, index...(index + 1))
1602
+ @index += 1
1603
+ else
1604
+ terminal_parse_failure('&')
1605
+ r1 = nil
1606
+ end
1607
+ if r1
1608
+ r0 = r1
1609
+ else
1610
+ if input.index('!', index) == index
1611
+ r2 = (NotPredicate).new(input, index...(index + 1))
1612
+ @index += 1
1613
+ else
1614
+ terminal_parse_failure('!')
1615
+ r2 = nil
1616
+ end
1617
+ if r2
1618
+ r0 = r2
1619
+ else
1620
+ if input.index('~', index) == index
1621
+ r3 = (TransientPrefix).new(input, index...(index + 1))
1622
+ @index += 1
1623
+ else
1624
+ terminal_parse_failure('~')
1625
+ r3 = nil
1626
+ end
1627
+ if r3
1628
+ r0 = r3
1629
+ else
1630
+ self.index = i0
1631
+ r0 = nil
1632
+ end
1633
+ end
1634
+ end
1635
+
1636
+ node_cache[:prefix][start_index] = r0
1637
+
1638
+ return r0
1639
+ end
1640
+
1641
+ def _nt_atomic
1642
+ start_index = index
1643
+ if node_cache[:atomic].has_key?(index)
1644
+ cached = node_cache[:atomic][index]
1645
+ @index = cached.interval.end if cached
1646
+ return cached
1647
+ end
1648
+
1649
+ i0 = index
1650
+ r1 = _nt_terminal
1651
+ if r1
1652
+ r0 = r1
1653
+ else
1654
+ r2 = _nt_nonterminal
1655
+ if r2
1656
+ r0 = r2
1657
+ else
1658
+ r3 = _nt_parenthesized_expression
1659
+ if r3
1660
+ r0 = r3
1661
+ else
1662
+ self.index = i0
1663
+ r0 = nil
1664
+ end
1665
+ end
1666
+ end
1667
+
1668
+ node_cache[:atomic][start_index] = r0
1669
+
1670
+ return r0
1671
+ end
1672
+
1673
+ module ParenthesizedExpression0
1674
+ def parsing_expression
1675
+ elements[2]
1676
+ end
1677
+
1678
+ end
1679
+
1680
+ module ParenthesizedExpression1
1681
+ def inline_modules
1682
+ parsing_expression.inline_modules
1683
+ end
1684
+ end
1685
+
1686
+ def _nt_parenthesized_expression
1687
+ start_index = index
1688
+ if node_cache[:parenthesized_expression].has_key?(index)
1689
+ cached = node_cache[:parenthesized_expression][index]
1690
+ @index = cached.interval.end if cached
1691
+ return cached
1692
+ end
1693
+
1694
+ i0, s0 = index, []
1695
+ if input.index('(', index) == index
1696
+ r1 = (SyntaxNode).new(input, index...(index + 1))
1697
+ @index += 1
1698
+ else
1699
+ terminal_parse_failure('(')
1700
+ r1 = nil
1701
+ end
1702
+ s0 << r1
1703
+ if r1
1704
+ r3 = _nt_space
1705
+ if r3
1706
+ r2 = r3
1707
+ else
1708
+ r2 = SyntaxNode.new(input, index...index)
1709
+ end
1710
+ s0 << r2
1711
+ if r2
1712
+ r4 = _nt_parsing_expression
1713
+ s0 << r4
1714
+ if r4
1715
+ r6 = _nt_space
1716
+ if r6
1717
+ r5 = r6
1718
+ else
1719
+ r5 = SyntaxNode.new(input, index...index)
1720
+ end
1721
+ s0 << r5
1722
+ if r5
1723
+ if input.index(')', index) == index
1724
+ r7 = (SyntaxNode).new(input, index...(index + 1))
1725
+ @index += 1
1726
+ else
1727
+ terminal_parse_failure(')')
1728
+ r7 = nil
1729
+ end
1730
+ s0 << r7
1731
+ end
1732
+ end
1733
+ end
1734
+ end
1735
+ if s0.last
1736
+ r0 = (ParenthesizedExpression).new(input, i0...index, s0)
1737
+ r0.extend(ParenthesizedExpression0)
1738
+ r0.extend(ParenthesizedExpression1)
1739
+ else
1740
+ self.index = i0
1741
+ r0 = nil
1742
+ end
1743
+
1744
+ node_cache[:parenthesized_expression][start_index] = r0
1745
+
1746
+ return r0
1747
+ end
1748
+
1749
+ module Nonterminal0
1750
+ def alpha_char
1751
+ elements[0]
1752
+ end
1753
+
1754
+ end
1755
+
1756
+ module Nonterminal1
1757
+ end
1758
+
1759
+ def _nt_nonterminal
1760
+ start_index = index
1761
+ if node_cache[:nonterminal].has_key?(index)
1762
+ cached = node_cache[:nonterminal][index]
1763
+ @index = cached.interval.end if cached
1764
+ return cached
1765
+ end
1766
+
1767
+ i0, s0 = index, []
1768
+ i1 = index
1769
+ r2 = _nt_keyword_inside_grammar
1770
+ if r2
1771
+ r1 = nil
1772
+ else
1773
+ self.index = i1
1774
+ r1 = SyntaxNode.new(input, index...index)
1775
+ end
1776
+ s0 << r1
1777
+ if r1
1778
+ i3, s3 = index, []
1779
+ r4 = _nt_alpha_char
1780
+ s3 << r4
1781
+ if r4
1782
+ s5, i5 = [], index
1783
+ loop do
1784
+ r6 = _nt_alphanumeric_char
1785
+ if r6
1786
+ s5 << r6
1787
+ else
1788
+ break
1789
+ end
1790
+ end
1791
+ r5 = SyntaxNode.new(input, i5...index, s5)
1792
+ s3 << r5
1793
+ end
1794
+ if s3.last
1795
+ r3 = (SyntaxNode).new(input, i3...index, s3)
1796
+ r3.extend(Nonterminal0)
1797
+ else
1798
+ self.index = i3
1799
+ r3 = nil
1800
+ end
1801
+ s0 << r3
1802
+ end
1803
+ if s0.last
1804
+ r0 = (Nonterminal).new(input, i0...index, s0)
1805
+ r0.extend(Nonterminal1)
1806
+ else
1807
+ self.index = i0
1808
+ r0 = nil
1809
+ end
1810
+
1811
+ node_cache[:nonterminal][start_index] = r0
1812
+
1813
+ return r0
1814
+ end
1815
+
1816
+ def _nt_terminal
1817
+ start_index = index
1818
+ if node_cache[:terminal].has_key?(index)
1819
+ cached = node_cache[:terminal][index]
1820
+ @index = cached.interval.end if cached
1821
+ return cached
1822
+ end
1823
+
1824
+ i0 = index
1825
+ r1 = _nt_quoted_string
1826
+ if r1
1827
+ r0 = r1
1828
+ else
1829
+ r2 = _nt_character_class
1830
+ if r2
1831
+ r0 = r2
1832
+ else
1833
+ r3 = _nt_anything_symbol
1834
+ if r3
1835
+ r0 = r3
1836
+ else
1837
+ self.index = i0
1838
+ r0 = nil
1839
+ end
1840
+ end
1841
+ end
1842
+
1843
+ node_cache[:terminal][start_index] = r0
1844
+
1845
+ return r0
1846
+ end
1847
+
1848
+ module QuotedString0
1849
+ def string
1850
+ super.text_value
1851
+ end
1852
+ end
1853
+
1854
+ def _nt_quoted_string
1855
+ start_index = index
1856
+ if node_cache[:quoted_string].has_key?(index)
1857
+ cached = node_cache[:quoted_string][index]
1858
+ @index = cached.interval.end if cached
1859
+ return cached
1860
+ end
1861
+
1862
+ i0 = index
1863
+ r1 = _nt_single_quoted_string
1864
+ if r1
1865
+ r0 = r1
1866
+ r0.extend(QuotedString0)
1867
+ else
1868
+ r2 = _nt_double_quoted_string
1869
+ if r2
1870
+ r0 = r2
1871
+ r0.extend(QuotedString0)
1872
+ else
1873
+ self.index = i0
1874
+ r0 = nil
1875
+ end
1876
+ end
1877
+
1878
+ node_cache[:quoted_string][start_index] = r0
1879
+
1880
+ return r0
1881
+ end
1882
+
1883
+ module DoubleQuotedString0
1884
+ end
1885
+
1886
+ module DoubleQuotedString1
1887
+ def string
1888
+ elements[1]
1889
+ end
1890
+
1891
+ end
1892
+
1893
+ def _nt_double_quoted_string
1894
+ start_index = index
1895
+ if node_cache[:double_quoted_string].has_key?(index)
1896
+ cached = node_cache[:double_quoted_string][index]
1897
+ @index = cached.interval.end if cached
1898
+ return cached
1899
+ end
1900
+
1901
+ i0, s0 = index, []
1902
+ if input.index('"', index) == index
1903
+ r1 = (SyntaxNode).new(input, index...(index + 1))
1904
+ @index += 1
1905
+ else
1906
+ terminal_parse_failure('"')
1907
+ r1 = nil
1908
+ end
1909
+ s0 << r1
1910
+ if r1
1911
+ s2, i2 = [], index
1912
+ loop do
1913
+ i3, s3 = index, []
1914
+ i4 = index
1915
+ if input.index('"', index) == index
1916
+ r5 = (SyntaxNode).new(input, index...(index + 1))
1917
+ @index += 1
1918
+ else
1919
+ terminal_parse_failure('"')
1920
+ r5 = nil
1921
+ end
1922
+ if r5
1923
+ r4 = nil
1924
+ else
1925
+ self.index = i4
1926
+ r4 = SyntaxNode.new(input, index...index)
1927
+ end
1928
+ s3 << r4
1929
+ if r4
1930
+ i6 = index
1931
+ if input.index("\\\\", index) == index
1932
+ r7 = (SyntaxNode).new(input, index...(index + 2))
1933
+ @index += 2
1934
+ else
1935
+ terminal_parse_failure("\\\\")
1936
+ r7 = nil
1937
+ end
1938
+ if r7
1939
+ r6 = r7
1940
+ else
1941
+ if input.index('\"', index) == index
1942
+ r8 = (SyntaxNode).new(input, index...(index + 2))
1943
+ @index += 2
1944
+ else
1945
+ terminal_parse_failure('\"')
1946
+ r8 = nil
1947
+ end
1948
+ if r8
1949
+ r6 = r8
1950
+ else
1951
+ if index < input_length
1952
+ r9 = (SyntaxNode).new(input, index...(index + 1))
1953
+ @index += 1
1954
+ else
1955
+ terminal_parse_failure("any character")
1956
+ r9 = nil
1957
+ end
1958
+ if r9
1959
+ r6 = r9
1960
+ else
1961
+ self.index = i6
1962
+ r6 = nil
1963
+ end
1964
+ end
1965
+ end
1966
+ s3 << r6
1967
+ end
1968
+ if s3.last
1969
+ r3 = (SyntaxNode).new(input, i3...index, s3)
1970
+ r3.extend(DoubleQuotedString0)
1971
+ else
1972
+ self.index = i3
1973
+ r3 = nil
1974
+ end
1975
+ if r3
1976
+ s2 << r3
1977
+ else
1978
+ break
1979
+ end
1980
+ end
1981
+ r2 = SyntaxNode.new(input, i2...index, s2)
1982
+ s0 << r2
1983
+ if r2
1984
+ if input.index('"', index) == index
1985
+ r10 = (SyntaxNode).new(input, index...(index + 1))
1986
+ @index += 1
1987
+ else
1988
+ terminal_parse_failure('"')
1989
+ r10 = nil
1990
+ end
1991
+ s0 << r10
1992
+ end
1993
+ end
1994
+ if s0.last
1995
+ r0 = (Terminal).new(input, i0...index, s0)
1996
+ r0.extend(DoubleQuotedString1)
1997
+ else
1998
+ self.index = i0
1999
+ r0 = nil
2000
+ end
2001
+
2002
+ node_cache[:double_quoted_string][start_index] = r0
2003
+
2004
+ return r0
2005
+ end
2006
+
2007
+ module SingleQuotedString0
2008
+ end
2009
+
2010
+ module SingleQuotedString1
2011
+ def string
2012
+ elements[1]
2013
+ end
2014
+
2015
+ end
2016
+
2017
+ def _nt_single_quoted_string
2018
+ start_index = index
2019
+ if node_cache[:single_quoted_string].has_key?(index)
2020
+ cached = node_cache[:single_quoted_string][index]
2021
+ @index = cached.interval.end if cached
2022
+ return cached
2023
+ end
2024
+
2025
+ i0, s0 = index, []
2026
+ if input.index("'", index) == index
2027
+ r1 = (SyntaxNode).new(input, index...(index + 1))
2028
+ @index += 1
2029
+ else
2030
+ terminal_parse_failure("'")
2031
+ r1 = nil
2032
+ end
2033
+ s0 << r1
2034
+ if r1
2035
+ s2, i2 = [], index
2036
+ loop do
2037
+ i3, s3 = index, []
2038
+ i4 = index
2039
+ if input.index("'", index) == index
2040
+ r5 = (SyntaxNode).new(input, index...(index + 1))
2041
+ @index += 1
2042
+ else
2043
+ terminal_parse_failure("'")
2044
+ r5 = nil
2045
+ end
2046
+ if r5
2047
+ r4 = nil
2048
+ else
2049
+ self.index = i4
2050
+ r4 = SyntaxNode.new(input, index...index)
2051
+ end
2052
+ s3 << r4
2053
+ if r4
2054
+ i6 = index
2055
+ if input.index("\\\\", index) == index
2056
+ r7 = (SyntaxNode).new(input, index...(index + 2))
2057
+ @index += 2
2058
+ else
2059
+ terminal_parse_failure("\\\\")
2060
+ r7 = nil
2061
+ end
2062
+ if r7
2063
+ r6 = r7
2064
+ else
2065
+ if input.index("\\'", index) == index
2066
+ r8 = (SyntaxNode).new(input, index...(index + 2))
2067
+ @index += 2
2068
+ else
2069
+ terminal_parse_failure("\\'")
2070
+ r8 = nil
2071
+ end
2072
+ if r8
2073
+ r6 = r8
2074
+ else
2075
+ if index < input_length
2076
+ r9 = (SyntaxNode).new(input, index...(index + 1))
2077
+ @index += 1
2078
+ else
2079
+ terminal_parse_failure("any character")
2080
+ r9 = nil
2081
+ end
2082
+ if r9
2083
+ r6 = r9
2084
+ else
2085
+ self.index = i6
2086
+ r6 = nil
2087
+ end
2088
+ end
2089
+ end
2090
+ s3 << r6
2091
+ end
2092
+ if s3.last
2093
+ r3 = (SyntaxNode).new(input, i3...index, s3)
2094
+ r3.extend(SingleQuotedString0)
2095
+ else
2096
+ self.index = i3
2097
+ r3 = nil
2098
+ end
2099
+ if r3
2100
+ s2 << r3
2101
+ else
2102
+ break
2103
+ end
2104
+ end
2105
+ r2 = SyntaxNode.new(input, i2...index, s2)
2106
+ s0 << r2
2107
+ if r2
2108
+ if input.index("'", index) == index
2109
+ r10 = (SyntaxNode).new(input, index...(index + 1))
2110
+ @index += 1
2111
+ else
2112
+ terminal_parse_failure("'")
2113
+ r10 = nil
2114
+ end
2115
+ s0 << r10
2116
+ end
2117
+ end
2118
+ if s0.last
2119
+ r0 = (Terminal).new(input, i0...index, s0)
2120
+ r0.extend(SingleQuotedString1)
2121
+ else
2122
+ self.index = i0
2123
+ r0 = nil
2124
+ end
2125
+
2126
+ node_cache[:single_quoted_string][start_index] = r0
2127
+
2128
+ return r0
2129
+ end
2130
+
2131
+ module CharacterClass0
2132
+ end
2133
+
2134
+ module CharacterClass1
2135
+ end
2136
+
2137
+ module CharacterClass2
2138
+ end
2139
+
2140
+ module CharacterClass3
2141
+ def characters
2142
+ elements[1]
2143
+ end
2144
+
2145
+ end
2146
+
2147
+ module CharacterClass4
2148
+ def characters
2149
+ super.text_value
2150
+ end
2151
+ end
2152
+
2153
+ def _nt_character_class
2154
+ start_index = index
2155
+ if node_cache[:character_class].has_key?(index)
2156
+ cached = node_cache[:character_class][index]
2157
+ @index = cached.interval.end if cached
2158
+ return cached
2159
+ end
2160
+
2161
+ i0, s0 = index, []
2162
+ if input.index('[', index) == index
2163
+ r1 = (SyntaxNode).new(input, index...(index + 1))
2164
+ @index += 1
2165
+ else
2166
+ terminal_parse_failure('[')
2167
+ r1 = nil
2168
+ end
2169
+ s0 << r1
2170
+ if r1
2171
+ s2, i2 = [], index
2172
+ loop do
2173
+ i3, s3 = index, []
2174
+ i4 = index
2175
+ if input.index(']', index) == index
2176
+ r5 = (SyntaxNode).new(input, index...(index + 1))
2177
+ @index += 1
2178
+ else
2179
+ terminal_parse_failure(']')
2180
+ r5 = nil
2181
+ end
2182
+ if r5
2183
+ r4 = nil
2184
+ else
2185
+ self.index = i4
2186
+ r4 = SyntaxNode.new(input, index...index)
2187
+ end
2188
+ s3 << r4
2189
+ if r4
2190
+ i6 = index
2191
+ i7, s7 = index, []
2192
+ if input.index('\\', index) == index
2193
+ r8 = (SyntaxNode).new(input, index...(index + 1))
2194
+ @index += 1
2195
+ else
2196
+ terminal_parse_failure('\\')
2197
+ r8 = nil
2198
+ end
2199
+ s7 << r8
2200
+ if r8
2201
+ if index < input_length
2202
+ r9 = (SyntaxNode).new(input, index...(index + 1))
2203
+ @index += 1
2204
+ else
2205
+ terminal_parse_failure("any character")
2206
+ r9 = nil
2207
+ end
2208
+ s7 << r9
2209
+ end
2210
+ if s7.last
2211
+ r7 = (SyntaxNode).new(input, i7...index, s7)
2212
+ r7.extend(CharacterClass0)
2213
+ else
2214
+ self.index = i7
2215
+ r7 = nil
2216
+ end
2217
+ if r7
2218
+ r6 = r7
2219
+ else
2220
+ i10, s10 = index, []
2221
+ i11 = index
2222
+ if input.index('\\', index) == index
2223
+ r12 = (SyntaxNode).new(input, index...(index + 1))
2224
+ @index += 1
2225
+ else
2226
+ terminal_parse_failure('\\')
2227
+ r12 = nil
2228
+ end
2229
+ if r12
2230
+ r11 = nil
2231
+ else
2232
+ self.index = i11
2233
+ r11 = SyntaxNode.new(input, index...index)
2234
+ end
2235
+ s10 << r11
2236
+ if r11
2237
+ if index < input_length
2238
+ r13 = (SyntaxNode).new(input, index...(index + 1))
2239
+ @index += 1
2240
+ else
2241
+ terminal_parse_failure("any character")
2242
+ r13 = nil
2243
+ end
2244
+ s10 << r13
2245
+ end
2246
+ if s10.last
2247
+ r10 = (SyntaxNode).new(input, i10...index, s10)
2248
+ r10.extend(CharacterClass1)
2249
+ else
2250
+ self.index = i10
2251
+ r10 = nil
2252
+ end
2253
+ if r10
2254
+ r6 = r10
2255
+ else
2256
+ self.index = i6
2257
+ r6 = nil
2258
+ end
2259
+ end
2260
+ s3 << r6
2261
+ end
2262
+ if s3.last
2263
+ r3 = (SyntaxNode).new(input, i3...index, s3)
2264
+ r3.extend(CharacterClass2)
2265
+ else
2266
+ self.index = i3
2267
+ r3 = nil
2268
+ end
2269
+ if r3
2270
+ s2 << r3
2271
+ else
2272
+ break
2273
+ end
2274
+ end
2275
+ if s2.empty?
2276
+ self.index = i2
2277
+ r2 = nil
2278
+ else
2279
+ r2 = SyntaxNode.new(input, i2...index, s2)
2280
+ end
2281
+ s0 << r2
2282
+ if r2
2283
+ if input.index(']', index) == index
2284
+ r14 = (SyntaxNode).new(input, index...(index + 1))
2285
+ @index += 1
2286
+ else
2287
+ terminal_parse_failure(']')
2288
+ r14 = nil
2289
+ end
2290
+ s0 << r14
2291
+ end
2292
+ end
2293
+ if s0.last
2294
+ r0 = (CharacterClass).new(input, i0...index, s0)
2295
+ r0.extend(CharacterClass3)
2296
+ r0.extend(CharacterClass4)
2297
+ else
2298
+ self.index = i0
2299
+ r0 = nil
2300
+ end
2301
+
2302
+ node_cache[:character_class][start_index] = r0
2303
+
2304
+ return r0
2305
+ end
2306
+
2307
+ def _nt_anything_symbol
2308
+ start_index = index
2309
+ if node_cache[:anything_symbol].has_key?(index)
2310
+ cached = node_cache[:anything_symbol][index]
2311
+ @index = cached.interval.end if cached
2312
+ return cached
2313
+ end
2314
+
2315
+ if input.index('.', index) == index
2316
+ r0 = (AnythingSymbol).new(input, index...(index + 1))
2317
+ @index += 1
2318
+ else
2319
+ terminal_parse_failure('.')
2320
+ r0 = nil
2321
+ end
2322
+
2323
+ node_cache[:anything_symbol][start_index] = r0
2324
+
2325
+ return r0
2326
+ end
2327
+
2328
+ module NodeClassExpression0
2329
+ end
2330
+
2331
+ module NodeClassExpression1
2332
+ def space
2333
+ elements[0]
2334
+ end
2335
+
2336
+ end
2337
+
2338
+ module NodeClassExpression2
2339
+ def node_class_name
2340
+ elements[2].text_value
2341
+ end
2342
+ end
2343
+
2344
+ module NodeClassExpression3
2345
+ def node_class_name
2346
+ nil
2347
+ end
2348
+ end
2349
+
2350
+ def _nt_node_class_expression
2351
+ start_index = index
2352
+ if node_cache[:node_class_expression].has_key?(index)
2353
+ cached = node_cache[:node_class_expression][index]
2354
+ @index = cached.interval.end if cached
2355
+ return cached
2356
+ end
2357
+
2358
+ i0 = index
2359
+ i1, s1 = index, []
2360
+ r2 = _nt_space
2361
+ s1 << r2
2362
+ if r2
2363
+ if input.index('<', index) == index
2364
+ r3 = (SyntaxNode).new(input, index...(index + 1))
2365
+ @index += 1
2366
+ else
2367
+ terminal_parse_failure('<')
2368
+ r3 = nil
2369
+ end
2370
+ s1 << r3
2371
+ if r3
2372
+ s4, i4 = [], index
2373
+ loop do
2374
+ i5, s5 = index, []
2375
+ i6 = index
2376
+ if input.index('>', index) == index
2377
+ r7 = (SyntaxNode).new(input, index...(index + 1))
2378
+ @index += 1
2379
+ else
2380
+ terminal_parse_failure('>')
2381
+ r7 = nil
2382
+ end
2383
+ if r7
2384
+ r6 = nil
2385
+ else
2386
+ self.index = i6
2387
+ r6 = SyntaxNode.new(input, index...index)
2388
+ end
2389
+ s5 << r6
2390
+ if r6
2391
+ if index < input_length
2392
+ r8 = (SyntaxNode).new(input, index...(index + 1))
2393
+ @index += 1
2394
+ else
2395
+ terminal_parse_failure("any character")
2396
+ r8 = nil
2397
+ end
2398
+ s5 << r8
2399
+ end
2400
+ if s5.last
2401
+ r5 = (SyntaxNode).new(input, i5...index, s5)
2402
+ r5.extend(NodeClassExpression0)
2403
+ else
2404
+ self.index = i5
2405
+ r5 = nil
2406
+ end
2407
+ if r5
2408
+ s4 << r5
2409
+ else
2410
+ break
2411
+ end
2412
+ end
2413
+ if s4.empty?
2414
+ self.index = i4
2415
+ r4 = nil
2416
+ else
2417
+ r4 = SyntaxNode.new(input, i4...index, s4)
2418
+ end
2419
+ s1 << r4
2420
+ if r4
2421
+ if input.index('>', index) == index
2422
+ r9 = (SyntaxNode).new(input, index...(index + 1))
2423
+ @index += 1
2424
+ else
2425
+ terminal_parse_failure('>')
2426
+ r9 = nil
2427
+ end
2428
+ s1 << r9
2429
+ end
2430
+ end
2431
+ end
2432
+ if s1.last
2433
+ r1 = (SyntaxNode).new(input, i1...index, s1)
2434
+ r1.extend(NodeClassExpression1)
2435
+ r1.extend(NodeClassExpression2)
2436
+ else
2437
+ self.index = i1
2438
+ r1 = nil
2439
+ end
2440
+ if r1
2441
+ r0 = r1
2442
+ else
2443
+ if input.index('', index) == index
2444
+ r10 = (SyntaxNode).new(input, index...(index + 0))
2445
+ r10.extend(NodeClassExpression3)
2446
+ @index += 0
2447
+ else
2448
+ terminal_parse_failure('')
2449
+ r10 = nil
2450
+ end
2451
+ if r10
2452
+ r0 = r10
2453
+ else
2454
+ self.index = i0
2455
+ r0 = nil
2456
+ end
2457
+ end
2458
+
2459
+ node_cache[:node_class_expression][start_index] = r0
2460
+
2461
+ return r0
2462
+ end
2463
+
2464
+ module TrailingInlineModule0
2465
+ def space
2466
+ elements[0]
2467
+ end
2468
+
2469
+ def inline_module
2470
+ elements[1]
2471
+ end
2472
+ end
2473
+
2474
+ module TrailingInlineModule1
2475
+ def inline_modules
2476
+ [inline_module]
2477
+ end
2478
+
2479
+ def inline_module_name
2480
+ inline_module.module_name
2481
+ end
2482
+ end
2483
+
2484
+ module TrailingInlineModule2
2485
+ def inline_modules
2486
+ []
2487
+ end
2488
+
2489
+ def inline_module
2490
+ nil
2491
+ end
2492
+
2493
+ def inline_module_name
2494
+ nil
2495
+ end
2496
+ end
2497
+
2498
+ def _nt_trailing_inline_module
2499
+ start_index = index
2500
+ if node_cache[:trailing_inline_module].has_key?(index)
2501
+ cached = node_cache[:trailing_inline_module][index]
2502
+ @index = cached.interval.end if cached
2503
+ return cached
2504
+ end
2505
+
2506
+ i0 = index
2507
+ i1, s1 = index, []
2508
+ r2 = _nt_space
2509
+ s1 << r2
2510
+ if r2
2511
+ r3 = _nt_inline_module
2512
+ s1 << r3
2513
+ end
2514
+ if s1.last
2515
+ r1 = (SyntaxNode).new(input, i1...index, s1)
2516
+ r1.extend(TrailingInlineModule0)
2517
+ r1.extend(TrailingInlineModule1)
2518
+ else
2519
+ self.index = i1
2520
+ r1 = nil
2521
+ end
2522
+ if r1
2523
+ r0 = r1
2524
+ else
2525
+ if input.index('', index) == index
2526
+ r4 = (SyntaxNode).new(input, index...(index + 0))
2527
+ r4.extend(TrailingInlineModule2)
2528
+ @index += 0
2529
+ else
2530
+ terminal_parse_failure('')
2531
+ r4 = nil
2532
+ end
2533
+ if r4
2534
+ r0 = r4
2535
+ else
2536
+ self.index = i0
2537
+ r0 = nil
2538
+ end
2539
+ end
2540
+
2541
+ node_cache[:trailing_inline_module][start_index] = r0
2542
+
2543
+ return r0
2544
+ end
2545
+
2546
+ module InlineModule0
2547
+ end
2548
+
2549
+ module InlineModule1
2550
+ end
2551
+
2552
+ def _nt_inline_module
2553
+ start_index = index
2554
+ if node_cache[:inline_module].has_key?(index)
2555
+ cached = node_cache[:inline_module][index]
2556
+ @index = cached.interval.end if cached
2557
+ return cached
2558
+ end
2559
+
2560
+ i0, s0 = index, []
2561
+ if input.index('{', index) == index
2562
+ r1 = (SyntaxNode).new(input, index...(index + 1))
2563
+ @index += 1
2564
+ else
2565
+ terminal_parse_failure('{')
2566
+ r1 = nil
2567
+ end
2568
+ s0 << r1
2569
+ if r1
2570
+ s2, i2 = [], index
2571
+ loop do
2572
+ i3 = index
2573
+ r4 = _nt_inline_module
2574
+ if r4
2575
+ r3 = r4
2576
+ else
2577
+ i5, s5 = index, []
2578
+ i6 = index
2579
+ if input.index(Regexp.new('[{}]'), index) == index
2580
+ r7 = (SyntaxNode).new(input, index...(index + 1))
2581
+ @index += 1
2582
+ else
2583
+ r7 = nil
2584
+ end
2585
+ if r7
2586
+ r6 = nil
2587
+ else
2588
+ self.index = i6
2589
+ r6 = SyntaxNode.new(input, index...index)
2590
+ end
2591
+ s5 << r6
2592
+ if r6
2593
+ if index < input_length
2594
+ r8 = (SyntaxNode).new(input, index...(index + 1))
2595
+ @index += 1
2596
+ else
2597
+ terminal_parse_failure("any character")
2598
+ r8 = nil
2599
+ end
2600
+ s5 << r8
2601
+ end
2602
+ if s5.last
2603
+ r5 = (SyntaxNode).new(input, i5...index, s5)
2604
+ r5.extend(InlineModule0)
2605
+ else
2606
+ self.index = i5
2607
+ r5 = nil
2608
+ end
2609
+ if r5
2610
+ r3 = r5
2611
+ else
2612
+ self.index = i3
2613
+ r3 = nil
2614
+ end
2615
+ end
2616
+ if r3
2617
+ s2 << r3
2618
+ else
2619
+ break
2620
+ end
2621
+ end
2622
+ r2 = SyntaxNode.new(input, i2...index, s2)
2623
+ s0 << r2
2624
+ if r2
2625
+ if input.index('}', index) == index
2626
+ r9 = (SyntaxNode).new(input, index...(index + 1))
2627
+ @index += 1
2628
+ else
2629
+ terminal_parse_failure('}')
2630
+ r9 = nil
2631
+ end
2632
+ s0 << r9
2633
+ end
2634
+ end
2635
+ if s0.last
2636
+ r0 = (InlineModule).new(input, i0...index, s0)
2637
+ r0.extend(InlineModule1)
2638
+ else
2639
+ self.index = i0
2640
+ r0 = nil
2641
+ end
2642
+
2643
+ node_cache[:inline_module][start_index] = r0
2644
+
2645
+ return r0
2646
+ end
2647
+
2648
+ module KeywordInsideGrammar0
2649
+ end
2650
+
2651
+ def _nt_keyword_inside_grammar
2652
+ start_index = index
2653
+ if node_cache[:keyword_inside_grammar].has_key?(index)
2654
+ cached = node_cache[:keyword_inside_grammar][index]
2655
+ @index = cached.interval.end if cached
2656
+ return cached
2657
+ end
2658
+
2659
+ i0, s0 = index, []
2660
+ i1 = index
2661
+ if input.index('rule', index) == index
2662
+ r2 = (SyntaxNode).new(input, index...(index + 4))
2663
+ @index += 4
2664
+ else
2665
+ terminal_parse_failure('rule')
2666
+ r2 = nil
2667
+ end
2668
+ if r2
2669
+ r1 = r2
2670
+ else
2671
+ if input.index('end', index) == index
2672
+ r3 = (SyntaxNode).new(input, index...(index + 3))
2673
+ @index += 3
2674
+ else
2675
+ terminal_parse_failure('end')
2676
+ r3 = nil
2677
+ end
2678
+ if r3
2679
+ r1 = r3
2680
+ else
2681
+ self.index = i1
2682
+ r1 = nil
2683
+ end
2684
+ end
2685
+ s0 << r1
2686
+ if r1
2687
+ i4 = index
2688
+ r5 = _nt_non_space_char
2689
+ if r5
2690
+ r4 = nil
2691
+ else
2692
+ self.index = i4
2693
+ r4 = SyntaxNode.new(input, index...index)
2694
+ end
2695
+ s0 << r4
2696
+ end
2697
+ if s0.last
2698
+ r0 = (SyntaxNode).new(input, i0...index, s0)
2699
+ r0.extend(KeywordInsideGrammar0)
2700
+ else
2701
+ self.index = i0
2702
+ r0 = nil
2703
+ end
2704
+
2705
+ node_cache[:keyword_inside_grammar][start_index] = r0
2706
+
2707
+ return r0
2708
+ end
2709
+
2710
+ module NonSpaceChar0
2711
+ end
2712
+
2713
+ def _nt_non_space_char
2714
+ start_index = index
2715
+ if node_cache[:non_space_char].has_key?(index)
2716
+ cached = node_cache[:non_space_char][index]
2717
+ @index = cached.interval.end if cached
2718
+ return cached
2719
+ end
2720
+
2721
+ i0, s0 = index, []
2722
+ i1 = index
2723
+ r2 = _nt_space
2724
+ if r2
2725
+ r1 = nil
2726
+ else
2727
+ self.index = i1
2728
+ r1 = SyntaxNode.new(input, index...index)
2729
+ end
2730
+ s0 << r1
2731
+ if r1
2732
+ if index < input_length
2733
+ r3 = (SyntaxNode).new(input, index...(index + 1))
2734
+ @index += 1
2735
+ else
2736
+ terminal_parse_failure("any character")
2737
+ r3 = nil
2738
+ end
2739
+ s0 << r3
2740
+ end
2741
+ if s0.last
2742
+ r0 = (SyntaxNode).new(input, i0...index, s0)
2743
+ r0.extend(NonSpaceChar0)
2744
+ else
2745
+ self.index = i0
2746
+ r0 = nil
2747
+ end
2748
+
2749
+ node_cache[:non_space_char][start_index] = r0
2750
+
2751
+ return r0
2752
+ end
2753
+
2754
+ def _nt_alpha_char
2755
+ start_index = index
2756
+ if node_cache[:alpha_char].has_key?(index)
2757
+ cached = node_cache[:alpha_char][index]
2758
+ @index = cached.interval.end if cached
2759
+ return cached
2760
+ end
2761
+
2762
+ if input.index(Regexp.new('[A-Za-z_]'), index) == index
2763
+ r0 = (SyntaxNode).new(input, index...(index + 1))
2764
+ @index += 1
2765
+ else
2766
+ r0 = nil
2767
+ end
2768
+
2769
+ node_cache[:alpha_char][start_index] = r0
2770
+
2771
+ return r0
2772
+ end
2773
+
2774
+ def _nt_alphanumeric_char
2775
+ start_index = index
2776
+ if node_cache[:alphanumeric_char].has_key?(index)
2777
+ cached = node_cache[:alphanumeric_char][index]
2778
+ @index = cached.interval.end if cached
2779
+ return cached
2780
+ end
2781
+
2782
+ i0 = index
2783
+ r1 = _nt_alpha_char
2784
+ if r1
2785
+ r0 = r1
2786
+ else
2787
+ if input.index(Regexp.new('[0-9]'), index) == index
2788
+ r2 = (SyntaxNode).new(input, index...(index + 1))
2789
+ @index += 1
2790
+ else
2791
+ r2 = nil
2792
+ end
2793
+ if r2
2794
+ r0 = r2
2795
+ else
2796
+ self.index = i0
2797
+ r0 = nil
2798
+ end
2799
+ end
2800
+
2801
+ node_cache[:alphanumeric_char][start_index] = r0
2802
+
2803
+ return r0
2804
+ end
2805
+
2806
+ def _nt_space
2807
+ start_index = index
2808
+ if node_cache[:space].has_key?(index)
2809
+ cached = node_cache[:space][index]
2810
+ @index = cached.interval.end if cached
2811
+ return cached
2812
+ end
2813
+
2814
+ s0, i0 = [], index
2815
+ loop do
2816
+ i1 = index
2817
+ r2 = _nt_white
2818
+ if r2
2819
+ r1 = r2
2820
+ else
2821
+ r3 = _nt_comment_to_eol
2822
+ if r3
2823
+ r1 = r3
2824
+ else
2825
+ self.index = i1
2826
+ r1 = nil
2827
+ end
2828
+ end
2829
+ if r1
2830
+ s0 << r1
2831
+ else
2832
+ break
2833
+ end
2834
+ end
2835
+ if s0.empty?
2836
+ self.index = i0
2837
+ r0 = nil
2838
+ else
2839
+ r0 = SyntaxNode.new(input, i0...index, s0)
2840
+ end
2841
+
2842
+ node_cache[:space][start_index] = r0
2843
+
2844
+ return r0
2845
+ end
2846
+
2847
+ module CommentToEol0
2848
+ end
2849
+
2850
+ module CommentToEol1
2851
+ end
2852
+
2853
+ def _nt_comment_to_eol
2854
+ start_index = index
2855
+ if node_cache[:comment_to_eol].has_key?(index)
2856
+ cached = node_cache[:comment_to_eol][index]
2857
+ @index = cached.interval.end if cached
2858
+ return cached
2859
+ end
2860
+
2861
+ i0, s0 = index, []
2862
+ if input.index('#', index) == index
2863
+ r1 = (SyntaxNode).new(input, index...(index + 1))
2864
+ @index += 1
2865
+ else
2866
+ terminal_parse_failure('#')
2867
+ r1 = nil
2868
+ end
2869
+ s0 << r1
2870
+ if r1
2871
+ s2, i2 = [], index
2872
+ loop do
2873
+ i3, s3 = index, []
2874
+ i4 = index
2875
+ if input.index("\n", index) == index
2876
+ r5 = (SyntaxNode).new(input, index...(index + 1))
2877
+ @index += 1
2878
+ else
2879
+ terminal_parse_failure("\n")
2880
+ r5 = nil
2881
+ end
2882
+ if r5
2883
+ r4 = nil
2884
+ else
2885
+ self.index = i4
2886
+ r4 = SyntaxNode.new(input, index...index)
2887
+ end
2888
+ s3 << r4
2889
+ if r4
2890
+ if index < input_length
2891
+ r6 = (SyntaxNode).new(input, index...(index + 1))
2892
+ @index += 1
2893
+ else
2894
+ terminal_parse_failure("any character")
2895
+ r6 = nil
2896
+ end
2897
+ s3 << r6
2898
+ end
2899
+ if s3.last
2900
+ r3 = (SyntaxNode).new(input, i3...index, s3)
2901
+ r3.extend(CommentToEol0)
2902
+ else
2903
+ self.index = i3
2904
+ r3 = nil
2905
+ end
2906
+ if r3
2907
+ s2 << r3
2908
+ else
2909
+ break
2910
+ end
2911
+ end
2912
+ r2 = SyntaxNode.new(input, i2...index, s2)
2913
+ s0 << r2
2914
+ end
2915
+ if s0.last
2916
+ r0 = (SyntaxNode).new(input, i0...index, s0)
2917
+ r0.extend(CommentToEol1)
2918
+ else
2919
+ self.index = i0
2920
+ r0 = nil
2921
+ end
2922
+
2923
+ node_cache[:comment_to_eol][start_index] = r0
2924
+
2925
+ return r0
2926
+ end
2927
+
2928
+ def _nt_white
2929
+ start_index = index
2930
+ if node_cache[:white].has_key?(index)
2931
+ cached = node_cache[:white][index]
2932
+ @index = cached.interval.end if cached
2933
+ return cached
2934
+ end
2935
+
2936
+ if input.index(Regexp.new('[ \\t\\n\\r]'), index) == index
2937
+ r0 = (SyntaxNode).new(input, index...(index + 1))
2938
+ @index += 1
2939
+ else
2940
+ r0 = nil
2941
+ end
2942
+
2943
+ node_cache[:white][start_index] = r0
2944
+
2945
+ return r0
2946
+ end
2947
+
2948
+ end
2949
+
2950
+ class MetagrammarParser < Treetop::Runtime::CompiledParser
2951
+ include Metagrammar
2952
+ end
2953
+
2954
+ end
2955
+ end