inweb-bootstrap/Chapter 1/Basics.w

179 lines
5.4 KiB
OpenEdge ABL
Raw Normal View History

2019-02-04 22:26:45 +00:00
[Basics::] Basics.
2020-04-16 22:51:03 +00:00
Some fundamental definitions, mostly declaring object types to the Foundation
module.
2019-02-04 22:26:45 +00:00
2020-04-16 22:51:03 +00:00
@ Every program using //foundation// must define this:
2019-02-04 22:26:45 +00:00
2020-04-15 22:45:08 +00:00
@d PROGRAM_NAME "inweb"
2019-02-04 22:26:45 +00:00
2020-04-16 22:51:03 +00:00
@ We need to itemise the structures we'll want to allocate. For explanations,
see //foundation: A Brief Guide to Foundation//.
2019-02-04 22:26:45 +00:00
@e asset_rule_MT
@e breadcrumb_request_MT
2019-02-04 22:26:45 +00:00
@e chapter_MT
2020-04-12 16:24:23 +00:00
@e colony_MT
@e colony_member_MT
2020-04-21 16:55:17 +00:00
@e colour_scheme_MT
@e colouring_language_block_MT
2020-04-04 06:51:07 +00:00
@e colouring_rule_MT
2019-02-04 22:26:45 +00:00
@e enumeration_set_MT
@e footnote_MT
2019-02-04 22:26:45 +00:00
@e hash_table_entry_MT
@e hash_table_entry_usage_MT
@e language_function_MT
@e language_type_MT
2020-03-23 21:39:27 +00:00
@e macro_MT
@e macro_tokens_MT
2019-02-04 22:26:45 +00:00
@e macro_usage_MT
@e nonterminal_variable_MT
2020-03-23 21:39:27 +00:00
@e para_macro_MT
2019-02-04 22:26:45 +00:00
@e paragraph_MT
@e paragraph_tagging_MT
@e preform_nonterminal_MT
@e programming_language_MT
2020-04-04 19:46:43 +00:00
@e reserved_word_MT
2019-02-04 22:26:45 +00:00
@e section_MT
@e source_line_array_MT
@e structure_element_MT
@e tangle_target_MT
@e tex_results_MT
@e text_literal_MT
@e theme_tag_MT
@e weave_format_MT
@e weave_pattern_MT
2020-04-10 20:29:28 +00:00
@e weave_plugin_MT
2020-04-16 22:51:03 +00:00
@e weave_order_MT
2019-02-04 22:26:45 +00:00
@e web_MT
2020-03-23 21:39:27 +00:00
@e writeme_asset_MT
2019-02-04 22:26:45 +00:00
@e weave_document_node_MT
@e weave_head_node_MT
@e weave_body_node_MT
@e weave_tail_node_MT
@e weave_section_header_node_MT
@e weave_section_footer_node_MT
@e weave_chapter_header_node_MT
@e weave_chapter_footer_node_MT
@e weave_verbatim_node_MT
@e weave_section_purpose_node_MT
@e weave_subheading_node_MT
@e weave_bar_node_MT
2020-04-25 10:33:39 +00:00
@e weave_linebreak_node_MT
@e weave_pagebreak_node_MT
@e weave_paragraph_heading_node_MT
@e weave_endnote_node_MT
2020-04-20 22:26:08 +00:00
@e weave_material_node_MT
@e weave_figure_node_MT
2020-04-24 23:28:39 +00:00
@e weave_audio_node_MT
@e weave_embed_node_MT
@e weave_pmac_node_MT
@e weave_vskip_node_MT
2020-04-20 22:26:08 +00:00
@e weave_chapter_node_MT
@e weave_section_node_MT
@e weave_code_line_node_MT
@e weave_function_usage_node_MT
@e weave_commentary_node_MT
2020-04-21 23:52:25 +00:00
@e weave_carousel_slide_node_MT
@e weave_toc_node_MT
@e weave_toc_line_node_MT
@e weave_chapter_title_page_node_MT
2020-04-20 22:26:08 +00:00
@e weave_defn_node_MT
@e weave_source_code_node_MT
@e weave_url_node_MT
@e weave_footnote_cue_node_MT
@e weave_begin_footnote_text_node_MT
@e weave_display_line_node_MT
2020-04-20 22:26:08 +00:00
@e weave_function_defn_node_MT
@e weave_item_node_MT
@e weave_grammar_index_node_MT
2020-04-20 22:26:08 +00:00
@e weave_inline_node_MT
@e weave_locale_node_MT
@e weave_maths_node_MT
2020-04-16 22:51:03 +00:00
@ And then expand the following macros, all defined in //Memory//.
2019-02-04 22:26:45 +00:00
=
ALLOCATE_IN_ARRAYS(source_line, 1000)
ALLOCATE_INDIVIDUALLY(asset_rule)
ALLOCATE_INDIVIDUALLY(breadcrumb_request)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(chapter)
2020-04-12 16:24:23 +00:00
ALLOCATE_INDIVIDUALLY(colony)
ALLOCATE_INDIVIDUALLY(colony_member)
2020-04-21 16:55:17 +00:00
ALLOCATE_INDIVIDUALLY(colour_scheme)
ALLOCATE_INDIVIDUALLY(colouring_language_block)
2020-04-04 06:51:07 +00:00
ALLOCATE_INDIVIDUALLY(colouring_rule)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(enumeration_set)
ALLOCATE_INDIVIDUALLY(footnote)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(hash_table_entry_usage)
ALLOCATE_INDIVIDUALLY(hash_table_entry)
ALLOCATE_INDIVIDUALLY(language_function)
ALLOCATE_INDIVIDUALLY(language_type)
2020-03-23 21:39:27 +00:00
ALLOCATE_INDIVIDUALLY(macro_tokens)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(macro_usage)
2020-03-23 21:39:27 +00:00
ALLOCATE_INDIVIDUALLY(macro)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(nonterminal_variable)
2020-03-23 21:39:27 +00:00
ALLOCATE_INDIVIDUALLY(para_macro)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(paragraph_tagging)
ALLOCATE_INDIVIDUALLY(paragraph)
ALLOCATE_INDIVIDUALLY(preform_nonterminal)
ALLOCATE_INDIVIDUALLY(programming_language)
2020-04-04 19:46:43 +00:00
ALLOCATE_INDIVIDUALLY(reserved_word)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(section)
ALLOCATE_INDIVIDUALLY(structure_element)
ALLOCATE_INDIVIDUALLY(tangle_target)
2020-03-23 21:39:27 +00:00
ALLOCATE_INDIVIDUALLY(tex_results)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(text_literal)
ALLOCATE_INDIVIDUALLY(theme_tag)
ALLOCATE_INDIVIDUALLY(weave_format)
ALLOCATE_INDIVIDUALLY(weave_pattern)
2020-04-10 20:29:28 +00:00
ALLOCATE_INDIVIDUALLY(weave_plugin)
2020-04-16 22:51:03 +00:00
ALLOCATE_INDIVIDUALLY(weave_order)
2019-02-04 22:26:45 +00:00
ALLOCATE_INDIVIDUALLY(web)
2020-03-23 21:39:27 +00:00
ALLOCATE_INDIVIDUALLY(writeme_asset)
ALLOCATE_INDIVIDUALLY(weave_document_node)
ALLOCATE_INDIVIDUALLY(weave_head_node)
ALLOCATE_INDIVIDUALLY(weave_body_node)
ALLOCATE_INDIVIDUALLY(weave_tail_node)
ALLOCATE_INDIVIDUALLY(weave_section_header_node)
ALLOCATE_INDIVIDUALLY(weave_section_footer_node)
ALLOCATE_INDIVIDUALLY(weave_chapter_header_node)
ALLOCATE_INDIVIDUALLY(weave_chapter_footer_node)
ALLOCATE_INDIVIDUALLY(weave_verbatim_node)
ALLOCATE_INDIVIDUALLY(weave_section_purpose_node)
ALLOCATE_INDIVIDUALLY(weave_subheading_node)
ALLOCATE_INDIVIDUALLY(weave_bar_node)
2020-04-25 10:33:39 +00:00
ALLOCATE_INDIVIDUALLY(weave_linebreak_node)
ALLOCATE_INDIVIDUALLY(weave_pagebreak_node)
ALLOCATE_INDIVIDUALLY(weave_paragraph_heading_node)
ALLOCATE_INDIVIDUALLY(weave_endnote_node)
2020-04-20 22:26:08 +00:00
ALLOCATE_INDIVIDUALLY(weave_material_node)
ALLOCATE_INDIVIDUALLY(weave_figure_node)
2020-04-24 23:28:39 +00:00
ALLOCATE_INDIVIDUALLY(weave_audio_node)
ALLOCATE_INDIVIDUALLY(weave_embed_node)
ALLOCATE_INDIVIDUALLY(weave_pmac_node)
ALLOCATE_INDIVIDUALLY(weave_vskip_node)
2020-04-20 22:26:08 +00:00
ALLOCATE_INDIVIDUALLY(weave_chapter_node)
ALLOCATE_INDIVIDUALLY(weave_section_node)
ALLOCATE_INDIVIDUALLY(weave_code_line_node)
ALLOCATE_INDIVIDUALLY(weave_function_usage_node)
ALLOCATE_INDIVIDUALLY(weave_commentary_node)
2020-04-21 23:52:25 +00:00
ALLOCATE_INDIVIDUALLY(weave_carousel_slide_node)
ALLOCATE_INDIVIDUALLY(weave_toc_node)
ALLOCATE_INDIVIDUALLY(weave_toc_line_node)
ALLOCATE_INDIVIDUALLY(weave_chapter_title_page_node)
2020-04-20 22:26:08 +00:00
ALLOCATE_INDIVIDUALLY(weave_defn_node)
ALLOCATE_INDIVIDUALLY(weave_source_code_node)
ALLOCATE_INDIVIDUALLY(weave_url_node)
ALLOCATE_INDIVIDUALLY(weave_footnote_cue_node)
ALLOCATE_INDIVIDUALLY(weave_begin_footnote_text_node)
ALLOCATE_INDIVIDUALLY(weave_display_line_node)
ALLOCATE_INDIVIDUALLY(weave_item_node)
ALLOCATE_INDIVIDUALLY(weave_grammar_index_node)
2020-04-20 22:26:08 +00:00
ALLOCATE_INDIVIDUALLY(weave_inline_node)
ALLOCATE_INDIVIDUALLY(weave_locale_node)
ALLOCATE_INDIVIDUALLY(weave_maths_node)
ALLOCATE_INDIVIDUALLY(weave_function_defn_node)