2019-03-17 14:40:57 +02:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
2019-08-24 13:21:48 +03:00
< title > 27/cm< / title >
2020-03-19 02:11:25 +02:00
< meta name = "viewport" content = "width=device-width initial-scale=1" >
2019-03-17 14:40:57 +02:00
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
2020-03-19 02:11:25 +02:00
< link href = "../inweb.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2019-03-17 14:40:57 +02:00
< / head >
< body >
2020-03-19 02:11:25 +02:00
< nav role = "navigation" >
< h1 > < a href = "../webs.html" > Sources< / a > < / h1 >
< ul >
2020-03-28 21:42:53 +02:00
< li > < a href = "../compiler.html" > < b > compiler tools< / b > < / a > < / li >
2020-03-19 02:11:25 +02:00
< 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 = "../inbuild-module/index.html" > inbuild< / a > < / li >
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
< / ul >
< h2 > Inform7 Modules< / h2 >
< ul >
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / 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 = "../inter-module/index.html" > inter< / a > < / li >
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
< / ul >
< h2 > Foundation< / h2 >
< ul >
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
2019-03-17 14:40:57 +02:00
<!-- Weave of '27/ei' generated by 7 -->
2020-03-22 12:50:19 +02:00
< ul class = "crumbs" > < li > < a href = "../webs.html" > Source< / a > < / li > < li > < a href = "../compiler.html" > Compiler Modules< / a > < / li > < li > < a href = "index.html" > core< / a > < / li > < li > < a href = "index.html#27" > Chapter 27: Bridge to Inter Module< / a > < / li > < li > < b > Emitting Inter< / b > < / li > < / ul > < p class = "inwebparagraph" > < a id = "SP1" > < / a > < b > § 1. Definitions. < / b > < / p >
2019-03-17 14:40:57 +02:00
< p class = "inwebparagraph" > < a id = "SP2" > < / a > < b > § 2. < / b > < / p >
< pre class = "display" >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > unchecked_function_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > string_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_tree< / span > < span class = "plain" > *< / span > < span class = "identifier" > I7_generation_tree< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_tree< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > I7_generation_tree< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::begin< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-08-28 12:35:44 +03:00
< span class = "identifier" > inter_tree< / span > < span class = "plain" > *< / span > < span class = "identifier" > I< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Tree::new< / span > < span class = "plain" > ();< / span >
< span class = "identifier" > Packaging::initialise_state< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::outside_all_packages< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > );< / span >
< span class = "identifier" > I7_generation_tree< / span > < span class = "plain" > = < / span > < span class = "identifier" > I< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::veneer_request< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ));< / span >
2019-08-28 12:35:44 +03:00
< span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::get_module< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "generic"< / span > < span class = "plain" > )-> < / span > < span class = "identifier" > the_package< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::get_module< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "synoptic"< / span > < span class = "plain" > )-> < / span > < span class = "identifier" > the_package< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::get_module< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > , < / span > < span class = "identifier" > I< / span > < span class = "string" > "standard_rules"< / span > < span class = "plain" > )-> < / span > < span class = "identifier" > the_package< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
2019-08-31 15:56:36 +03:00
< span class = "functiontext" > Hierarchy::establish< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > KU< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > K_UNCHECKED_HL< / span > < span class = "plain" > );< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > KU< / span > < span class = "plain" > );< / span >
< span class = "identifier" > unchecked_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > KU< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > UNCHECKED_IDT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > BASE_ICON< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > KUF< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > K_UNCHECKED_FUNCTION_HL< / span > < span class = "plain" > );< / span >
< span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > KUF< / span > < span class = "plain" > );< / span >
< span class = "identifier" > unchecked_function_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > KUF< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > operands< / span > < span class = "plain" > [2];< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > operands< / span > < span class = "plain" > [0] = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > );< / span >
< span class = "identifier" > operands< / span > < span class = "plain" > [1] = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_function_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > ROUTINE_IDT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > FUNCTION_ICON< / span > < span class = "plain" > , < / span > < span class = "constant" > 2< / span > < span class = "plain" > , < / span > < span class = "identifier" > operands< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > KTI< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > K_TYPELESS_INT_HL< / span > < span class = "plain" > );< / span >
< span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > KTI< / span > < span class = "plain" > );< / span >
< span class = "identifier" > int_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > KTI< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > INT32_IDT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > BASE_ICON< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > KTS< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > K_TYPELESS_STRING_HL< / span > < span class = "plain" > );< / span >
< span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > KTS< / span > < span class = "plain" > );< / span >
< span class = "identifier" > string_interk< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > KTS< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > string_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > TEXT_IDT< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > BASE_ICON< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2020-02-27 03:43:11 +02:00
< span class = "functiontext" > FundamentalConstants::emit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Task::vm< / span > < span class = "plain" > ());< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > NewVerbs::ConjugateVerbDefinitions< / span > < span class = "plain" > ();< / span >
2019-04-28 05:27:32 +03:00
2019-04-27 02:19:28 +03:00
< span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > INFORMLIBRARY_HL< / span > < span class = "plain" > );< / span >
2019-04-20 12:51:59 +03:00
< span class = "plain" > }< / span >
2019-03-17 14:40:57 +02:00
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::response< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > , < / span > < span class = "reserved" > rule< / span > < span class = "plain" > *< / span > < span class = "identifier" > R< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > marker< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > val_iname< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > symb< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > rsymb< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Rules::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > R< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > vsymb< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > val_iname< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > vsymb< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val2< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Response::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > symb< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > rsymb< / span > < span class = "plain" > ), (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > marker< / span > < span class = "plain" > , < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > symb< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
2020-03-28 21:42:53 +02:00
< p class = "endnote" > The function Emit::tree is used in < a href = "#SP3" > § 3< / a > , < a href = "#SP4" > § 4< / a > , 4/am (< a href = "4-am.html#SP29" > § 29< / a > , < a href = "4-am.html#SP33_2" > § 33.2< / a > , < a href = "4-am.html#SP34" > § 34< / a > , < a href = "4-am.html#SP42" > § 42< / a > ), 5/lp (< a href = "5-lp.html#SP19" > § 19< / a > , < a href = "5-lp.html#SP19_1" > § 19.1< / a > , < a href = "5-lp.html#SP19_2" > § 19.2< / a > , < a href = "5-lp.html#SP19_3" > § 19.3< / a > , < a href = "5-lp.html#SP19_3_1" > § 19.3.1< / a > , < a href = "5-lp.html#SP19_3_1_1" > § 19.3.1.1< / a > , < a href = "5-lp.html#SP19_3_2" > § 19.3.2< / a > , < a href = "5-lp.html#SP19_2_1" > § 19.2.1< / a > , < a href = "5-lp.html#SP19_2_2" > § 19.2.2< / a > , < a href = "5-lp.html#SP27" > § 27< / a > , < a href = "5-lp.html#SP27_2" > § 27.2< / a > , < a href = "5-lp.html#SP27_3" > § 27.3< / a > , < a href = "5-lp.html#SP27_3_1" > § 27.3.1< / a > , < a href = "5-lp.html#SP27_3_2" > § 27.3.2< / a > , < a href = "5-lp.html#SP27_3_3" > § 27.3.3< / a > , < a href = "5-lp.html#SP27_3_4" > § 27.3.4< / a > , < a href = "5-lp.html#SP28" > § 28< / a > ), 5/un (< a href = "5-un.html#SP1" > § 1< / a > ), 5/ins (< a href = "5-ins.html#SP29" > § 29< / a > ), 5/nv (< a href = "5-nv.html#SP10" > § 10< / a > , < a href = "5-nv.html#SP12" > § 12< / a > , < a href = "5-nv.html#SP16" > § 16< / a > , < a href = "5-nv.html#SP25" > § 25< / a > ), 6/bp (< a href = "6-bp.html#SP25" > § 25< / a > , < a href = "6-bp.html#SP33" > § 33< / a > , < a href = "6-bp.html#SP42" > § 42< / a > ), 6/rlt (< a href = "6-rlt.html#SP14" > § 14< / a > , < a href = "6-rlt.html#SP15" > § 15< / a > , < a href = "6-rlt.html#SP15_2" > § 15.2< / a > , < a href = "6-rlt.html#SP15_2_1" > § 15.2.1< / a > , < a href = "6-rlt.html#SP15_2_2" > § 15.2.2< / a > , < a href = "6-rlt.html#SP15_2_3" > § 15.2.3< / a > , < a href = "6-rlt.html#SP15_2_4" > § 15.2.4< / a > , < a href = "6-rlt.html#SP15_2_5" > § 15.2.5< / a > , < a href = "6-rlt.html#SP15_2_5_1" > § 15.2.5.1< / a > , < a href = "6-rlt.html#SP15_2_6" > § 15.2.6< / a > , < a href = "6-rlt.html#SP15_2_7" > § 15.2.7< / a > , < a href = "6-rlt.html#SP15_2_8" > § 15.2.8< / a > , < a href = "6-rlt.html#SP15_2_9" > § 15.2.9< / a > , < a href = "6-rlt.html#SP15_2_10" > § 15.2.10< / a > , < a href = "6-rlt.html#SP15_2_11" > § 15.2.11< / a > , < a href = "6-rlt.html#SP15_2_12" > § 15.2.12< / a > , < a href = "6-rlt.html#SP15_2_9_1" > § 15.2.9.1< / a > , < a href = "6-rlt.html#SP15_2_10_1" > § 15.2.10.1< / a > , < a href = "6-rlt.html#SP15_2_12_1" > § 15.2.12.1< / a > , < a href = "6-rlt.html#SP17" > § 17< / a > , < a href = "6-rlt.html#SP29" > § 29< / a > , < a href = "6-rlt.html#SP29_1" > § 29.1< / a > , < a href = "6-rlt.html#SP29_2" > § 29.2< / a > , < a href = "6-rlt.html#SP29_3" > § 29.3< / a > , < a href = "6-rlt.html#SP29_4" > § 29.4< / a > , < a href = "6-rlt.html#SP29_5" > § 29.5< / a > , < a href = "6-rlt.html#SP29_6" > § 29.6< / a > , < a href = "6-rlt.html#SP30" > § 30< / a > ), 6/nv (< a href = "6-nv.html#SP17" > § 17< / a > , < a href = "6-nv.html#SP18" > § 18< / a > , < a href = "6-nv.html#SP18_1" > § 18.1< / a > , < a href = "6-nv.html#SP18_2" > § 18.2< / a > , < a href = "6-nv.html#SP18_1_2" > § 18.1.2< / a > , < a href = "6-nv.html#SP18_1_2_1" > § 18.1.2.1< / a > , < a href = "6-nv.html#SP18_1_2_2" > § 18.1.2.2< / a > , < a href = "6-nv.html#SP19" > § 19< / a > ), 8/ef (< a href = "8-ef.html#SP9" > § 9< / a > ), 11/tr (< a href = "11-tr.html#SP10" > § 10< / a > ), 12/is (< a href = "12-is.html#SP7" > § 7< / a > , < a href = "12-is.html#SP7_3" > § 7.3< / a > , < a href = "12-is.html#SP8" > § 8< / a > ), 12/ca (< a href = "12-ca.html#SP5_2" > § 5.2< / a > ), 12/dtd (< a href = "12-dtd.html#SP7" > § 7< / a > , < a href = "12-dtd.html#SP7_1" > § 7.1< / a > , < a href = "12-dtd.html#SP7_1_1" > § 7.1.1< / a > , < a href = "12-dtd.html#SP7_1_2" > § 7.1.2< / a > , < a href = "12-dtd.html#SP8" > § 8< / a > , < a href = "12-dtd.html#SP9" > § 9< / a > , < a href = "12-dtd.html#SP9_1" > § 9.1< / a > , < a href = "12-dtd.html#SP10" > § 10< / a > , < a href = "12-dtd.html#SP11" > § 11< / a > , < a href = "12-dtd.html#SP13" > § 13< / a > , < a href = "12-dtd.html#SP15" > § 15< / a > , < a href = "12-dtd.html#SP16" > § 16< / a > , < a href = "12-dtd.html#SP17" > § 17< / a > , < a href = "12-dtd.html#SP18" > § 18< / a > , < a href = "12-dtd.html#SP19" > § 19< / a > , < a href = "12-dtd.html#SP20" > § 20< / a > , < a href = "12-dtd.html#SP22" > § 22< / a > , < a href = "12-dtd.html#
2019-08-31 15:56:36 +03:00
2020-02-27 13:18:25 +02:00
< p class = "endnote" > The function Emit::begin is used in 1/htc (< a href = "1-htc.html#SP2_2" > § 2.2< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::response is used in 17/rs (< a href = "17-rs.html#SP7_1" > § 7.1< / a > ).< / p >
2019-04-19 16:36:05 +03:00
< p class = "inwebparagraph" > < a id = "SP3" > < / a > < b > § 3. < / b > The Inter language allows pragmas, or code-generation hints, to be passed
2019-03-17 14:40:57 +02:00
through. These are specific to the target of compilation. Here we generate
only I6-target pragmas, which are commands in Inform Control Language.
< / p >
< p class = "inwebparagraph" > This is a mini-language for controlling the I6 compiler, able to set
command-line switches, memory settings and so on. I6 ordinarily discards lines
beginning with exclamation marks as comments, but at the very top of the file,
lines beginning < code class = "display" > < span class = "extract" > !%< / span > < / code > are read as ICL commands: as soon as any line (including
a blank line) doesn't have this signature, I6 exits ICL mode. This is why we
insert them into the Inter stream close to the top.
< / p >
< pre class = "display" >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::pragma< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_tree< / span > < span class = "plain" > *< / span > < span class = "identifier" > I< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ();< / span >
2019-07-24 22:29:29 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::Tree::root_package< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > target_name< / span > < span class = "plain" > =< / span >
< span class = "identifier" > Inter::SymbolsTables::symbol_from_name_creating< / span > < span class = "plain" > (< / span >
2019-07-24 22:29:29 +03:00
< span class = "identifier" > Inter::Tree::global_scope< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > I< / span > < span class = "string" > "target_I6"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Pragma::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::pragmas< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > target_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::append< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > symbol< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Append::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > symbol< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-09 15:24:05 +03:00
< span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::main_render_unique< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_symbols_table< / span > < span class = "plain" > *< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > Inter::SymbolsTables::render_identifier_unique< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::holding_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_symbols_table< / span > < span class = "plain" > *< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > LOG< / span > < span class = "plain" > (< / span > < span class = "string" > "Holding %S\n"< / span > < span class = "plain" > , < / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > symb< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::SymbolsTables::symbol_from_name< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > symb< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) {< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > symb< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::new_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > , < / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_tree< / span > < span class = "plain" > *< / span > < span class = "identifier" > I< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ();< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::holdings< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::holdings< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > symb< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::holdings< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::holdings< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > )), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > symb< / span > < span class = "plain" > , < / span > < span class = "identifier" > HOLDING_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > symb< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::kind< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > TID< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > super< / span > < span class = "plain" > ,< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > constructor< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > arity< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > **< / span > < span class = "identifier" > operand_kinds< / span > < span class = "plain" > ) {< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > SID< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) < / span > < span class = "identifier" > SID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > S< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > SS< / span > < span class = "plain" > = (< / span > < span class = "identifier" > super< / span > < span class = "plain" > )?< / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > super< / span > < span class = "plain" > ):< / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > SUP< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > SS< / span > < span class = "plain" > ) < / span > < span class = "identifier" > SUP< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > SS< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > operands< / span > < span class = "plain" > [< / span > < span class = "constant" > MAX_KIND_ARITY< / span > < span class = "plain" > ];< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > arity< / span > < span class = "plain" > > < / span > < span class = "constant" > MAX_KIND_ARITY< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "kind arity too high"< / span > < span class = "plain" > );< / span >
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "identifier" > arity< / span > < span class = "plain" > ; < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > operand_kinds< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ] == < / span > < span class = "identifier" > K_nil< / span > < span class = "plain" > ) < / span > < span class = "identifier" > operands< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ] = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > operand_kinds< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ]);< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > operands< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ] = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > S< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
< span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > SID< / span > < span class = "plain" > , < / span > < span class = "identifier" > TID< / span > < span class = "plain" > , < / span > < span class = "identifier" > SUP< / span > < span class = "plain" > , < / span > < span class = "identifier" > constructor< / span > < span class = "plain" > , < / span > < span class = "identifier" > arity< / span > < span class = "plain" > , < / span > < span class = "identifier" > operands< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::kind_inner< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > SID< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > TID< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > SUP< / span > < span class = "plain" > ,< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > constructor< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > arity< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > operands< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Kind::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > SID< / span > < span class = "plain" > , < / span > < span class = "identifier" > TID< / span > < span class = "plain" > , < / span > < span class = "identifier" > SUP< / span > < span class = "plain" > , < / span > < span class = "identifier" > constructor< / span > < span class = "plain" > , < / span > < span class = "identifier" > arity< / span > < span class = "plain" > , < / span > < span class = "identifier" > operands< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::variable< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > rvalue< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > var_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > var_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Variable::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > var_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > var_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > rvalue< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > var_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > EXPLICIT_VARIABLE_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > var_name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::property< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Property::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::permission< / span > < span class = "plain" > (< / span > < span class = "reserved" > property< / span > < span class = "plain" > *< / span > < span class = "identifier" > prn< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::Behaviour::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Properties::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > prn< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > store< / span > < span class = "plain" > = (< / span > < span class = "identifier" > name< / span > < span class = "plain" > )?< / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > ):< / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "functiontext" > Emit::basic_permission< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > , < / span > < span class = "identifier" > store< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::instance_permission< / span > < span class = "plain" > (< / span > < span class = "reserved" > property< / span > < span class = "plain" > *< / span > < span class = "identifier" > prn< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > inst_iname< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Properties::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > prn< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > inst_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > inst_iname< / span > < span class = "plain" > );< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > inst_iname< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "functiontext" > Emit::basic_permission< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inst_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > ppi7_counter< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::basic_permission< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > at< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > owner_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > store< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > inter_error_message< / span > < span class = "plain" > *< / span > < span class = "identifier" > E< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > TEMPORARY_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > ident< / span > < span class = "plain" > );< / span >
< span class = "identifier" > WRITE_TO< / span > < span class = "plain" > (< / span > < span class = "identifier" > ident< / span > < span class = "plain" > , < / span > < span class = "string" > "pp_i7_%d"< / span > < span class = "plain" > , < / span > < span class = "identifier" > ppi7_counter< / span > < span class = "plain" > ++);< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > pp_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Textual::new_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::scope< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > ), < / span > < span class = "identifier" > ident< / span > < span class = "plain" > , & < / span > < span class = "identifier" > E< / span > < span class = "plain" > );< / span >
< span class = "identifier" > DISCARD_TEXT< / span > < span class = "plain" > (< / span > < span class = "identifier" > ident< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > E< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Permission::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > ,< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > , < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > , < / span > < span class = "identifier" > owner_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > , < / span > < span class = "identifier" > pp_name< / span > < span class = "plain" > ), (< / span > < span class = "identifier" > store< / span > < span class = "plain" > )?(< / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > , < / span > < span class = "identifier" > store< / span > < span class = "plain" > )):0, < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > at< / span > < span class = "plain" > ), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > typedef< / span > < span class = "plain" > < / span > < span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > dval_written< / span > < span class = "plain" > {< / span >
< span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K_written< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > MEMORY_MANAGEMENT< / span >
< span class = "plain" > } < / span > < span class = "reserved" > dval_written< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::ensure_defaultvalue< / span > < span class = "plain" > (< / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > == < / span > < span class = "identifier" > K_value< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > dval_written< / span > < span class = "plain" > *< / span > < span class = "identifier" > dw< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > LOOP_OVER< / span > < span class = "plain" > (< / span > < span class = "identifier" > dw< / span > < span class = "plain" > , < / span > < span class = "reserved" > dval_written< / span > < span class = "plain" > )< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::Compare::eq< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > K_written< / span > < span class = "plain" > ))< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > dw< / span > < span class = "plain" > = < / span > < span class = "identifier" > CREATE< / span > < span class = "plain" > (< / span > < span class = "reserved" > dval_written< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > K_written< / span > < span class = "plain" > = < / span > < span class = "identifier" > K< / span > < span class = "plain" > ; < / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ; < / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "functiontext" > Kinds::RunTime::get_default_value< / span > < span class = "plain" > (& (< / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v1< / span > < span class = "plain" > ), & (< / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v2< / span > < span class = "plain" > ), < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v1< / span > < span class = "plain" > != < / span > < span class = "constant" > 0< / span > < span class = "plain" > )< / span >
< span class = "functiontext" > Emit::defaultvalue< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > dw< / span > < span class = "plain" > -> < / span > < span class = "element" > v2< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::defaultvalue< / span > < span class = "plain" > (< / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ) {< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::Behaviour::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::DefaultValue::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::propertyvalue< / span > < span class = "plain" > (< / span > < span class = "reserved" > property< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > Properties::emit_single< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Properties::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::PropertyValue::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::instance_propertyvalue< / span > < span class = "plain" > (< / span > < span class = "reserved" > property< / span > < span class = "plain" > *< / span > < span class = "identifier" > P< / span > < span class = "plain" > , < / span > < span class = "reserved" > instance< / span > < span class = "plain" > *< / span > < span class = "identifier" > I< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ) {< / span >
< span class = "functiontext" > Properties::emit_single< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Properties::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > P< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Instances::emitted_iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > I< / span > < span class = "plain" > ));< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::PropertyValue::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > prop_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > owner_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-08-24 13:21:48 +03:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_string_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > contents< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > contents< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_textual< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > string_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::instance< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > v< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > inst_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "no kind for val"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > v< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > v< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) { < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "identifier" > UNDEF_IVAL< / span > < span class = "plain" > ; < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ; }< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Instance::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > inst_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_generic_constant_xiname< / span > < span class = "plain" > (< / span > < span class = "identifier" > package_request< / span > < span class = "plain" > *< / span > < span class = "identifier" > PR< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > xiname< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > PR< / span > < span class = "plain" > ), < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > xiname< / span > < span class = "plain" > ), & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
2019-04-19 20:15:12 +03:00
< span class = "functiontext" > Emit::named_generic_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_generic_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val2< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::named_numeric_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::hold_numeric_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_text_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::text_value< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > content< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_pseudo_numeric_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::ds_named_pseudo_numeric_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_late_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > LATE_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_byte_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > BYTEARRAY_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_table_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > TABLEARRAY_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_string_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > STRINGARRAY_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_verb_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > VERBARRAY_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::annotate_iname_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > LATE_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 1< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > typedef< / span > < span class = "plain" > < / span > < span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > {< / span >
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > array_name_symbol< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > entry_kind< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > array_form< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > no_entries< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > capacity< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > entry_data1< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > entry_data2< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > *< / span > < span class = "identifier" > up< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > *< / span > < span class = "identifier" > down< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > MEMORY_MANAGEMENT< / span >
< span class = "plain" > } < / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > nascent_array< / span > < span class = "plain" > *< / span > < span class = "identifier" > first_A< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , *< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::push_array< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > nascent_array< / span > < span class = "plain" > *< / span > < span class = "identifier" > A< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > A< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > down< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > A< / span > < span class = "plain" > = < / span > < span class = "identifier" > CREATE< / span > < span class = "plain" > (< / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > up< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > down< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > down< / span > < span class = "plain" > = < / span > < span class = "identifier" > A< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > first_A< / span > < span class = "plain" > ) < / span > < span class = "identifier" > A< / span > < span class = "plain" > = < / span > < span class = "identifier" > first_A< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > else< / span > < span class = "plain" > {< / span >
< span class = "identifier" > A< / span > < span class = "plain" > = < / span > < span class = "identifier" > CREATE< / span > < span class = "plain" > (< / span > < span class = "reserved" > nascent_array< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > up< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > down< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > first_A< / span > < span class = "plain" > = < / span > < span class = "identifier" > A< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > no_entries< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > array_name_symbol< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > A< / span > < span class = "plain" > -> < / span > < span class = "element" > array_form< / span > < span class = "plain" > = < / span > < span class = "identifier" > CONSTANT_INDIRECT_LIST< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > current_A< / span > < span class = "plain" > = < / span > < span class = "identifier" > A< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::pull_array< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "pull array failed"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > up< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "no nascent array"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > N< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > no_entries< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > N< / span > < span class = "plain" > +1 > < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > M< / span > < span class = "plain" > = < / span > < span class = "constant" > 4< / span > < span class = "plain" > *(< / span > < span class = "identifier" > N< / span > < span class = "plain" > +1);< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > == < / span > < span class = "constant" > 0< / span > < span class = "plain" > ) < / span > < span class = "identifier" > M< / span > < span class = "plain" > = < / span > < span class = "constant" > 256< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > old_data1< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_data1< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > old_data2< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_data2< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data1< / span > < span class = "plain" > = < / span > < span class = "identifier" > Memory::I7_calloc< / span > < span class = "plain" > (< / span > < span class = "identifier" > M< / span > < span class = "plain" > , < / span > < span class = "reserved" > sizeof< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ), < / span > < span class = "constant" > EMIT_ARRAY_MREASON< / span > < span class = "plain" > );< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data2< / span > < span class = "plain" > = < / span > < span class = "identifier" > Memory::I7_calloc< / span > < span class = "plain" > (< / span > < span class = "identifier" > M< / span > < span class = "plain" > , < / span > < span class = "reserved" > sizeof< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ), < / span > < span class = "constant" > EMIT_ARRAY_MREASON< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2020-04-07 03:06:09 +03:00
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > ; < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++) {< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data1< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ] = < / span > < span class = "identifier" > old_data1< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ];< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data2< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ] = < / span > < span class = "identifier" > old_data2< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ];< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_data1< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Memory::I7_array_free< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_data1< / span > < span class = "plain" > , < / span > < span class = "constant" > EMIT_ARRAY_MREASON< / span > < span class = "plain" > , < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > , < / span > < span class = "reserved" > sizeof< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ));< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_data2< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Memory::I7_array_free< / span > < span class = "plain" > (< / span > < span class = "identifier" > old_data2< / span > < span class = "plain" > , < / span > < span class = "constant" > EMIT_ARRAY_MREASON< / span > < span class = "plain" > , < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > capacity< / span > < span class = "plain" > , < / span > < span class = "reserved" > sizeof< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > capacity< / span > < span class = "plain" > = < / span > < span class = "identifier" > M< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data1< / span > < span class = "plain" > [< / span > < span class = "identifier" > N< / span > < span class = "plain" > ] = < / span > < span class = "identifier" > v1< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_data2< / span > < span class = "plain" > [< / span > < span class = "identifier" > N< / span > < span class = "plain" > ] = < / span > < span class = "identifier" > v2< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > no_entries< / span > < span class = "plain" > ++;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::sum_constant_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > array_form< / span > < span class = "plain" > = < / span > < span class = "identifier" > CONSTANT_SUM_LIST< / span > < span class = "plain" > ;< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::named_array_begin< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > N< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > N< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > symb< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > N< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::push_array< / span > < span class = "plain" > ();< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > K< / span > < span class = "plain" > = < / span > < span class = "identifier" > K_value< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > entry_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > K< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "identifier" > array_name_symbol< / span > < span class = "plain" > = < / span > < span class = "identifier" > symb< / span > < span class = "plain" > ;< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_iname_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > alias< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > alias< / span > < span class = "plain" > = < / span > < span class = "identifier" > Site::veneer_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > NOTHING_VSYMB< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > alias< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-07-14 12:44:07 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::array_IRS< / span > < span class = "plain" > ();< / span >
2019-07-23 01:34:28 +03:00
< span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > alias< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val2< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_null_entry< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-04-13 20:58:43 +03:00
< span class = "functiontext" > Emit::array_iname_entry< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > NULL_HL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_MPN_entry< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-04-13 20:58:43 +03:00
< span class = "functiontext" > Emit::array_iname_entry< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Hierarchy::find< / span > < span class = "plain" > (< / span > < span class = "constant" > MAX_POSITIVE_NUMBER_HL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_generic_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val2< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > #< / span > < span class = "identifier" > ifdef< / span > < span class = "plain" > < / span > < span class = "identifier" > IF_MODULE< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_action_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > action_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > an< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > symb< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > PL::Actions::iname< / span > < span class = "plain" > (< / span > < span class = "identifier" > an< / span > < span class = "plain" > ));< / span >
2019-07-14 12:44:07 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "functiontext" > Emit::array_IRS< / span > < span class = "plain" > ();< / span >
2019-07-23 01:34:28 +03:00
< span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > symb< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "plain" > #< / span > < span class = "identifier" > endif< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_text_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::text_value< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > content< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_dword_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::dword_value< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > content< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_plural_dword_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > content< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::plural_dword_value< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), & < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > content< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_numeric_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > N< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > N< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_divider< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > divider_text< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "entry outside of inter array"< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > S< / span > < span class = "plain" > ), < / span > < span class = "identifier" > divider_text< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::add_entry< / span > < span class = "plain" > (< / span > < span class = "identifier" > DIVIDER_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > S< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2019-07-14 12:44:07 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::array_IRS< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "inter array not opened"< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
2019-07-14 12:44:07 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::array_end< / span > < span class = "plain" > (< / span > < span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > ) {< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "inter array not opened"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > array_name_symbol< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_kind< / span > < span class = "plain" > ;< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > CID< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > array_form< / span > < span class = "plain" > == < / span > < span class = "identifier" > CONSTANT_INDIRECT_LIST< / span > < span class = "plain" > )< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > con_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::unary_construction< / span > < span class = "plain" > (< / span > < span class = "identifier" > CON_list_of< / span > < span class = "plain" > , < / span > < span class = "identifier" > K< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > else< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > con_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2019-07-14 12:44:07 +03:00
< span class = "identifier" > CID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > , < / span > < span class = "identifier" > con_kind< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > } < / span > < span class = "reserved" > else< / span > < span class = "plain" > {< / span >
2019-07-14 12:44:07 +03:00
< span class = "identifier" > CID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > , < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-07-24 22:29:29 +03:00
< span class = "identifier" > inter_tree_node< / span > < span class = "plain" > *< / span > < span class = "identifier" > array_in_progress< / span > < span class = "plain" > =< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Inter::Node::fill_3< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > , < / span > < span class = "identifier" > CONSTANT_IST< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > , < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > CID< / span > < span class = "plain" > , < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > array_form< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ));< / span >
2019-07-24 22:29:29 +03:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > pos< / span > < span class = "plain" > = < / span > < span class = "identifier" > array_in_progress< / span > < span class = "plain" > -> < / span > < span class = "identifier" > W< / span > < span class = "plain" > .< / span > < span class = "identifier" > extent< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Node::extend< / span > < span class = "plain" > (< / span > < span class = "identifier" > array_in_progress< / span > < span class = "plain" > , (< / span > < span class = "reserved" > unsigned< / span > < span class = "plain" > < / span > < span class = "reserved" > int< / span > < span class = "plain" > ) (2*< / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > no_entries< / span > < span class = "plain" > )) == < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > )< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "can't extend frame"< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > for< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > i< / span > < span class = "plain" > =0; < / span > < span class = "identifier" > i< / span > < span class = "plain" > < < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > no_entries< / span > < span class = "plain" > ; < / span > < span class = "identifier" > i< / span > < span class = "plain" > ++) {< / span >
< span class = "identifier" > array_in_progress< / span > < span class = "plain" > -> < / span > < span class = "identifier" > W< / span > < span class = "plain" > .< / span > < span class = "identifier" > data< / span > < span class = "plain" > [< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ++] = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_data1< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ];< / span >
< span class = "identifier" > array_in_progress< / span > < span class = "plain" > -> < / span > < span class = "identifier" > W< / span > < span class = "plain" > .< / span > < span class = "identifier" > data< / span > < span class = "plain" > [< / span > < span class = "identifier" > pos< / span > < span class = "plain" > ++] = < / span > < span class = "identifier" > current_A< / span > < span class = "plain" > -> < / span > < span class = "element" > entry_data2< / span > < span class = "plain" > [< / span > < span class = "identifier" > i< / span > < span class = "plain" > ];< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Defn::verify_construct< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > array_in_progress< / span > < span class = "plain" > ));< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Inter::Bookmarks::insert< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > array_in_progress< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "functiontext" > Emit::pull_array< / span > < span class = "plain" > ();< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::named_iname_constant< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > alias< / span > < span class = "plain" > = (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > )?< / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ):< / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > alias< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Kinds::Compare::le< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > K_object< / span > < span class = "plain" > )) < / span > < span class = "identifier" > alias< / span > < span class = "plain" > = < / span > < span class = "identifier" > Site::veneer_symbol< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > NOTHING_VSYMB< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > else< / span > < span class = "plain" > < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "can't handle a null alias"< / span > < span class = "plain" > );< / span >
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > alias< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > val2< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > val_kind< / span > < span class = "plain" > ), < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::named_numeric_constant_hex< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > HEX_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::named_unchecked_constant_hex< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > HEX_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > unchecked_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::named_numeric_constant_signed< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > name< / span > < span class = "plain" > , < / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > val< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > save< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > name< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > con_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > SIGNED_IANN< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_numerical< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > con_name< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > int_interk< / span > < span class = "plain" > ), < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > , (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > val< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > save< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "comment" > inter_bookmark current_inter_bookmark;< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::early_comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text< / span > < span class = "plain" > ) {< / span >
2019-07-11 11:15:57 +03:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Comment::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())) + < / span > < span class = "constant" > 1< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ));< / span >
2019-07-11 11:15:57 +03:00
< span class = "plain" > */< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::code_comment< / span > < span class = "plain" > (< / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > text< / span > < span class = "plain" > ) {< / span >
2019-07-11 11:15:57 +03:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > text< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Comment::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Produce::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Produce::level< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ));< / span >
2019-07-11 11:15:57 +03:00
< span class = "plain" > */< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-04-19 20:15:12 +03:00
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::routine< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > rname< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > rkind< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_package< / span > < span class = "plain" > *< / span > < span class = "identifier" > block< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()) == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "no inter repository"< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > AB_symbol< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > rkind< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > rsymb< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::define_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > rname< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Constant::new_function< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > rsymb< / span > < span class = "plain" > ),< / span >
< span class = "identifier" > Inter::SymbolsTables::id_from_IRS_and_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > AB_symbol< / span > < span class = "plain" > ),< / span >
2019-07-27 13:16:22 +03:00
< span class = "identifier" > block< / span > < span class = "plain" > ,< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::local< / span > < span class = "plain" > (< / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > K< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > lname< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > annot< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > comm< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::get_cir< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()) == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > internal_error< / span > < span class = "plain" > (< / span > < span class = "string" > "not in an inter routine"< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "identifier" > K< / span > < span class = "plain" > = < / span > < span class = "identifier" > K_number< / span > < span class = "plain" > ;< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > loc_name< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::new_local_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > Site::get_cir< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > lname< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > loc_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > K< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > if< / span > < span class = "plain" > ((< / span > < span class = "identifier" > comm< / span > < span class = "plain" > ) & & (< / span > < span class = "identifier" > Str::len< / span > < span class = "plain" > (< / span > < span class = "identifier" > comm< / span > < span class = "plain" > ) > < / span > < span class = "constant" > 0< / span > < span class = "plain" > )) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > ID< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID< / span > < span class = "plain" > ), < / span > < span class = "identifier" > comm< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > annot< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Produce::annotate_symbol_i< / span > < span class = "plain" > (< / span > < span class = "identifier" > loc_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > annot< / span > < span class = "plain" > , < / span > < span class = "constant" > 0< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
< span class = "identifier" > Inter::Symbols::local< / span > < span class = "plain" > (< / span > < span class = "identifier" > loc_name< / span > < span class = "plain" > );< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Local::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Produce::locals_bookmark< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > loc_name< / span > < span class = "plain" > , < / span > < span class = "identifier" > loc_kind< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Produce::locals_bookmark< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())) + < / span > < span class = "constant" > 1< / span > < span class = "plain" > , < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > loc_name< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::cast< / span > < span class = "plain" > (< / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > F< / span > < span class = "plain" > , < / span > < span class = "identifier" > kind< / span > < span class = "plain" > *< / span > < span class = "identifier" > T< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > from_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > F< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > to_kind< / span > < span class = "plain" > = < / span > < span class = "identifier" > Produce::kind_to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > T< / span > < span class = "plain" > );< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Cast::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Produce::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > from_kind< / span > < span class = "plain" > , < / span > < span class = "identifier" > to_kind< / span > < span class = "plain" > , (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > Produce::level< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::intervention< / span > < span class = "plain" > (< / span > < span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "identifier" > stage< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > segment< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > part< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > i6< / span > < span class = "plain" > , < / span > < span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "identifier" > seg< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_warehouse< / span > < span class = "plain" > *< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID1< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID1< / span > < span class = "plain" > ), < / span > < span class = "identifier" > segment< / span > < span class = "plain" > );< / span >
2019-04-17 20:19:03 +03:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID2< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID2< / span > < span class = "plain" > ), < / span > < span class = "identifier" > part< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID3< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID3< / span > < span class = "plain" > ), < / span > < span class = "identifier" > i6< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ID4< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
< span class = "identifier" > Str::copy< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Warehouse::get_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Tree::warehouse< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), < / span > < span class = "identifier" > ID4< / span > < span class = "plain" > ), < / span > < span class = "identifier" > seg< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > ref< / span > < span class = "plain" > = < / span > < span class = "identifier" > Inter::Warehouse::create_ref< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Inter::Warehouse::set_ref< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > ref< / span > < span class = "plain" > , (< / span > < span class = "reserved" > void< / span > < span class = "plain" > *) < / span > < span class = "identifier" > current_sentence< / span > < span class = "plain" > );< / span >
2019-03-17 14:40:57 +02:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Inter::Warehouse::attribute_resource< / span > < span class = "plain" > (< / span > < span class = "identifier" > warehouse< / span > < span class = "plain" > , < / span > < span class = "identifier" > ref< / span > < span class = "plain" > , < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())));< / span >
2019-03-17 14:40:57 +02:00
2019-08-31 15:56:36 +03:00
< span class = "identifier" > Produce::guard< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Link::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ()), (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > ) < / span > < span class = "identifier" > stage< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID1< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID2< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID3< / span > < span class = "plain" > , < / span > < span class = "identifier" > ID4< / span > < span class = "plain" > , < / span > < span class = "identifier" > ref< / span > < span class = "plain" > , < / span > < span class = "identifier" > Produce::baseline< / span > < span class = "plain" > (< / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ())), < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ));< / span >
2019-03-17 14:40:57 +02:00
< span class = "plain" > }< / span >
< / pre >
< p class = "inwebparagraph" > < / p >
< p class = "endnote" > The function Emit::pragma is used in 26/uo (< a href = "26-uo.html#SP18" > § 18< / a > ).< / p >
< p class = "endnote" > The function Emit::append is used in 15/epv (< a href = "15-epv.html#SP1_1_2" > § 1.1.2< / a > ).< / p >
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::main_render_unique is used in 13/rsfk (< a href = "13-rsfk.html#SP24" > § 24< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2019-04-12 04:07:32 +03:00
< p class = "endnote" > The function Emit::holding_symbol is used in 13/rsfk (< a href = "13-rsfk.html#SP5" > § 5< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::kind is used in 13/rsfk (< a href = "13-rsfk.html#SP22" > § 22< / a > , < a href = "13-rsfk.html#SP24" > § 24< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2019-04-19 16:36:05 +03:00
< p class = "endnote" > The function Emit::kind_inner is used in < a href = "#SP2" > § 2< / a > .< / p >
2019-03-17 14:40:57 +02:00
2019-09-01 13:50:12 +03:00
< p class = "endnote" > The function Emit::variable is used in 5/nv (< a href = "5-nv.html#SP16" > § 16< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::property is used in 15/pr (< a href = "15-pr.html#SP27" > § 27< / a > ).< / p >
< p class = "endnote" > The function Emit::permission is used in 15/pr (< a href = "15-pr.html#SP27" > § 27< / a > ).< / p >
< p class = "endnote" > The function Emit::instance_permission is used in 15/pr (< a href = "15-pr.html#SP27" > § 27< / a > ).< / p >
< p class = "endnote" > The function Emit::basic_permission appears nowhere else.< / p >
< p class = "endnote" > The function Emit::ensure_defaultvalue is used in 15/pr (< a href = "15-pr.html#SP27" > § 27< / a > ).< / p >
< p class = "endnote" > The function Emit::defaultvalue appears nowhere else.< / p >
< p class = "endnote" > The function Emit::propertyvalue is used in 15/epv (< a href = "15-epv.html#SP2_1" > § 2.1< / a > ).< / p >
< p class = "endnote" > The function Emit::instance_propertyvalue is used in 15/epv (< a href = "15-epv.html#SP2_1" > § 2.1< / a > ).< / p >
2020-02-27 03:43:11 +02:00
< p class = "endnote" > The function Emit::named_string_constant is used in 12/cdp (< a href = "12-cdp.html#SP2_1_1" > § 2.1.1< / a > ), 17/tl (< a href = "17-tl.html#SP14_1" > § 14.1< / a > ), 21/fao (< a href = "21-fao.html#SP10" > § 10< / a > ), 26/fc (< a href = "26-fc.html#SP2" > § 2< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::instance is used in 5/ins (< a href = "5-ins.html#SP34" > § 34< / a > ).< / p >
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::named_generic_constant_xiname is used in 21/rl (< a href = "21-rl.html#SP9" > § 9< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::named_generic_constant appears nowhere else.< / p >
2020-02-27 03:43:11 +02:00
< p class = "endnote" > The function Emit::named_numeric_constant is used in 6/rlt (< a href = "6-rlt.html#SP20_3" > § 20.3< / a > ), 13/kak (< a href = "13-kak.html#SP5" > § 5< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP24" > § 24< / a > ), 21/ac (< a href = "21-ac.html#SP6" > § 6< / a > ), 22/cs (< a href = "22-cs.html#SP8" > § 8< / a > ), 24/ch (< a href = "24-ch.html#SP8" > § 8< / a > ), 26/fc (< a href = "26-fc.html#SP1" > § 1< / a > ), 26/uo (< a href = "26-uo.html#SP21" > § 21< / a > , < a href = "26-uo.html#SP23" > § 23< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::hold_numeric_constant appears nowhere else.< / p >
< p class = "endnote" > The function Emit::named_text_constant appears nowhere else.< / p >
< p class = "endnote" > The function Emit::named_pseudo_numeric_constant appears nowhere else.< / p >
< p class = "endnote" > The function Emit::ds_named_pseudo_numeric_constant appears nowhere else.< / p >
2019-04-16 14:46:46 +03:00
< p class = "endnote" > The function Emit::named_late_array_begin is used in 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > ), 17/tl (< a href = "17-tl.html#SP16" > § 16< / a > ), 17/ts (< a href = "17-ts.html#SP8_1" > § 8.1< / a > ), 18/lc (< a href = "18-lc.html#SP11" > § 11< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::named_byte_array_begin is used in 6/rlt (< a href = "6-rlt.html#SP20_3" > § 20.3< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_2" > § 1.2< / a > ), 21/ac (< a href = "21-ac.html#SP14" > § 14< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
< p class = "endnote" > The function Emit::named_table_array_begin is used in 19/rsft (< a href = "19-rsft.html#SP1_1_1_1" > § 1.1.1.1< / a > , < a href = "19-rsft.html#SP1_1_1_1_1" > § 1.1.1.1.1< / a > ), 22/tp2 (< a href = "22-tp2.html#SP4" > § 4< / a > ).< / p >
< p class = "endnote" > The function Emit::named_string_array_begin appears nowhere else.< / p >
< p class = "endnote" > The function Emit::named_verb_array_begin appears nowhere else.< / p >
< p class = "endnote" > The function Emit::push_array appears nowhere else.< / p >
< p class = "endnote" > The function Emit::pull_array appears nowhere else.< / p >
< p class = "endnote" > The function Emit::add_entry appears nowhere else.< / p >
< p class = "endnote" > The function Emit::sum_constant_begin is used in 6/rlt (< a href = "6-rlt.html#SP15_1_2" > § 15.1.2< / a > ).< / p >
< p class = "endnote" > The function Emit::named_array_begin is used in 6/rlt (< a href = "6-rlt.html#SP15_1" > § 15.1< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > , < a href = "6-rlt.html#SP20" > § 20< / a > , < a href = "6-rlt.html#SP20_3" > § 20.3< / a > ), 6/nv (< a href = "6-nv.html#SP18" > § 18< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP16_1" > § 16.1< / a > ), 17/tl (< a href = "17-tl.html#SP14_1" > § 14.1< / a > ), 17/ts (< a href = "17-ts.html#SP11" > § 11< / a > ), 17/rs (< a href = "17-rs.html#SP6_1" > § 6.1< / a > , < a href = "17-rs.html#SP7_3" > § 7.3< / a > ), 18/lc (< a href = "18-lc.html#SP12_1" > § 12.1< / a > , < a href = "18-lc.html#SP13" > § 13< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_3" > § 1.3< / a > ), 21/rb (< a href = "21-rb.html#SP24_1_1" > § 24.1.1< / a > ), 21/rl2 (< a href = "21-rl2.html#SP14" > § 14< / a > , < a href = "21-rl2.html#SP20" > § 20< / a > ), 21/ac (< a href = "21-ac.html#SP8" > § 8< / a > , < a href = "21-ac.html#SP14" > § 14< / a > ), 22/pav (< a href = "22-pav.html#SP8_1" > § 8.1< / a > , < a href = "22-pav.html#SP9_1" > § 9.1< / a > ), 24/ch (< a href = "24-ch.html#SP6" > § 6< / a > ), 26/lt (< a href = "26-lt.html#SP4_1" > § 4.1< / a > ), 26/jl (< a href = "26-jl.html#SP6" > § 6< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
< p class = "endnote" > The function Emit::array_iname_entry is used in 6/rlt (< a href = "6-rlt.html#SP15_1_2" > § 15.1.2< / a > , < a href = "6-rlt.html#SP15_1_2_1" > § 15.1.2.1< / a > , < a href = "6-rlt.html#SP15_1_3" > § 15.1.3< / a > , < a href = "6-rlt.html#SP15_1_6" > § 15.1.6< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > , < a href = "6-rlt.html#SP20_2" > § 20.2< / a > ), 6/nv (< a href = "6-nv.html#SP18" > § 18< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > , < a href = "13-rsfk.html#SP9" > § 9< / a > , < a href = "13-rsfk.html#SP12" > § 12< / a > ), 17/tl (< a href = "17-tl.html#SP14_1" > § 14.1< / a > , < a href = "17-tl.html#SP16" > § 16< / a > ), 17/ts (< a href = "17-ts.html#SP8_1" > § 8.1< / a > , < a href = "17-ts.html#SP11" > § 11< / a > ), 17/rs (< a href = "17-rs.html#SP6_1" > § 6.1< / a > , < a href = "17-rs.html#SP7_3_1_1" > § 7.3.1.1< / a > ), 18/lc (< a href = "18-lc.html#SP11" > § 11< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_1_1_1" > § 1.1.1.1< / a > , < a href = "19-rsft.html#SP1_1_1_1_1_5" > § 1.1.1.1.1.5< / a > , < a href = "19-rsft.html#SP1_3" > § 1.3< / a > ), 21/rl2 (< a href = "21-rl2.html#SP14" > § 14< / a > , < a href = "21-rl2.html#SP20" > § 20< / a > ), 21/ac (< a href = "21-ac.html#SP8" > § 8< / a > ), 22/pav (< a href = "22-pav.html#SP8_1" > § 8.1< / a > , < a href = "22-pav.html#SP9_1" > § 9.1< / a > ), 22/tp2 (< a href = "22-tp2.html#SP4" > § 4< / a > ), 24/ch (< a href = "24-ch.html#SP6" > § 6< / a > ), 26/lt (< a href = "26-lt.html#SP4_1" > § 4.1< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
< p class = "endnote" > The function Emit::array_null_entry is used in 6/rlt (< a href = "6-rlt.html#SP15_1" > § 15.1< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_1_1_1_1_3" > § 1.1.1.1.1.3< / a > , < a href = "19-rsft.html#SP1_2" > § 1.2< / a > ), 21/rb (< a href = "21-rb.html#SP24_1_5" > § 24.1.5< / a > ), 21/ac (< a href = "21-ac.html#SP14" > § 14< / a > ).< / p >
2019-04-16 14:46:46 +03:00
< p class = "endnote" > The function Emit::array_MPN_entry is used in 13/rsfk (< a href = "13-rsfk.html#SP20" > § 20< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::array_generic_entry is used in 5/nv (< a href = "5-nv.html#SP25" > § 25< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > ), 14/cfs (< a href = "14-cfs.html#SP9" > § 9< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_1_1_1_1_4" > § 1.1.1.1.1.4< / a > ).< / p >
< p class = "endnote" > The function Emit::array_action_entry is used in 21/rb (< a href = "21-rb.html#SP24_1_2" > § 24.1.2< / a > ).< / p >
< p class = "endnote" > The function Emit::array_text_entry is used in 6/rlt (< a href = "6-rlt.html#SP15_1_1" > § 15.1.1< / a > , < a href = "6-rlt.html#SP15_1_5" > § 15.1.5< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > ), 17/rs (< a href = "17-rs.html#SP7_3_1_1" > § 7.3.1.1< / a > ), 21/rl2 (< a href = "21-rl2.html#SP20" > § 20< / a > ), 22/pav (< a href = "22-pav.html#SP8_1" > § 8.1< / a > , < a href = "22-pav.html#SP9_1" > § 9.1< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
< p class = "endnote" > The function Emit::array_dword_entry appears nowhere else.< / p >
< p class = "endnote" > The function Emit::array_plural_dword_entry appears nowhere else.< / p >
2019-04-16 14:46:46 +03:00
< p class = "endnote" > The function Emit::array_numeric_entry is used in 6/rlt (< a href = "6-rlt.html#SP15_1" > § 15.1< / a > , < a href = "6-rlt.html#SP15_1_3" > § 15.1.3< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > , < a href = "6-rlt.html#SP19" > § 19< / a > , < a href = "6-rlt.html#SP20_2" > § 20.2< / a > , < a href = "6-rlt.html#SP20_3" > § 20.3< / a > ), 6/nv (< a href = "6-nv.html#SP18" > § 18< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > , < a href = "13-rsfk.html#SP9" > § 9< / a > , < a href = "13-rsfk.html#SP16_1_1_1" > § 16.1.1.1< / a > , < a href = "13-rsfk.html#SP16_1_1_2" > § 16.1.1.2< / a > , < a href = "13-rsfk.html#SP20" > § 20< / a > ), 17/rs (< a href = "17-rs.html#SP7_3" > § 7.3< / a > , < a href = "17-rs.html#SP7_3_1_1" > § 7.3.1.1< / a > , < a href = "17-rs.html#SP7_3_1_2" > § 7.3.1.2< / a > ), 18/lc (< a href = "18-lc.html#SP11" > § 11< / a > , < a href = "18-lc.html#SP12_1" > § 12.1< / a > , < a href = "18-lc.html#SP13" > § 13< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_1_1_1_1_3" > § 1.1.1.1.1.3< / a > , < a href = "19-rsft.html#SP1_1_1_1_1_4" > § 1.1.1.1.1.4< / a > , < a href = "19-rsft.html#SP1_2_3" > § 1.2.3< / a > , < a href = "19-rsft.html#SP1_3" > § 1.3< / a > ), 21/rb (< a href = "21-rb.html#SP24_1_1" > § 24.1.1< / a > , < a href = "21-rb.html#SP24_1_2" > § 24.1.2< / a > ), 21/rl2 (< a href = "21-rl2.html#SP14" > § 14< / a > , < a href = "21-rl2.html#SP20" > § 20< / a > ), 21/ac (< a href = "21-ac.html#SP8" > § 8< / a > , < a href = "21-ac.html#SP14" > § 14< / a > ), 22/tp2 (< a href = "22-tp2.html#SP4" > § 4< / a > ), 24/ch (< a href = "24-ch.html#SP6" > § 6< / a > ), 26/jl (< a href = "26-jl.html#SP6" > § 6< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::array_divider appears nowhere else.< / p >
< p class = "endnote" > The function Emit::array_IRS appears nowhere else.< / p >
2019-04-16 14:46:46 +03:00
< p class = "endnote" > The function Emit::array_end is used in 6/rlt (< a href = "6-rlt.html#SP15_1" > § 15.1< / a > , < a href = "6-rlt.html#SP15_1_2" > § 15.1.2< / a > , < a href = "6-rlt.html#SP16" > § 16< / a > , < a href = "6-rlt.html#SP20" > § 20< / a > , < a href = "6-rlt.html#SP20_3" > § 20.3< / a > ), 6/nv (< a href = "6-nv.html#SP18" > § 18< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > , < a href = "13-rsfk.html#SP16_1" > § 16.1< / a > ), 17/tl (< a href = "17-tl.html#SP14_1" > § 14.1< / a > , < a href = "17-tl.html#SP16" > § 16< / a > ), 17/ts (< a href = "17-ts.html#SP8_1" > § 8.1< / a > , < a href = "17-ts.html#SP11" > § 11< / a > ), 17/rs (< a href = "17-rs.html#SP6_1" > § 6.1< / a > , < a href = "17-rs.html#SP7_3" > § 7.3< / a > ), 18/lc (< a href = "18-lc.html#SP11" > § 11< / a > , < a href = "18-lc.html#SP12_1" > § 12.1< / a > , < a href = "18-lc.html#SP13" > § 13< / a > ), 19/rsft (< a href = "19-rsft.html#SP1_1_1_1" > § 1.1.1.1< / a > , < a href = "19-rsft.html#SP1_1_1_1_1" > § 1.1.1.1.1< / a > , < a href = "19-rsft.html#SP1_2" > § 1.2< / a > , < a href = "19-rsft.html#SP1_3" > § 1.3< / a > ), 21/rb (< a href = "21-rb.html#SP24_1_5" > § 24.1.5< / a > ), 21/rl2 (< a href = "21-rl2.html#SP14" > § 14< / a > , < a href = "21-rl2.html#SP20" > § 20< / a > ), 21/ac (< a href = "21-ac.html#SP8" > § 8< / a > , < a href = "21-ac.html#SP14" > § 14< / a > ), 22/pav (< a href = "22-pav.html#SP8_1" > § 8.1< / a > , < a href = "22-pav.html#SP9_1" > § 9.1< / a > ), 22/tp2 (< a href = "22-tp2.html#SP4" > § 4< / a > ), 24/ch (< a href = "24-ch.html#SP6" > § 6< / a > ), 26/lt (< a href = "26-lt.html#SP4_1" > § 4.1< / a > ), 26/jl (< a href = "26-jl.html#SP6" > § 6< / a > ), 26/ts (< a href = "26-ts.html#SP10" > § 10< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2020-01-26 01:42:42 +02:00
< p class = "endnote" > The function Emit::named_iname_constant is used in 6/bp (< a href = "6-bp.html#SP42" > § 42< / a > ), 16/ic (< a href = "16-ic.html#SP10" > § 10< / a > ), 17/tl (< a href = "17-tl.html#SP14_2" > § 14.2< / a > ), 21/rb (< a href = "21-rb.html#SP24" > § 24< / a > ), 21/fao (< a href = "21-fao.html#SP10" > § 10< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2020-02-27 03:43:11 +02:00
< p class = "endnote" > The function Emit::named_numeric_constant_hex is used in 6/rlt (< a href = "6-rlt.html#SP14" > § 14< / a > ), 26/fc (< a href = "26-fc.html#SP1" > § 1< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2020-02-27 03:43:11 +02:00
< p class = "endnote" > The function Emit::named_unchecked_constant_hex is used in 26/fc (< a href = "26-fc.html#SP1" > § 1< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2020-02-27 03:43:11 +02:00
< p class = "endnote" > The function Emit::named_numeric_constant_signed is used in 6/nv (< a href = "6-nv.html#SP18" > § 18< / a > ), 26/fc (< a href = "26-fc.html#SP1" > § 1< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::early_comment appears nowhere else.< / p >
2020-03-28 21:42:53 +02:00
< p class = "endnote" > The function Emit::code_comment is used in 4/am (< a href = "4-am.html#SP33_2" > § 33.2< / a > ), 5/lp (< a href = "5-lp.html#SP27" > § 27< / a > , < a href = "5-lp.html#SP29" > § 29< / a > , < a href = "5-lp.html#SP30" > § 30< / a > ), 6/nv (< a href = "6-nv.html#SP18_2" > § 18.2< / a > ), 12/cdp (< a href = "12-cdp.html#SP1" > § 1< / a > ), 13/rsfk (< a href = "13-rsfk.html#SP24_1" > § 24.1< / a > ), 20/eq (< a href = "20-eq.html#SP47" > § 47< / a > ), 25/ci (< a href = "25-ci.html#SP3_2_3" > § 3.2.3< / a > ), 25/cp (< a href = "25-cp.html#SP5_1" > § 5.1< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The function Emit::routine is used in 26/rt (< a href = "26-rt.html#SP4" > § 4< / a > , < a href = "26-rt.html#SP4_1" > § 4.1< / a > ).< / p >
< p class = "endnote" > The function Emit::local is used in 24/lv (< a href = "24-lv.html#SP47" > § 47< / a > ), 26/rt (< a href = "26-rt.html#SP4_1_1" > § 4.1.1< / a > ).< / p >
2019-08-24 13:21:48 +03:00
< p class = "endnote" > The function Emit::cast is used in 13/rsfk (< a href = "13-rsfk.html#SP24_4_1" > § 24.4.1< / a > , < a href = "13-rsfk.html#SP24_4_2" > § 24.4.2< / a > ).< / p >
2019-03-17 14:40:57 +02:00
2019-08-24 13:21:48 +03:00
< p class = "endnote" > The function Emit::intervention is used in 26/i6i (< a href = "26-i6i.html#SP7" > § 7< / a > ), 26/uo (< a href = "26-uo.html#SP17" > § 17< / a > ).< / p >
2019-03-17 14:40:57 +02:00
< p class = "endnote" > The structure dval_written is private to this section.< / p >
2020-03-11 02:21:09 +02:00
< p class = "endnote" > The structure nascent_array is accessed in 5/lp, 5/un, 7/ns, 7/oaf, 7/rs, 9/tfa, 9/tbath, 9/rpt, 9/tc, 9/ma, 9/rk, 9/ass, 9/imp, 9/pd, 10/aots, 10/teav, 10/varc, 10/cap, 11/bas, 11/tc, 11/sc, 11/sm, 12/dtd, 14/sp, 14/rv, 14/lv, 14/cn, 14/ds, 14/ds2, 15/cp, 17/ts, 18/lc, 19/tb, 19/rsft, 19/tod, 21/rl, 21/rl2, 21/rps, 21/ac, 22/cs, 22/ph, 23/ad, 24/lv, 24/ch, 25/in, 25/pi, 25/cp, 26/uo, 26/tti, 27/cm and here.< / p >
2019-03-17 14:40:57 +02:00
2019-04-19 16:36:05 +03:00
< p class = "inwebparagraph" > < a id = "SP4" > < / a > < b > § 4. < / b > < / p >
2019-03-17 14:40:57 +02:00
< pre class = "display" >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > text_stream< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::to_text< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > )-> < / span > < span class = "identifier" > symbol_name< / span > < span class = "plain" > ;< / span >
2019-04-19 16:36:05 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::holster< / span > < span class = "plain" > (< / span > < span class = "identifier" > value_holster< / span > < span class = "plain" > *< / span > < span class = "identifier" > VH< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Holsters::data_acceptable< / span > < span class = "plain" > (< / span > < span class = "identifier" > VH< / span > < span class = "plain" > )) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > inter_t< / span > < span class = "plain" > < / span > < span class = "identifier" > v1< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-04-20 02:28:48 +03:00
< span class = "functiontext" > Emit::to_ival< / span > < span class = "plain" > (& < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , & < / span > < span class = "identifier" > v2< / span > < span class = "plain" > , < / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > Holsters::holster_pair< / span > < span class = "plain" > (< / span > < span class = "identifier" > VH< / span > < span class = "plain" > , < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "plain" > }< / span >
< span class = "plain" > }< / span >
2019-04-20 02:28:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::symbol_to_ival< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
2019-07-23 01:34:28 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) { < / span > < span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > S< / span > < span class = "plain" > , < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > ); < / span > < span class = "reserved" > return< / span > < span class = "plain" > ; }< / span >
2020-04-07 03:06:09 +03:00
< span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > ; *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-04-20 02:28:48 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::to_ival< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "identifier" > inter_bookmark< / span > < span class = "plain" > *< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::at< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-07-23 01:34:28 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) { < / span > < span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Bookmarks::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > Inter::Bookmarks::package< / span > < span class = "plain" > (< / span > < span class = "identifier" > IBM< / span > < span class = "plain" > ), < / span > < span class = "identifier" > S< / span > < span class = "plain" > , < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > ); < / span > < span class = "reserved" > return< / span > < span class = "plain" > ; }< / span >
2020-04-07 03:06:09 +03:00
< span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > ; *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-04-19 16:36:05 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::to_ival_in_context< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > context< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
< span class = "identifier" > package_request< / span > < span class = "plain" > *< / span > < span class = "identifier" > PR< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::location< / span > < span class = "plain" > (< / span > < span class = "identifier" > context< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_package< / span > < span class = "plain" > *< / span > < span class = "identifier" > pack< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::incarnate< / span > < span class = "plain" > (< / span > < span class = "identifier" > PR< / span > < span class = "plain" > );< / span >
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-07-26 12:14:17 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > ) { < / span > < span class = "identifier" > Inter::Symbols::to_data< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Packages::tree< / span > < span class = "plain" > (< / span > < span class = "identifier" > pack< / span > < span class = "plain" > ), < / span > < span class = "identifier" > pack< / span > < span class = "plain" > , < / span > < span class = "identifier" > S< / span > < span class = "plain" > , < / span > < span class = "identifier" > val1< / span > < span class = "plain" > , < / span > < span class = "identifier" > val2< / span > < span class = "plain" > ); < / span > < span class = "reserved" > return< / span > < span class = "plain" > ; }< / span >
2020-04-07 03:06:09 +03:00
< span class = "plain" > *< / span > < span class = "identifier" > val1< / span > < span class = "plain" > = < / span > < span class = "identifier" > LITERAL_IVAL< / span > < span class = "plain" > ; *< / span > < span class = "identifier" > val2< / span > < span class = "plain" > = < / span > < span class = "constant" > 0< / span > < span class = "plain" > ;< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > int< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::defined< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > == < / span > < span class = "identifier" > NULL< / span > < span class = "plain" > ) < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > inter_symbol< / span > < span class = "plain" > *< / span > < span class = "identifier" > S< / span > < span class = "plain" > = < / span > < span class = "identifier" > InterNames::to_symbol< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-04-19 16:36:05 +03:00
< span class = "reserved" > if< / span > < span class = "plain" > (< / span > < span class = "identifier" > Inter::Symbols::is_defined< / span > < span class = "plain" > (< / span > < span class = "identifier" > S< / span > < span class = "plain" > )) < / span > < span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > TRUE< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > FALSE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-04-19 20:15:12 +03:00
< span class = "reserved" > typedef< / span > < span class = "plain" > < / span > < span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "reserved" > ival_emission< / span > < span class = "plain" > {< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > value_holster< / span > < span class = "plain" > < / span > < span class = "identifier" > emission_VH< / span > < span class = "plain" > ;< / span >
< span class = "reserved" > struct< / span > < span class = "plain" > < / span > < span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "identifier" > saved_PS< / span > < span class = "plain" > ;< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > } < / span > < span class = "reserved" > ival_emission< / span > < span class = "plain" > ;< / span >
2019-08-24 13:21:48 +03:00
< span class = "reserved" > ival_emission< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::begin_ival_emission< / span > < span class = "plain" > (< / span > < span class = "identifier" > inter_name< / span > < span class = "plain" > *< / span > < span class = "identifier" > iname< / span > < span class = "plain" > ) {< / span >
2019-04-19 20:15:12 +03:00
< span class = "reserved" > ival_emission< / span > < span class = "plain" > < / span > < span class = "identifier" > IE< / span > < span class = "plain" > ;< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > IE< / span > < span class = "plain" > .< / span > < span class = "element" > emission_VH< / span > < span class = "plain" > = < / span > < span class = "identifier" > Holsters::new< / span > < span class = "plain" > (< / span > < span class = "identifier" > INTER_DATA_VHMODE< / span > < span class = "plain" > );< / span >
< span class = "identifier" > IE< / span > < span class = "plain" > .< / span > < span class = "element" > saved_PS< / span > < span class = "plain" > = < / span > < span class = "identifier" > Packaging::enter_home_of< / span > < span class = "plain" > (< / span > < span class = "identifier" > iname< / span > < span class = "plain" > );< / span >
2019-04-19 20:15:12 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > IE< / span > < span class = "plain" > ;< / span >
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > value_holster< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::ival_holster< / span > < span class = "plain" > (< / span > < span class = "reserved" > ival_emission< / span > < span class = "plain" > *< / span > < span class = "identifier" > IE< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > & (< / span > < span class = "identifier" > IE< / span > < span class = "plain" > -> < / span > < span class = "element" > emission_VH< / span > < span class = "plain" > );< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > }< / span >
< span class = "reserved" > void< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::end_ival_emission< / span > < span class = "plain" > (< / span > < span class = "reserved" > ival_emission< / span > < span class = "plain" > *< / span > < span class = "identifier" > IE< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > inter_t< / span > < span class = "plain" > *< / span > < span class = "identifier" > v2< / span > < span class = "plain" > ) {< / span >
2020-04-07 03:06:09 +03:00
< span class = "identifier" > Holsters::unholster_pair< / span > < span class = "plain" > (& (< / span > < span class = "identifier" > IE< / span > < span class = "plain" > -> < / span > < span class = "element" > emission_VH< / span > < span class = "plain" > ), < / span > < span class = "identifier" > v1< / span > < span class = "plain" > , < / span > < span class = "identifier" > v2< / span > < span class = "plain" > );< / span >
< span class = "identifier" > Packaging::exit< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > (), < / span > < span class = "identifier" > IE< / span > < span class = "plain" > -> < / span > < span class = "element" > saved_PS< / span > < span class = "plain" > );< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > package_request< / span > < span class = "plain" > *< / span > < span class = "functiontext" > Emit::current_enclosure< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
2019-08-31 15:56:36 +03:00
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > Packaging::enclosure< / span > < span class = "plain" > (< / span > < span class = "functiontext" > Emit::tree< / span > < span class = "plain" > ());< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > }< / span >
2019-08-24 13:21:48 +03:00
< span class = "identifier" > packaging_state< / span > < span class = "plain" > < / span > < span class = "functiontext" > Emit::unused_packaging_state< / span > < span class = "plain" > (< / span > < span class = "reserved" > void< / span > < span class = "plain" > ) {< / span >
< span class = "reserved" > return< / span > < span class = "plain" > < / span > < span class = "identifier" > Packaging::stateless< / span > < span class = "plain" > ();< / span >
2019-04-19 20:15:12 +03:00
< span class = "plain" > }< / span >
2019-04-19 16:36:05 +03:00
< / pre >
< p class = "inwebparagraph" > < / p >
2019-09-01 13:50:12 +03:00
< p class = "endnote" > The function Emit::to_text is used in 15/vp (< a href = "15-vp.html#SP3" > § 3< / a > ), 27/hr (< a href = "27-hr.html#SP4" > § 4< / a > ).< / p >
2019-04-19 16:36:05 +03:00
< p class = "endnote" > The function Emit::holster is used in 13/rsfk (< a href = "13-rsfk.html#SP4" > § 4< / a > ), 14/rv (< a href = "14-rv.html#SP24_2" > § 24.2< / a > , < a href = "14-rv.html#SP24_3" > § 24.3< / a > , < a href = "14-rv.html#SP24_3_1" > § 24.3.1< / a > ), 17/tl (< a href = "17-tl.html#SP10" > § 10< / a > , < a href = "17-tl.html#SP10_2_1" > § 10.2.1< / a > , < a href = "17-tl.html#SP16" > § 16< / a > ), 17/ts (< a href = "17-ts.html#SP8" > § 8< / a > , < a href = "17-ts.html#SP8_1" > § 8.1< / a > ), 17/rs (< a href = "17-rs.html#SP12" > § 12< / a > ).< / p >
2019-04-20 02:28:48 +03:00
< p class = "endnote" > The function Emit::symbol_to_ival is used in 13/rsfk (< a href = "13-rsfk.html#SP5" > § 5< / a > ).< / p >
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::to_ival is used in 13/rsfk (< a href = "13-rsfk.html#SP5" > § 5< / a > ).< / p >
< p class = "endnote" > The function Emit::to_ival_in_context is used in 17/tl (< a href = "17-tl.html#SP13" > § 13< / a > ).< / p >
< p class = "endnote" > The function Emit::defined is used in 13/rsfk (< a href = "13-rsfk.html#SP24" > § 24< / a > ).< / p >
< p class = "endnote" > The function Emit::begin_ival_emission is used in 5/nv (< a href = "5-nv.html#SP25" > § 25< / a > ).< / p >
< p class = "endnote" > The function Emit::ival_holster is used in 5/nv (< a href = "5-nv.html#SP25" > § 25< / a > ).< / p >
< p class = "endnote" > The function Emit::end_ival_emission is used in 5/nv (< a href = "5-nv.html#SP25" > § 25< / a > ).< / p >
2020-01-10 01:10:09 +02:00
< p class = "endnote" > The function Emit::current_enclosure is used in 17/ts (< a href = "17-ts.html#SP8" > § 8< / a > , < a href = "17-ts.html#SP8_1" > § 8.1< / a > ), 18/lc (< a href = "18-lc.html#SP5" > § 5< / a > ), 25/cii (< a href = "25-cii.html#SP8" > § 8< / a > ).< / p >
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The function Emit::unused_packaging_state is used in 21/rb (< a href = "21-rb.html#SP24_1" > § 24.1< / a > ), 26/rt (< a href = "26-rt.html#SP3" > § 3< / a > ).< / p >
2019-04-19 16:36:05 +03:00
2019-04-19 20:15:12 +03:00
< p class = "endnote" > The structure ival_emission is private to this section.< / p >
2019-04-19 16:36:05 +03:00
2019-03-17 14:40:57 +02:00
< hr class = "tocbar" >
2019-08-24 13:21:48 +03:00
< ul class = "toc" > < li > < a href = "27-cm.html" > Back to 'Compilation Modules'< / a > < / li > < li > < i > (This section ends Chapter 27: Bridge to Inter Module.)< / i > < / li > < / ul > < hr class = "tocbar" >
2019-04-22 17:42:10 +03:00
<!-- End of weave -->
2020-03-19 02:11:25 +02:00
< / main >
2019-03-17 14:40:57 +02:00
< / body >
< / html >