2021-05-14 16:12:46 +03:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > Kind Constructors< / title >
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< meta name = "viewport" content = "width=device-width initial-scale=1" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< / head >
< body class = "commentary-font" >
< nav role = "navigation" >
< h1 > < a href = "../index.html" >
< img src = "../docs-assets/Inform.png" height = 72" >
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
< / ul > < h2 > Compiler Webs< / h2 > < ul >
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../assertions-module/index.html" > assertions< / a > < / li >
< li > < a href = "../values-module/index.html" > values< / a > < / li >
< li > < a href = "../knowledge-module/index.html" > knowledge< / a > < / li >
< li > < a href = "../imperative-module/index.html" > imperative< / a > < / li >
< li > < a href = "index.html" > < span class = "selectedlink" > runtime< / span > < / a > < / li >
< li > < a href = "../if-module/index.html" > if< / a > < / li >
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
< / ul > < h2 > Services< / h2 > < ul >
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../calculus-module/index.html" > calculus< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
<!-- Weave of 'Kind Constructors' generated by Inweb -->
< div class = "breadcrumbs" >
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Inform7< / a > < / li > < li > < a href = "index.html" > runtime< / a > < / li > < li > < a href = "index.html#5" > Chapter 5: Provision Submodules< / a > < / li > < li > < b > Kind Constructors< / b > < / li > < / ul > < / div >
2021-05-30 16:52:19 +03:00
< p class = "purpose" > Each kind constructor has an Inter package of resources.< / p >
2021-05-14 16:12:46 +03:00
2021-05-30 16:42:29 +03:00
< ul class = "toc" > < li > < a href = "5-kc.html#SP1" > § 1. Inter identifiers< / a > < / li > < li > < a href = "5-kc.html#SP10" > § 10. Compilation< / a > < / li > < / ul > < hr class = "tocbar" >
2021-05-14 16:12:46 +03:00
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP1" class = "paragraph-anchor" > < / a > < b > § 1. Inter identifiers. < / b > < / p >
2021-05-14 16:12:46 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > kind_constructor_compilation_data< / span > < span class = "plain-syntax" > {< / span >
2021-06-15 01:29:45 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > xref_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > con_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > list_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc_package< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kind_GPR_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > needs_GPR< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > a GPR is actually required to be compiled< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > instance_GPR_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > first_instance_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > next_instance_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-23 13:34:11 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > inc_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dec_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > ranger_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > usage_package< / span > < span class = "plain-syntax" > ;< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > kind_constructor_compilation_data< / span > < span class = "plain-syntax" > ;< / span >
< span class = "reserved-syntax" > kind_constructor_compilation_data< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::new_compilation_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > kind_constructor_compilation_data< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > ;< / span >
2021-06-15 01:29:45 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > xref_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > list_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kind_GPR_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > needs_GPR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_GPR_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > first_instance_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > next_instance_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-23 13:34:11 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > inc_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > dec_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > ranger_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > usage_package< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > = -1;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kccd< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-30 16:42:29 +03:00
< span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::package< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / span > :< br / > < a href = "5-kc.html#SP2" > § 2< / a > , < a href = "5-kc.html#SP4" > § 4< / a > , < a href = "5-kc.html#SP10" > § 10< / a > < br / > Kind Declarations - < a href = "2-kd.html#SP6" > § 6< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > where_defined_in_source_text< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > kc_package< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP19" class = "function-link" > < span class = "function-syntax" > Hierarchy::local_package_to< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_HAP< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > where_defined_in_source_text< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > superkind_set_at< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > kc_package< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP19" class = "function-link" > < span class = "function-syntax" > Hierarchy::local_package_to< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_HAP< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > superkind_set_at< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > kc_package< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP20" class = "function-link" > < span class = "function-syntax" > Hierarchy::synoptic_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_HAP< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > KindConstructors::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_wording< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_NAME_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_identifier< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_NAME_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_identifier< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_NAME_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "(anonymous kind)"< / span > < span class = "plain-syntax" > );< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > where_defined_in_source_text< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_AT_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > where_defined_in_source_text< / span > < span class = "plain-syntax" > )));< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kc_package< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-17 01:58:16 +03:00
< span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::usage_package< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > usage_package< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > usage_package< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP20" class = "function-link" > < span class = "function-syntax" > Hierarchy::completion_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_USAGE_HAP< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > usage_package< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
2021-06-21 12:54:37 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::xref_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::xref_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < br / > Instances - < a href = "5-ins.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-06-15 01:29:45 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > xref_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > xref_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_XREF_SYMBOL_HL< / span > < span class = "plain-syntax" > , < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > xref_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-15 01:28:50 +03:00
< / pre >
2021-06-21 01:29:49 +03:00
< ul class = "endnotetexts" > < li > The structure kind_constructor_compilation_data is accessed in 5/ins, 7/cg, 7/cgl and here.< / li > < / ul >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP2" class = "paragraph-anchor" > < / a > < b > § 2. < / b > An identifier like < span class = "extract" > < span class = "extract-syntax" > WHATEVER_TY< / span > < / span > , then, begins life in a definition inside an
Neptune file; becomes attached to a constructor here; and finally winds up
back in Inter code, because we define it as the constant for the weak kind ID
of the kind which the constructor makes:
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::weak_ID_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::weak_ID_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < br / > Kind IDs - < a href = "5-ki.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP16" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_with_specific_translation< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > WEAK_ID_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "5-ki.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindIDs::identifier_for_weak_ID< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ), < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::UNKNOWN_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup4')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup4" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::UNKNOWN_iname< / span > < / span > :< br / > Kind IDs - < a href = "5-ki.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > CON_UNKNOWN< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > con_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::list_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup5')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup5" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::list_iname< / span > < / span > :< br / > List Literals - < a href = "4-ll.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > list_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::set_list_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup6')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup6" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::set_list_iname< / span > < / span > :< br / > List Literals - < a href = "4-ll.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > list_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-23 13:34:11 +03:00
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::first_instance_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup7')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup7" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::first_instance_iname< / span > < / span > :< br / > Instance Counting - < a href = "2-ic.html#SP8" > § 8< / a > , < a href = "2-ic.html#SP11" > § 11< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-23 13:34:11 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > first_instance_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > first_instance_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP15" class = "function-link" > < span class = "function-syntax" > Hierarchy::derive_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > FIRST_INSTANCE_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "2-kd.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > first_instance_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-23 13:34:11 +03:00
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::next_instance_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup8')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup8" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::next_instance_iname< / span > < / span > :< br / > Instance Counting - < a href = "2-ic.html#SP10_2" > § 10.2< / a > , < a href = "2-ic.html#SP11" > § 11< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-23 13:34:11 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > next_instance_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > next_instance_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP15" class = "function-link" > < span class = "function-syntax" > Hierarchy::derive_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > NEXT_INSTANCE_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "2-kd.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > next_instance_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-05-23 13:34:11 +03:00
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::instance_count_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup9')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup9" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::instance_count_iname< / span > < / span > :< br / > Instance Counting - < a href = "2-ic.html#SP10_2" > § 10.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-23 13:34:11 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_range_number< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = -1;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_1_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_2_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 3< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_3_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 4< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_4_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 5< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_5_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_6_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 7< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_7_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_8_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 9< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_9_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > COUNT_INSTANCE_10_HL< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > == -1)< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP15" class = "function-link" > < span class = "function-syntax" > Hierarchy::derive_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > COUNT_INSTANCE_HL< / span > < span class = "plain-syntax" > , < / span > < a href = "2-kd.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hl< / span > < span class = "plain-syntax" > , < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_count_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP3" class = "paragraph-anchor" > < / a > < b > § 3. < / b > Convenient storage for some names.
2021-05-14 16:12:46 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_kind_GPR_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup10')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup10" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_kind_GPR_iname< / span > < / span > :< br / > Kind GPRs - < a href = "7-kg.html#SP4" > § 4< / a > , < a href = "7-kg.html#SP5_1" > § 5.1< / a > < br / > Noun Filter Tokens - < a href = "7-nft.html#SP3_1" > § 3.1< / a > < br / > Parse Name Properties - < a href = "7-pnp.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kind_GPR_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kind_GPR_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > GPR_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > kind_GPR_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_exp_kind_GPR_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup11')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup11" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_exp_kind_GPR_iname< / span > < / span > :< br / > Command Grammar Tokens - < a href = "7-cgt.html#SP1_4_3" > § 1.4.3< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > GPR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > GPR_fn_identifier< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_explicit_I6_GPR< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOG< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "Looking for %u: %S\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > GPR_fn_identifier< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > GPR_fn_identifier< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > GPR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > GPR_fn_identifier< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > GPR< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP3" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_kind_GPR_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > GPR< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_instance_GPR_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup12')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup12" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_instance_GPR_iname< / span > < / span > :< br / > Kind GPRs - < a href = "7-kg.html#SP5_2" > § 5.2< / a > < br / > Parse Name Properties - < a href = "7-pnp.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_GPR_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_GPR_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > INSTANCE_GPR_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > instance_GPR_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP4" class = "paragraph-anchor" > < / a > < b > § 4. < / b > < / p >
2021-05-14 16:12:46 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-21 02:36:17 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup13')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup13" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > , < a href = "5-kc.html#SP10_8" > § 10.8< / a > < br / > Showme Command - < a href = "2-sc.html#SP6_1_1_1" > § 6.1.1.1< / a > < br / > Rulebooks - < a href = "5-rlb.html#SP15" > § 15< / a > < br / > Relations - < a href = "5-rlt.html#SP11_2" > § 11.2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "null kind has no printing routine"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::weaken< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_object< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > )< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_identifier< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_DASH_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_use_option< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_USE_OPTION_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_table< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_TABLE_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_rulebook_outcome< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_RULEBOOK_OUTCOME_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_response< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_RESPONSE_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_figure_name< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_FIGURE_NAME_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_sound_name< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_SOUND_NAME_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_external_file< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_EXTERNAL_FILE_NAME_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_scene< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_SCENE_HL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > CON_rule< / span > < span class = "plain-syntax" > ) ||< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > CON_rulebook< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > print_identifier< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_quasinumerical< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_time< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_real_number< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "DecimalNumber"< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRINT_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > actual_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-emt.html#SP11" class = "function-link" > < span class = "function-syntax" > Emit::iname_constant< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > actual_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "internal but unknown kind printing routine"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > external< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "internal but unpackaged kind printing routine"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > pr_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < button class = "popup" onclick = "togglePopup('usagePopup14')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup14" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / span > :< br / > < a href = "5-kc.html#SP2" > § 2< / a > , < a href = "5-kc.html#SP3" > § 3< / a > , < a href = "5-kc.html#SP10" > § 10< / a > < br / > Hierarchy - < a href = "2-hrr.html#SP10" > § 10< / a > < br / > Emit - < a href = "2-emt.html#SP7" > § 7< / a > < br / > Instance Counting - < a href = "2-ic.html#SP10_2" > § 10.2< / a > < br / > Short Names - < a href = "2-sn.html#SP1" > § 1< / a > < br / > List Literals - < a href = "4-ll.html#SP7" > § 7< / a > < br / > Property Permissions - < a href = "6-pp.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_inc_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup15')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup15" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_inc_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10_8_4" > § 10.8.4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "null kind has no inc routine"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > inc_iname< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > inc_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > inc_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > DECREMENT_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > inc_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_dec_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup16')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup16" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_dec_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10_8_4" > § 10.8.4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "null kind has no dec routine"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > dec_iname< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > dec_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > dec_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > INCREMENT_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > dec_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_ranger_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup17')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup17" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_ranger_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10_8_5" > § 10.8.5< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "null kind has no ranger fn"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > ranger_iname< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > ranger_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > ranger_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > RANGER_FN_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > ranger_iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_mkdef_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup18')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup18" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_mkdef_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > MKDEF_FN_HL< / span > < span class = "plain-syntax" > , < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_debug_print_fn_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup19')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup19" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_debug_print_fn_iname< / span > < / span > :< br / > Actions - < a href = "5-act2.html#SP9" > § 9< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > ;< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_identifier< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > ACTIONS_identifier< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > =< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > ACTIONS_identifier< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > =< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "DA_Name"< / span > < span class = "plain-syntax" > );< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > debug_print_fn_iname< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_explicit_I6_GPR_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup20')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup20" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_explicit_I6_GPR_iname< / span > < / span > :< br / > Noun Filter Tokens - < a href = "7-nft.html#SP3_1" > § 3.1< / a > < br / > Parse Name Properties - < a href = "7-pnp.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "RTKindConstructors::get_explicit_I6_GPR on null kind"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_GPR_identifier< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_GPR_identifier< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_distinguisher_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup21')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup21" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_distinguisher_iname< / span > < / span > :< br / > Parse Name Properties - < a href = "7-pnp.html#SP8" > § 8< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_distinguisher< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_comparison_fn_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup22')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup22" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_comparison_fn_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (),< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > KindConstructors::get_comparison_fn_identifier< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_support_fn_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup23')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup23" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_support_fn_iname< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%S_Support"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_identifier< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" class = "paragraph-anchor" > < / a > < b > § 5. < / b > Moving on to understanding: some kinds can be used as tokens in Understand
2021-05-14 16:12:46 +03:00
sentences, others can't. Thus "[time]" is a valid Understand token, but
"[stored action]" is not.
< / p >
< p class = "commentary" > Some kinds provide have a GPR ("general parsing routine", an I6 piece of
jargon) defined in some Inter kit: if so, this returns the GPR's name; if
not, it returns < span class = "extract" > < span class = "extract-syntax" > NULL< / span > < / span > .
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_explicit_I6_GPR< / span > < button class = "popup" onclick = "togglePopup('usagePopup24')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup24" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_explicit_I6_GPR< / span > < / span > :< br / > < a href = "5-kc.html#SP3" > § 3< / a > , < a href = "5-kc.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "RTKindConstructors::get_explicit_I6_GPR on null kind"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > explicit_GPR_identifier< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6" class = "paragraph-anchor" > < / a > < b > § 6. < / b > Can the kind have a GPR of any kind in the final code?
2021-05-14 16:12:46 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::offers_I6_GPR< / span > < button class = "popup" onclick = "togglePopup('usagePopup25')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup25" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::offers_I6_GPR< / span > < / span > :< br / > < a href = "5-kc.html#SP7" > § 7< / a > , < a href = "5-kc.html#SP10" > § 10< / a > < br / > Parse Name Properties - < a href = "7-pnp.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > KindConstructors::offers_I6_GPR< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-15 01:28:50 +03:00
< p class = "commentary firstcommentary" > < a id = "SP7" class = "paragraph-anchor" > < / a > < b > § 7. < / b > Request that a GPR be compiled for this kind; the return value tell us whether
2021-05-14 16:12:46 +03:00
this will be allowed or not.
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::request_I6_GPR< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP6" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::offers_I6_GPR< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > can't oblige< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > needs_GPR< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::new< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "GPR for kind %u"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > needs_GPR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Sequence::queue< / span > < span class = "plain-syntax" > (& < / span > < a href = "7-kg.html#SP5" class = "function-link" > < span class = "function-syntax" > KindGPRs::enumeration_agent< / span > < / a > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > STORE_POINTER_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_quasinumerical< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > needs_GPR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Sequence::queue< / span > < span class = "plain-syntax" > (& < / span > < a href = "7-kg.html#SP4" class = "function-link" > < span class = "function-syntax" > KindGPRs::quasinumerical_agent< / span > < / a > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > STORE_POINTER_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > desc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-30 16:42:29 +03:00
< p class = "commentary firstcommentary" > < a id = "SP8" class = "paragraph-anchor" > < / a > < b > § 8. < / b > A recognition-only GPR is used for matching specific data in the course of
2021-05-14 16:12:46 +03:00
parsing names of objects, but not as a grammar token in its own right.
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_recognition_only_GPR< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > recognition_routine< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > RTKindConstructors::get_recognition_only_GPR_as_iname< / span > < button class = "popup" onclick = "togglePopup('usagePopup26')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup26" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_recognition_only_GPR_as_iname< / span > < / span > :< br / > Parse Name Properties - < a href = "7-pnp.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP8" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_recognition_only_GPR< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::find_by_name< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > (), < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-30 16:42:29 +03:00
< p class = "commentary firstcommentary" > < a id = "SP9" class = "paragraph-anchor" > < / a > < b > § 9. < / b > The following is used only when the kind has named instances.
2021-05-14 16:12:46 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer< / span > < button class = "popup" onclick = "togglePopup('usagePopup27')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup27" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > , < a href = "5-kc.html#SP10_8_5" > § 10.8.5< / a > < br / > List Literals - < a href = "4-ll.html#SP6_1" > § 6.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP9" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer_kc< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer_kc< / span > < button class = "popup" onclick = "togglePopup('usagePopup28')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup28" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer_kc< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-05-14 16:12:46 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_activity< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > activity< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_equation< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > equation< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_rule< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > booking< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_rulebook< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > rulebook< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_table< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > table< / span > < span class = "plain-syntax" > ) + < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_use_option< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > use_option< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_response< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NUMBER_CREATED< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > response_message< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next_free_value< / span > < span class = "plain-syntax" > - < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-30 16:42:29 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10" class = "paragraph-anchor" > < / a > < b > § 10. Compilation. < / b > < / p >
2021-05-15 01:28:50 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )))< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ))) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::compile< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP10_6" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::assign_declaration_sequence_numbers< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_KIND_VARIABLE< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_INTERMEDIATE< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
2021-06-15 01:29:45 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-emt.html#SP9" class = "function-link" > < span class = "function-syntax" > Emit::numeric_constant< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::xref_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 561< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-emt.html#SP9" class = "function-link" > < span class = "function-syntax" > Emit::numeric_constant< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP2" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::weak_ID_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP2" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::weak_ID_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%+W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > KindConstructors::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_PNAME_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > )< / span >
2021-06-16 01:35:45 +03:00
2021-06-27 16:56:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inference< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > inf< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > made_exp< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > KNOWLEDGE_LOOP< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inf< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > KindSubjects::from_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > property_inf< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PropertyInferences::get_property< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inf< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > P_specification< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > spec< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > PropertyInferences::get_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inf< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > )< / span >
2021-07-09 00:56:01 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > IndexUtilities::dequote< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Lexer::word_raw_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > spec< / span > < span class = "plain-syntax" > ))));< / span >
2021-06-27 16:56:29 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_SPECIFICATION_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > made_exp< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > made_exp< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_specification_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_SPECIFICATION_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > exp< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_IS_BASE_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::is_arithmetic< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_IS_QUASINUMERICAL_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_IS_OBJECT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_IS_OBJECT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > super_K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Latticework::super< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_IS_SKOO_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SK< / span > < span class = "plain-syntax" > )< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SK< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%u"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > super_K< / span > < span class = "plain-syntax" > );< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > INDEX_SUPERKIND_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > SK< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SK< / span > < span class = "plain-syntax" > )< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > SUPERKIND_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP2" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::weak_ID_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > super_K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_IS_SKOO_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > temp< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > temp< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "kind_%N"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ));< / span >
2021-07-09 00:56:01 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IndexUtilities::DocReferences::validate_if_possible< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > temp< / span > < span class = "plain-syntax" > ))< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Kinds::Behaviour::set_documentation_reference< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > temp< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > temp< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-06-12 15:08:47 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > DR< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_documentation_reference< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DR< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_DOCUMENTATION_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DR< / span > < span class = "plain-syntax" > );< / span >
2021-06-16 01:35:45 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::is_proper_constructor< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > a< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > KindConstructors::arity< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > a< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::variance< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) ==< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > KindConstructors::variance< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > a< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > a< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > ", "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::variance< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::get_construct< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "covariant"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "contravariant"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > a< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > " in %c"< / span > < span class = "plain-syntax" > , < / span > < span class = "character-syntax" > 'K'< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_VARIANCE_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CONS< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-06-14 00:29:31 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_PRIORITY_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_index_priority< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_CLASS_MD_HL< / span > < span class = "plain-syntax" > , < / span > < a href = "2-kd.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::is_definite< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_IS_DEF_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_IS_DEF_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-16 01:31:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::uses_block_values< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_HAS_BV_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_HAS_BV_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > weak_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-ki.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindIDs::weak_iname_of_constructor< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > weak_iname< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "no iname for weak ID"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_WEAK_ID_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > weak_iname< / span > < span class = "plain-syntax" > );< / span >
2021-05-16 01:31:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::uses_block_values< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sf_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_support_fn_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sf_iname< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_SUPPORT_FN_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sf_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "kind with block values but no support function"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & < / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::is_definite< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::uses_signed_comparisons< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cf_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_comparison_fn_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cf_iname< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_CMP_FN_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > cf_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "kind with no comparison function"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::definite< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_mkdef_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_MKDEF_FN_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_PRINT_FN_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & < / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_DSIZE_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < a href = "5-kc.html#SP9" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer_kc< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::definite< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_mkdef_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > mkdef_iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > sk_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "sk"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-16 01:31:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindConstructors::uses_block_values< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > )) {< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > BLKVALUECREATE_HL< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::call< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sk_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP10" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::is_subkind_of_object< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ))< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_false< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
2021-05-16 01:31:42 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-dv.html#SP1" class = "function-link" > < span class = "function-syntax" > DefaultValues::val< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ),< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > EMPTY_WORDING< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "default value"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-16 01:31:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) || (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "ICOUNT_"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Kinds::Textual::write< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::truncate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 31< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_THROUGH_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::put< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Characters::toupper< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > )));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Characters::isalnum< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > )) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Str::put< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > , < / span > < span class = "character-syntax" > '_'< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP16" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_with_specific_translation< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > ICOUNT_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > InterSymbolsTables::render_identifier_unique< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Produce::main_scope< / span > < span class = "plain-syntax" > (< / span > < a href = "2-emt.html#SP1" class = "function-link" > < span class = "function-syntax" > Emit::tree< / span > < / a > < span class = "plain-syntax" > ()), < / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > ), < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP17" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_available< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > ICN< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-emt.html#SP9" class = "function-link" > < span class = "function-syntax" > Emit::numeric_constant< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > , (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Instances::count< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > }< / span >
2021-05-17 01:58:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_IS_OBJECT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_IS_OBJECT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "2-sc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTShowmeCommand::needed_for_kind< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP12" class = "function-link" > < span class = "function-syntax" > Hierarchy::make_iname_in< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > SHOWME_FN_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-sc.html#SP2" class = "function-link" > < span class = "function-syntax" > RTShowmeCommand::compile_kind_showme_fn< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::kind_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ),< / span >
< span class = "plain-syntax" > < / span > < span class = "constant-syntax" > KIND_SHOWME_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > iname< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-05-19 00:20:35 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_players_holdall< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > RUCKSACK_CLASS_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile data support functions< / span > < span class = "named-paragraph-number" > 10.8< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Produce::annotate_i< / span > < span class = "plain-syntax" > (< / span > < a href = "2-kd.html#SP5" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > DECLARATION_ORDER_IANN< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > );< / span >
2021-06-13 20:04:57 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_quasinumerical< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) & & (< / span > < span class = "identifier-syntax" > Kinds::is_intermediate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > )< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Index the minimum positive value for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-06-13 20:04:57 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > MIN_VAL_INDEX_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Index the maximum positive value for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-06-13 20:04:57 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > MAX_VAL_INDEX_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Index the dimensions for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.4< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-06-13 20:04:57 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > DIMENSIONS_INDEX_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < a href = "5-kc.html#SP9" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::indexed_grey_if_empty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_SHADED_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Deferrals::has_finite_domain< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_FINITE_DOMAIN_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindSubjects::has_properties< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_HAS_PROPERTIES_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "5-kc.html#SP6" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::offers_I6_GPR< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_UNDERSTANDABLE_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Instances::count< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INSTANCE_COUNT_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Instances::count< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > found< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > inst< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_INSTANCES< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > inst< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-06-21 12:54:37 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Instances::write_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inst< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > found< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > found< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_index_default_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq_wide_string< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< 0-in-literal-pattern> "< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Index the constant 0 but use the default literal pattern< / span > < span class = "named-paragraph-number" > 10.1< / span > < / a > < / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq_wide_string< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "string-syntax" > "< first-constant> "< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "--"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%S"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_DEFAULT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > )< / span >
2021-06-14 02:18:41 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SN< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP11" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::index_name< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SN< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SN< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_SINGULAR_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > SN< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SN< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP11" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::index_name< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_PLURAL_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > )< / span >
2021-06-16 21:59:07 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_BASE_KINDS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_kind_of_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > )) & & (< / span > < span class = "identifier-syntax" > Kinds::conforms_to< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > & & (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_pointer_value< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > & & (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_stored_value< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > =< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP21" class = "function-link" > < span class = "function-syntax" > Hierarchy::package_within< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_CONFORMANCE_HAP< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > CONFORMED_TO_MD_HL< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::xref_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K2< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LF< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_all< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LF< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INDEX_NOTATION_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > LF< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LF< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-06-27 16:56:29 +03:00
< span class = "plain-syntax" > < / span > < a href = "6-inf.html#SP1" class = "function-link" > < span class = "function-syntax" > RTInferences::index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_BRIEF_INFERENCES_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > KindSubjects::from_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "6-inf.html#SP1" class = "function-link" > < span class = "function-syntax" > RTInferences::index< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > KIND_INFERENCES_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > KindSubjects::from_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > }< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_5" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile multiplication rules for the index< / span > < span class = "named-paragraph-number" > 10.5< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_1" class = "paragraph-anchor" > < / a > < b > § 10.1. < / b > For every quasinumeric kind the default value is 0, but we don't want to
index just "0" because that means 0-as-a-number: we want it to come out
as "0 kg", "0 hectares", or whatever is appropriate.
< / p >
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Index the constant 0 but use the default literal pattern< / span > < span class = "named-paragraph-number" > 10.1< / span > < / span > < span class = "comment-syntax" > =< / span >
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IDV< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "--"< / span > < span class = "plain-syntax" > );< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_2" class = "paragraph-anchor" > < / a > < b > § 10.2. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Index the minimum positive value for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-06-13 20:04:57 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "1"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_index_minimum_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%S"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_3" class = "paragraph-anchor" > < / a > < b > § 10.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Index the maximum positive value for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-06-13 20:04:57 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > TargetVMs::is_16_bit< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::vm< / span > < span class = "plain-syntax" > ())) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "32767"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "2147483647"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_index_maximum_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > ) > < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%S"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > p< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > TargetVMs::is_16_bit< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Task::vm< / span > < span class = "plain-syntax" > ()))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 32767< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ), < / span > < span class = "constant-syntax" > 2147483647< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_4" class = "paragraph-anchor" > < / a > < b > § 10.4. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Index the dimensions for a quasinumerical kind< / span > < span class = "named-paragraph-number" > 10.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-06-13 20:04:57 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Dimensions::dimensionless< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > unit_sequence< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > deriv< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_dimensional_form< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Kinds::Dimensions::index_unit_sequence< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > deriv< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_5" class = "paragraph-anchor" > < / a > < b > § 10.5. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile multiplication rules for the index< / span > < span class = "named-paragraph-number" > 10.5< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-06-13 20:04:57 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > L< / span > < span class = "plain-syntax" > , *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > , *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_MULTIPLICATIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > package_request< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > = < / span > < a href = "2-hrr.html#SP20" class = "function-link" > < span class = "function-syntax" > Hierarchy::completion_package< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > MULTIPLICATION_RULE_HAP< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata_from_number< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > SET_AT_MD_HL< / span > < span class = "plain-syntax" > , (< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%u"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > LEFT_OPERAND_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%u"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > RIGHT_OPERAND_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%u"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > RESULT_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_benchmark_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > LEFT_OPERAND_BM_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_benchmark_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > RIGHT_OPERAND_BM_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::clear< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::index_benchmark_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-hrr.html#SP23" class = "function-link" > < span class = "function-syntax" > Hierarchy::apply_metadata< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pack< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > RESULT_BM_MD_HL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
2021-06-14 02:18:41 +03:00
< p class = "commentary firstcommentary" > < a id = "SP11" class = "paragraph-anchor" > < / a > < b > § 11. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::index_name< / span > < button class = "popup" onclick = "togglePopup('usagePopup29')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup29" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::index_name< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > plural< / span > < span class = "plain-syntax" > ) {< / span >
2021-06-14 02:18:41 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > plural< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::is_proper_constructor< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP11_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Index the constructor text< / span > < span class = "named-paragraph-number" > 11.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP11_1" class = "paragraph-anchor" > < / a > < b > § 11.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Index the constructor text< / span > < span class = "named-paragraph-number" > 11.1< / span > < / span > < span class = "comment-syntax" > =< / span >
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Wordings::length< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Wordings::first_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > tinted< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > first_stroke< / span > < span class = "plain-syntax" > = -1, < / span > < span class = "identifier-syntax" > last_stroke< / span > < span class = "plain-syntax" > = -1;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > STROKE_V< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > first_stroke< / span > < span class = "plain-syntax" > == -1) < / span > < span class = "identifier-syntax" > first_stroke< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > last_stroke< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > to< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > length< / span > < span class = "plain-syntax" > -1;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > last_stroke< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > last_stroke< / span > < span class = "plain-syntax" > +1; < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > tinted< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > tinted< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > HTML::begin_colour< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "808080"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < =< / span > < span class = "identifier-syntax" > to< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > untinted< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > first_stroke< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ++)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > j< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > untinted< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > untinted< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > HTML::end_colour< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > > < / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > CAPITAL_K_V< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "K"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > CAPITAL_L_V< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "L"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%V"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Lexer::word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > w1< / span > < span class = "plain-syntax" > +< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > untinted< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > HTML::begin_colour< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "808080"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > tinted< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > HTML::end_colour< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > );< / span >
< / pre >
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP11" > § 11< / a > .< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_6" class = "paragraph-anchor" > < / a > < b > § 10.6. < / b > < / p >
2021-05-24 01:12:40 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_sequence_counter< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-06-15 01:29:45 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::assign_declaration_sequence_numbers< / span > < button class = "popup" onclick = "togglePopup('usagePopup30')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup30" > Usage of < span class = "code-font" > < span class = "function-syntax" > RTKindConstructors::assign_declaration_sequence_numbers< / span > < / span > :< br / > < a href = "5-kc.html#SP10" > § 10< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP10_6" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::assign_dsn_r< / span > < / a > < span class = "plain-syntax" > (& < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > KindSubjects::from_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_object< / span > < span class = "plain-syntax" > ));< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_KIND_VARIABLE< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_INTERMEDIATE< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < a href = "2-kd.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::base_represented_in_Inter< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > KindSubjects::has_properties< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::assign_dsn_r< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > within< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > KindSubjects::to_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > within< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > construct< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > compilation_data< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > declaration_sequence_number< / span > < span class = "plain-syntax" > = (*< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inference_subject< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > InferenceSubjects::narrowest_broader_subject< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > within< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > InferenceSubjects::is_a_kind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > )))< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-kc.html#SP10_6" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::assign_dsn_r< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > subj< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_7" class = "paragraph-anchor" > < / a > < b > § 10.7. < / b > < / p >
2021-05-24 01:12:40 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > RTKindConstructors::compile_permissions< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > kind_constructor< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_KIND_VARIABLE< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > CON_INTERMEDIATE< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > kind< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::base_construction< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > kc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < a href = "2-kd.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindDeclarations::base_represented_in_Inter< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < a href = "6-pp.html#SP2" class = "function-link" > < span class = "function-syntax" > RTPropertyPermissions::emit_kind_permissions< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "6-pv.html#SP1" class = "function-link" > < span class = "function-syntax" > RTPropertyValues::compile_values_for_kind< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_8" class = "paragraph-anchor" > < / a > < b > § 10.8. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile data support functions< / span > < span class = "named-paragraph-number" > 10.8< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_3" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile I6 printing routine for an enumerated kind< / span > < span class = "named-paragraph-number" > 10.8.3< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_4" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile the A and B routines for an enumerated kind< / span > < span class = "named-paragraph-number" > 10.8.4< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_5" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile random-ranger routine for this kind< / span > < span class = "named-paragraph-number" > 10.8.5< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_built_in< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_subkind_of_object< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) & & < / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_an_enumeration< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_use_option< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::call< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_USE_OPTION_HL< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_table< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::call< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_TABLE_HL< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_response< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::call< / span > < / a > < span class = "plain-syntax" > (< / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_RESPONSE_HL< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_quasinumerical< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile I6 printing routine for a unit kind< / span > < span class = "named-paragraph-number" > 10.8.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_5" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile random-ranger routine for this kind< / span > < span class = "named-paragraph-number" > 10.8.5< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Compile I6 printing routine for a vacant but named kind< / span > < span class = "named-paragraph-number" > 10.8.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-05-30 16:42:29 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10" > § 10< / a > .< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary firstcommentary" > < a id = "SP10_8_1" class = "paragraph-anchor" > < / a > < b > § 10.8.1. < / b > A slightly bogus case first. If the source text declares a kind but never
2021-05-15 01:28:50 +03:00
gives any enumerated values or literal patterns, then such values will never
appear at run-time; but we need the printing routine to exist to avoid
compilation errors.
< / p >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile I6 printing routine for a vacant but named kind< / span > < span class = "named-paragraph-number" > 10.8.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "weak kind ID: %n\n"< / span > < span class = "plain-syntax" > , < / span > < a href = "5-ki.html#SP1" class = "function-link" > < span class = "function-syntax" > RTKindIDs::weak_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP6" class = "function-link" > < span class = "function-syntax" > EmitCode::comment< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C< / span > < span class = "plain-syntax" > )< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8" > § 10.8< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_2" class = "paragraph-anchor" > < / a > < b > § 10.8.2. < / b > A unit is printed back with its earliest-defined literal pattern used as
2021-05-15 01:28:50 +03:00
notation. If it had no literal patterns, it would come out as decimal numbers,
but at present this can't happen.
< / p >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile I6 printing routine for a unit kind< / span > < span class = "named-paragraph-number" > 10.8.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "5-lp.html#SP5" class = "function-link" > < span class = "function-syntax" > RTLiteralPatterns::printing_routine< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LiteralPatterns::list_of_literal_forms< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8" > § 10.8< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_3" class = "paragraph-anchor" > < / a > < b > § 10.8.3. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile I6 printing routine for an enumerated kind< / span > < span class = "named-paragraph-number" > 10.8.3< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > printing_rule_name< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > SWITCH_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > value_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_INSTANCES< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CASE_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < a href = "5-ins.html#SP1" class = "function-link" > < span class = "function-syntax" > RTInstances::value_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NW< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Instances::get_name_in_play< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_THROUGH_WORDING< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NW< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TranscodeText::from_wide_string< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Lexer::word_raw_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > CT_RAW< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > k< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > Wordings::last_wn< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NW< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > " "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_text< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > CT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > }< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DEFAULT_BIP< / span > < span class = "plain-syntax" > ); < / span > < span class = "comment-syntax" > this default case should never be needed, unless the user has blundered at the I6 level:< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PRINT_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Kinds::Behaviour::get_name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "< illegal "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Wordings::nonempty< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%W"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "value"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "> "< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_text< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8" > § 10.8< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_4" class = "paragraph-anchor" > < / a > < b > § 10.8.4. < / b > The suite of standard routines provided for enumerative types is a little
2021-05-15 01:28:50 +03:00
like the one in Ada (< span class = "extract" > < span class = "extract-syntax" > T'Succ< / span > < / span > , < span class = "extract" > < span class = "extract-syntax" > T'Pred< / span > < / span > , and so on).
< / p >
< p class = "commentary" > If the type is called, say, < span class = "extract" > < span class = "extract-syntax" > T1_colour< / span > < / span > , then we have:
< / p >
< ul class = "items" > < li > (a) < span class = "extract" > < span class = "extract-syntax" > A_T1_colour(v)< / span > < / span > advances to the next valid value for the type,
wrapping around to the first from the last;
< / li > < li > (b) < span class = "extract" > < span class = "extract-syntax" > B_T1_colour(v)< / span > < / span > goes back to the previous valid value for the type,
wrapping around to the last from the first, so that it is the inverse function
to < span class = "extract" > < span class = "extract-syntax" > A_T1_colour(v)< / span > < / span > .
< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile the A and B routines for an enumerated kind< / span > < span class = "named-paragraph-number" > 10.8.4< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > instance< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_INSTANCES< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname_i< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_inc_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname_i< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_4_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Implement the A routine< / span > < span class = "named-paragraph-number" > 10.8.4.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname_d< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_dec_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname_d< / span > < span class = "plain-syntax" > );< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_4_2" class = "named-paragraph-link" > < span class = "named-paragraph" > Implement the B routine< / span > < span class = "named-paragraph-number" > 10.8.4.2< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8" > § 10.8< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_4_1" class = "paragraph-anchor" > < / a > < b > § 10.8.4.1. < / b > There should be a blue historical plaque on the wall here: this was the
2021-05-15 01:28:50 +03:00
first function ever implemented by emitting Inter code, on 12 November 2017.
< / p >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Implement the A routine< / span > < span class = "named-paragraph-number" > 10.8.4.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > local_variable< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_parameter< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "x"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LocalVariables::set_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::declare< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > < = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP9" class = "function-link" > < span class = "function-syntax" > EmitCode::cast< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MODULO_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP9" class = "function-link" > < span class = "function-syntax" > EmitCode::cast< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > (1);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8_4" > § 10.8.4< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_4_2" class = "paragraph-anchor" > < / a > < b > § 10.8.4.2. < / b > And this was the second, a few minutes later.
2021-05-15 01:28:50 +03:00
< / p >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Implement the B routine< / span > < span class = "named-paragraph-number" > 10.8.4.2< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > local_variable< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_parameter< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "x"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LocalVariables::set_kind< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::declare< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lv_x< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > < = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP9" class = "function-link" > < span class = "function-syntax" > EmitCode::cast< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MODULO_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > > < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ) {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP9" class = "function-link" > < span class = "function-syntax" > EmitCode::cast< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > -2);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP9" class = "function-link" > < span class = "function-syntax" > EmitCode::cast< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > K_number< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > x< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > instance_count< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > (1);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8_4" > § 10.8.4< / a > .< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_5" class = "paragraph-anchor" > < / a > < b > § 10.8.5. < / b > And here we add:
2021-05-15 01:28:50 +03:00
< / p >
< ul class = "items" > < li > (a) < span class = "extract" > < span class = "extract-syntax" > R_T1_colour()< / span > < / span > returns a uniformly random choice of the valid
values of the given type. (For a unit, this will be a uniformly random positive
value, which will probably not be useful.)
< / li > < li > (b) < span class = "extract" > < span class = "extract-syntax" > R_T1_colour(a, b)< / span > < / span > returns a uniformly random choice in between < span class = "extract" > < span class = "extract-syntax" > a< / span > < / span >
and < span class = "extract" > < span class = "extract-syntax" > b< / span > < / span > inclusive.
< / li > < / ul >
2021-06-14 01:07:40 +03:00
< p class = "commentary" > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Compile random-ranger routine for this kind< / span > < span class = "named-paragraph-number" > 10.8.5< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_name< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > iname_r< / span > < span class = "plain-syntax" > = < / span > < a href = "5-kc.html#SP4" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_ranger_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > packaging_state< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Functions::begin< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > iname_r< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "a"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LocalVariables::new_other_as_symbol< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "b"< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IF_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > AND_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EQ_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > (0);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EQ_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > (0);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RANDOM_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Kinds::Behaviour::is_quasinumerical< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > MAX_POSITIVE_NUMBER_HL< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
2021-05-30 16:42:29 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > ) < / span > < a href = "5-kc.html#SP9" class = "function-link" > < span class = "function-syntax" > RTKindConstructors::get_highest_valid_value_as_integer< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ));< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IF_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > EQ_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > smaller< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , *< / span > < span class = "identifier-syntax" > larger< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > IF_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > GT_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP5" class = "function-link" > < span class = "function-syntax" > EmitCode::code< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > smaller< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > larger< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > ;< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_5_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Formula for range< / span > < span class = "named-paragraph-number" > 10.8.5.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RETURN_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > smaller< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > a_s< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > larger< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > b_s< / span > < span class = "plain-syntax" > ;< / span >
2021-06-14 01:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "named-paragraph-container code-font" > < a href = "5-kc.html#SP10_8_5_1" class = "named-paragraph-link" > < span class = "named-paragraph" > Formula for range< / span > < span class = "named-paragraph-number" > 10.8.5.1< / span > < / a > < / span > < span class = "plain-syntax" > ;< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Functions::end< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > save< / span > < span class = "plain-syntax" > );< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8" > § 10.8< / a > (twice).< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP10_8_5_1" class = "paragraph-anchor" > < / a > < b > § 10.8.5.1. < / b > < span class = "named-paragraph-container code-font" > < span class = "named-paragraph-defn" > Formula for range< / span > < span class = "named-paragraph-number" > 10.8.5.1< / span > < / span > < span class = "comment-syntax" > =< / span >
2021-05-15 01:28:50 +03:00
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > smaller< / span > < span class = "plain-syntax" > );< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MODULO_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > RANDOM_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_iname< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < a href = "2-hrr.html#SP11" class = "function-link" > < span class = "function-syntax" > Hierarchy::find< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > MAX_POSITIVE_NUMBER_HL< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PLUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
2021-05-24 01:12:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP13" class = "function-link" > < span class = "function-syntax" > EmitCode::inv< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MINUS_BIP< / span > < span class = "plain-syntax" > );< / span >
2021-05-15 01:28:50 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::down< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > larger< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_symbol< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K_value< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > smaller< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP7" class = "function-link" > < span class = "function-syntax" > EmitCode::val_number< / span > < / a > < span class = "plain-syntax" > (1);< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < a href = "2-ec.html#SP3" class = "function-link" > < span class = "function-syntax" > EmitCode::up< / span > < / a > < span class = "plain-syntax" > ();< / span >
< / pre >
2021-06-14 01:07:40 +03:00
< ul class = "endnotetexts" > < li > This code is used in < a href = "5-kc.html#SP10_8_5" > § 10.8.5< / a > (twice).< / li > < / ul >
2021-05-14 16:12:46 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
2021-05-25 14:14:32 +03:00
< ul class = "progressbar" > < li class = "progressprev" > < a href = "5-lp.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "P-wtmd.html" > P< / a > < / li > < li class = "progresschapter" > < a href = "1-rm.html" > 1< / a > < / li > < li class = "progresschapter" > < a href = "2-hrr.html" > 2< / a > < / li > < li class = "progresschapter" > < a href = "3-gm.html" > 3< / a > < / li > < li class = "progresschapter" > < a href = "4-enc.html" > 4< / a > < / li > < li class = "progresscurrentchapter" > 5< / li > < li class = "progresssection" > < a href = "5-act.html" > act< / a > < / li > < li class = "progresssection" > < a href = "5-adj.html" > adj< / a > < / li > < li class = "progresssection" > < a href = "5-chr.html" > chr< / a > < / li > < li class = "progresssection" > < a href = "5-cnj.html" > cnj< / a > < / li > < li class = "progresssection" > < a href = "5-eqt.html" > eqt< / a > < / li > < li class = "progresssection" > < a href = "5-ins.html" > ins< / a > < / li > < li class = "progresssection" > < a href = "5-bi.html" > bi< / a > < / li > < li class = "progresssection" > < a href = "5-di.html" > di< / a > < / li > < li class = "progresssection" > < a href = "5-ri.html" > ri< / a > < / li > < li class = "progresssection" > < a href = "5-si.html" > si< / a > < / li > < li class = "progresssection" > < a href = "5-mlt.html" > mlt< / a > < / li > < li class = "progresssection" > < a href = "5-tbl.html" > tbl< / a > < / li > < li class = "progresssection" > < a href = "5-tc.html" > tc< / a > < / li > < li class = "progresssection" > < a href = "5-rls.html" > rls< / a > < / li > < li class = "progresssection" > < a href = "5-rlb.html" > rlb< / a > < / li > < li class = "progresssection" > < a href = "5-vrb.html" > vrb< / a > < / li > < li class = "progresssection" > < a href = "5-prp.html" > prp< / a > < / li > < li class = "progresssection" > < a href = "5-rlt.html" > rlt< / a > < / li > < li class = "progresssection" > < a href = "5-lp.html" > lp< / a > < / li > < li class = "progresscurrent" > kc< / li > < li class = "progresssection" > < a href = "5-ki.html" > ki< / a > < / li > < li class = "progresssection" > < a href = "5-act2.html" > act2< / a > < / li > < li class = "progresssection" > < a href = "5-nap.html" > nap< / a > < / li > < li class = "progresssection" > < a href = "5-ts.html" > ts< / a > < / li > < li class = "progresschapter" > < a href = "6-bd.html" > 6< / a > < / li > < li class = "progresschapter" > < a href = "7-cg.html" > 7< / a > < / li > < li class = "progressnext" > < a href = "5-ki.html" > ❯ < / a > < / li > < / ul > < / div >
2021-05-14 16:12:46 +03:00
< / nav > <!-- End of weave -->
< / main >
< / body >
< / html >