2021-08-12 21:07:06 +03:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > C Literals< / title >
< link href = "../docs-assets/Breadcrumbs.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< meta name = "viewport" content = "width=device-width initial-scale=1" >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" >
< meta http-equiv = "Content-Language" content = "en-gb" >
< link href = "../docs-assets/Contents.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Progress.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Navigation.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Fonts.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Base.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< script >
function togglePopup(material_id) {
var popup = document.getElementById(material_id);
popup.classList.toggle("show");
}
< / script >
< link href = "../docs-assets/Popups.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2021-09-05 11:35:10 +03:00
< link href = "../docs-assets/Extracts-Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2021-08-12 21:07:06 +03:00
< / head >
< body class = "commentary-font" >
< nav role = "navigation" >
< h1 > < a href = "../index.html" >
< img src = "../docs-assets/Inform.png" height = 72" >
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
< / ul > < h2 > Compiler Webs< / h2 > < ul >
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../assertions-module/index.html" > assertions< / a > < / li >
< li > < a href = "../values-module/index.html" > values< / a > < / li >
< li > < a href = "../knowledge-module/index.html" > knowledge< / a > < / li >
< li > < a href = "../imperative-module/index.html" > imperative< / a > < / li >
< li > < a href = "../runtime-module/index.html" > runtime< / a > < / li >
< li > < a href = "../if-module/index.html" > if< / a > < / li >
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../pipeline-module/index.html" > pipeline< / a > < / li >
< li > < a href = "index.html" > < span class = "selectedlink" > final< / span > < / a > < / li >
< / ul > < h2 > Services< / h2 > < ul >
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../calculus-module/index.html" > calculus< / a > < / li >
< li > < a href = "../html-module/index.html" > html< / a > < / li >
< li > < a href = "../inflections-module/index.html" > inflections< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
< li > < a href = "../linguistics-module/index.html" > linguistics< / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / a > < / li >
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
<!-- Weave of 'C Literals' generated by Inweb -->
< div class = "breadcrumbs" >
2021-10-11 03:11:20 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Inter Modules< / a > < / li > < li > < a href = "index.html" > final< / a > < / li > < li > < a href = "index.html#5" > Chapter 5: C< / a > < / li > < li > < b > C Literals< / b > < / li > < / ul > < / div >
2021-08-12 21:07:06 +03:00
< p class = "purpose" > Text and dictionary words translated to C.< / p >
< ul class = "toc" > < li > < a href = "5-clt.html#SP1" > § 1. Setting up the model< / a > < / li > < / ul > < hr class = "tocbar" >
< p class = "commentary firstcommentary" > < a id = "SP1" class = "paragraph-anchor" > < / a > < b > § 1. Setting up the model. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-09-22 19:28:55 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::initialise< / span > < button class = "popup" onclick = "togglePopup('usagePopup1')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup1" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::initialise< / span > < / span > :< br / > Final C - < a href = "5-fnc.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COMPILE_DICTIONARY_WORD_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_dictionary_word< / span > < / a > < span class = "plain-syntax" > );< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COMPILE_LITERAL_NUMBER_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_literal_number< / span > < / a > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COMPILE_LITERAL_REAL_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_literal_real< / span > < / a > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COMPILE_LITERAL_TEXT_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP6" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_literal_text< / span > < / a > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > COMPILE_LITERAL_SYMBOL_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP5" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_literal_symbol< / span > < / a > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > METHOD_ADD< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > NEW_ACTION_MTID< / span > < span class = "plain-syntax" > , < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::new_action< / span > < / a > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_generation_literals_model_data< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > double_quoted_C< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > no_double_quoted_C_strings< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_dword_count< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > verb_count< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_action_count< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_fake_action_count< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > linked_list< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > words< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > of < / span > < span class = "extract" > < span class = "extract-syntax" > C_dword< / span > < / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > linked_list< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > verbs< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > of < / span > < span class = "extract" > < span class = "extract-syntax" > C_dword< / span > < / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > linked_list< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > actions< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > of < / span > < span class = "extract" > < span class = "extract-syntax" > text_stream< / span > < / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > linked_list< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > verb_grammar< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > of < / span > < span class = "extract" > < span class = "extract-syntax" > text_stream< / span > < / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dictionary< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > ditto< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > C_generation_literals_model_data< / span > < span class = "plain-syntax" > ;< / span >
2021-10-25 02:03:03 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::initialise_data< / span > < button class = "popup" onclick = "togglePopup('usagePopup2')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup2" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::initialise_data< / span > < / span > :< br / > Final C - < a href = "5-fnc.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > double_quoted_C< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > Str::new< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > no_double_quoted_C_strings< / span > < span class = "plain-syntax" > ) = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_dword_count< / span > < span class = "plain-syntax" > ) = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_count< / span > < span class = "plain-syntax" > ) = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_action_count< / span > < span class = "plain-syntax" > ) = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_fake_action_count< / span > < span class = "plain-syntax" > ) = < / span > < span class = "constant-syntax" > 4096< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > words< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > NEW_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verbs< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > NEW_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > actions< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > NEW_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_grammar< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > NEW_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ) = < / span > < span class = "identifier-syntax" > Dictionaries::new< / span > < span class = "plain-syntax" > (1024, < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
2021-10-25 02:03:03 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::begin< / span > < button class = "popup" onclick = "togglePopup('usagePopup3')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup3" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::begin< / span > < / span > :< br / > Final C - < a href = "5-fnc.html#SP5" > § 5< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP1" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::initialise_data< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-10-25 02:03:03 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::end< / span > < button class = "popup" onclick = "togglePopup('usagePopup4')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup4" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::end< / span > < / span > :< br / > Final C - < a href = "5-fnc.html#SP6" > § 6< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_dwords< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_verb_table< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compile_actions_table< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > segmentation_pos< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::select< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > c_predeclarations_I7CGS< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "char *dqs[] = {\n%S\"\" };\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > double_quoted_C< / span > < span class = "plain-syntax" > ));< / span >
2021-09-01 18:32:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "#define i7_mgl_Grammar__Version 2\n"< / span > < span class = "plain-syntax" > );< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::deselect< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2021-09-05 15:25:25 +03:00
< ul class = "endnotetexts" > < li > The structure C_generation_literals_model_data is accessed in 5/cfm and here.< / li > < / ul >
2021-08-12 21:07:06 +03:00
< p class = "commentary firstcommentary" > < a id = "SP2" class = "paragraph-anchor" > < / a > < b > § 2. < / b > < / p >
< pre class = "displayed-code all-displayed-code code-font" >
2021-08-31 00:07:40 +03:00
< span class = "reserved-syntax" > typedef< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > text< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > struct< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > identifier< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > meta< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > preplike< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > nounlike< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > verblike< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > verb_number< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > grammar_table_offset< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > CLASS_DEFINITION< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > ;< / span >
< span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > CLiteralsModel::text_to_dword< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_THROUGH_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PUT_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Characters::tolower< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > )));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_last_char< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > ) == < / span > < span class = "character-syntax" > '/'< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > Str::delete_last_character< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Dictionaries::find< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Dictionaries::read_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > pluralise< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > CREATE< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::duplicate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::new< / span > < span class = "plain-syntax" > ();< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > < / span > < span class = "string-syntax" > "i7_dword_%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_dword_count< / span > < span class = "plain-syntax" > )++);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > pluralise< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > meta< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > preplike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > nounlike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verblike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verb_number< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > grammar_table_offset< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ADD_TO_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > words< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Dictionaries::create< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Dictionaries::write_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_vm_dictionary< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > K< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_dwords< / span > < button class = "popup" onclick = "togglePopup('usagePopup5')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup5" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_dwords< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_dword_count< / span > < span class = "plain-syntax" > );< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > segmentation_pos< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::select< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > c_predeclarations_I7CGS< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP4" class = "function-link" > < span class = "function-syntax" > CMemoryModel::begin_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "#dictionary_table"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > < 4; < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "I7BYTE_%d(%d)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP7" class = "function-link" > < span class = "function-syntax" > CMemoryModel::end_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > **< / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > = (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > **)< / span >
< span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Memory::calloc< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > sizeof< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *), < / span > < span class = "constant-syntax" > CODE_GENERATION_MREASON< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > words< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++] = < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > qsort< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > , (< / span > < span class = "identifier-syntax" > size_t< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > LinkedLists::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > words< / span > < span class = "plain-syntax" > )), < / span > < span class = "reserved-syntax" > sizeof< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *), < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::compare_dwords< / span > < / a > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ];< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP4" class = "function-link" > < span class = "function-syntax" > CMemoryModel::begin_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ]-> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 01:26:37 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "0x60"< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 01:26:37 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < 9; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > text< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) == < / span > < span class = "character-syntax" > '\''< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "'\\''"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "'%c'"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "0"< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-08-31 01:26:37 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1H< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1L< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2H< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2L< / span > < span class = "plain-syntax" > )< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verblike< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > meta< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > pluralise< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 4< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > preplike< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > nounlike< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 128< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1H< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "((%d)/256)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1L< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "((%d)%%256)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > f< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2H< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "((%d)/256)"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0xFFFF< / span > < span class = "plain-syntax" > - < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verb_number< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2L< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "((%d)%%256)"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0xFFFF< / span > < span class = "plain-syntax" > - < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verb_number< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DP1H< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DP1L< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DP2H< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > DP2L< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "0"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "0"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 01:26:37 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1H< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP1L< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2H< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > DP2L< / span > < span class = "plain-syntax" > )< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP7" class = "function-link" > < span class = "function-syntax" > CMemoryModel::end_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Memory::I7_free< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sorted< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > CODE_GENERATION_MREASON< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dictlen< / span > < span class = "plain-syntax" > );< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::deselect< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compare_dwords< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > const< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > ent1< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > const< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > ent2< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > tx1< / span > < span class = "plain-syntax" > = (*((< / span > < span class = "reserved-syntax" > const< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > **) < / span > < span class = "identifier-syntax" > ent1< / span > < span class = "plain-syntax" > ))-> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > tx2< / span > < span class = "plain-syntax" > = (*((< / span > < span class = "reserved-syntax" > const< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > **) < / span > < span class = "identifier-syntax" > ent2< / span > < span class = "plain-syntax" > ))-> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Str::cmp_insensitive< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > tx1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > tx2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-09-22 19:28:55 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_dictionary_word< / span > < button class = "popup" onclick = "togglePopup('usagePopup6')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup6" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_dictionary_word< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ,< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 00:07:40 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::text_to_dword< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pluralise< / span > < span class = "plain-syntax" > );< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > nounlike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2021-10-25 02:03:03 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cnm.html#SP3" class = "function-link" > < span class = "function-syntax" > CNamespace::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
2021-08-31 15:09:34 +03:00
2021-10-26 01:59:20 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::verb_grammar< / span > < button class = "popup" onclick = "togglePopup('usagePopup7')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup7" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::verb_grammar< / span > < / span > :< br / > C Memory Model - < a href = "5-cmm.html#SP4_1" > § 4.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ,< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > array_s< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_tree_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_tree< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > from< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > verbnum< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_count< / span > < span class = "plain-syntax" > )++;< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > line_actions< / span > < span class = "plain-syntax" > [128];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > line_reverse< / span > < span class = "plain-syntax" > [128];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > DATA_CONST_IFLD< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "function-syntax" > < P-> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > extent< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +2) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +1];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::is_stored_in_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_DIVIDER"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > line_reverse< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ] = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > line_actions< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ++] = < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_RESULT"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +2], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +3];< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > res< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > res< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > line_actions< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > -1] = < / span > < span class = "identifier-syntax" > res< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_REVERSE"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +1];< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > res< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > res< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > line_reverse< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > -1] = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > address< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > LinkedLists::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_grammar< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ); < / span > < span class = "comment-syntax" > no grammar lines< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > synonyms< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > started< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > DATA_CONST_IFLD< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "function-syntax" > < P-> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > extent< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +2) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +1];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > DWORD_IVAL< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Inter::Warehouse::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > InterTree::warehouse< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::text_to_dword< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verb_number< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > verbnum< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > verblike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::read_annotation< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > array_s< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > METAVERB_IANN< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > meta< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > synonyms< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > synonyms< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ADD_TO_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verbs< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > }< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > grammar_table_offset< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > address< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::is_stored_in_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_DIVIDER"< / span > < span class = "plain-syntax" > )) { < / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > -= < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ; }< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "not a divider"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "not a dword"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > stage< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ) {< / span >
2021-09-05 15:25:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > slash_before< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > slash_after< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > > < / span > < span class = "identifier-syntax" > DATA_CONST_IFLD< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > -2], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > -1];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::is_stored_in_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_SLASH"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > slash_before< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +2 < < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > extent< / span > < span class = "plain-syntax" > ) {< / span >
2021-09-05 15:25:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +2], < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > data< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +3];< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::is_stored_in_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_SLASH"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-05 15:25:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > slash_after< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-09-05 15:25:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > slash_before< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 0x10< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > slash_after< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 0x20< / span > < span class = "plain-syntax" > ;< / span >
2021-09-05 11:35:10 +03:00
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::is_stored_in_data< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > InterSymbolsTables::symbol_from_data_pair_and_table< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Packages::scope_of< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad aliased symbol"< / span > < span class = "plain-syntax" > );< / span >
2021-09-05 15:25:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_SLASH"< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_DIVIDER"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > started< / span > < span class = "plain-syntax" > ) < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "i7_mgl_ENDIT_TOKEN"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
2021-10-25 02:03:03 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cnm.html#SP3" class = "function-link" > < span class = "function-syntax" > CNamespace::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > line_actions< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ]-> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "I7BYTE_2(%S)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "I7BYTE_3(%S)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > ); < / span > < span class = "comment-syntax" > action (big end)< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > ); < / span > < span class = "comment-syntax" > action (lil end)< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > B< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > line_reverse< / span > < span class = "plain-syntax" > [< / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ])< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lines< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > started< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_RESULT"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_REVERSE"< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_NOUN"< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > }< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_HELD"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_MULTI"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_MULTIHELD"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 3< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_MULTIEXCEPT"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 4< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_MULTIINSIDE"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 5< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_CREATURE"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 6< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_SPECIAL"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 7< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_NUMBER"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 8< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::eq< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > symbol_name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_DIRECTIVE_TOPIC"< / span > < span class = "plain-syntax" > )) {< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 9< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-09-01 15:17:12 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0x86< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::read_annotation< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > SCOPE_FILTER_IANN< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0x85< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Inter::Symbols::read_annotation< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NOUN_FILTER_IANN< / span > < span class = "plain-syntax" > ) == < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0x83< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > bc< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
2021-10-25 02:03:03 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cnm.html#SP3" class = "function-link" > < span class = "function-syntax" > CNamespace::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Inter::Symbols::name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > ));< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > DWORD_IVAL< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Inter::Warehouse::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > InterTree::warehouse< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::text_to_dword< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > );< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > preplike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0x42< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
2021-10-25 02:03:03 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cnm.html#SP3" class = "function-link" > < span class = "function-syntax" > CNamespace::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > val1< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > PDWORD_IVAL< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Inter::Warehouse::get_text< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > InterTree::warehouse< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > val2< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > = < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::text_to_dword< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > glob_text< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > );< / span >
2021-09-05 11:35:10 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > preplike< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > TRUE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0x42< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
2021-10-25 02:03:03 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cnm.html#SP3" class = "function-link" > < span class = "function-syntax" > CNamespace::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > identifier< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > MG< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > continue< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > started< / span > < span class = "plain-syntax" > ) < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "i7_mgl_ENDIT_TOKEN"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::grammar_byte< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::grammar_word< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_word_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::grammar_word_textual< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > < 4; < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > BT< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > BT< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "I7BYTE_%d(%S)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > b< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-clt.html#SP2" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > BT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > BT< / span > < span class = "plain-syntax" > )< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-08-31 19:08:49 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::grammar_byte_textual< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::duplicate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ADD_TO_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_grammar< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > }< / span >
2021-08-31 15:09:34 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_verb_table< / span > < button class = "popup" onclick = "togglePopup('usagePopup8')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup8" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_verb_table< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP4" class = "function-link" > < span class = "function-syntax" > CMemoryModel::begin_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "#grammar_table"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_count< / span > < span class = "plain-syntax" > ) - < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > ; < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > C_dword< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verbs< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
2021-08-31 19:08:49 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "(i7_ss_grammar_table_cont+%d /* %d: %S */ )"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > grammar_table_offset< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ++, < / span > < span class = "identifier-syntax" > dw< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > text< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP7" class = "function-link" > < span class = "function-syntax" > CMemoryModel::end_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP4" class = "function-link" > < span class = "function-syntax" > CMemoryModel::begin_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "#grammar_table_cont"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > entry< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > entry< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > verb_grammar< / span > < span class = "plain-syntax" > )) {< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > entry< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP7" class = "function-link" > < span class = "function-syntax" > CMemoryModel::end_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > BYTE_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > }< / span >
2021-09-22 19:28:55 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::new_action< / span > < button class = "popup" onclick = "togglePopup('usagePopup9')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup9" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::new_action< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > true_action< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > segmentation_pos< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::select< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > c_predeclarations_I7CGS< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > true_action< / span > < span class = "plain-syntax" > ) {< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-com.html#SP4" class = "function-link" > < span class = "function-syntax" > CObjectModel::define_header_constant_for_action< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_action_count< / span > < span class = "plain-syntax" > ));< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "#define i7_ss_%S %d\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_action_count< / span > < span class = "plain-syntax" > )++);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > ADD_TO_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::duplicate< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > actions< / span > < span class = "plain-syntax" > ));< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "#define i7_ss_%S %d\n"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > name< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_fake_action_count< / span > < span class = "plain-syntax" > )++);< / span >
< span class = "plain-syntax" > }< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-cg.html#SP10" class = "function-link" > < span class = "function-syntax" > CodeGen::deselect< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > saved< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_actions_table< / span > < button class = "popup" onclick = "togglePopup('usagePopup10')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup10" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_actions_table< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP4" class = "function-link" > < span class = "function-syntax" > CMemoryModel::begin_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "#actions_table"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > C_action_count< / span > < span class = "plain-syntax" > ));< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > an< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_OVER_LINKED_LIST< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > an< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > actions< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > TEMPORARY_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "i7_mgl_%SSub"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > an< / span > < span class = "plain-syntax" > );< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP5" class = "function-link" > < span class = "function-syntax" > CMemoryModel::array_entry< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DISCARD_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > N< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < a href = "5-cmm.html#SP7" class = "function-link" > < span class = "function-syntax" > CMemoryModel::end_array< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > WORD_ARRAY_FORMAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > );< / span >
2021-08-31 15:09:34 +03:00
< span class = "plain-syntax" > }< / span >
2021-08-12 21:07:06 +03:00
< / pre >
2021-10-08 12:36:36 +03:00
< ul class = "endnotetexts" > < li > The structure C_dword is accessed in 5/com and here.< / li > < / ul >
2021-08-12 21:07:06 +03:00
< p class = "commentary firstcommentary" > < a id = "SP3" class = "paragraph-anchor" > < / a > < b > § 3. < / b > < / p >
2021-09-18 20:54:26 +03:00
< pre class = "Extracts-displayed-code all-displayed-code code-font" >
2021-09-21 01:26:22 +03:00
< span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_try< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7process_t< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > action_id< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > n< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > s< / span > < span class = "Extracts-plain-syntax" > );< / span >
2021-09-18 20:54:26 +03:00
< / pre >
< ul class = "endnotetexts" > < li > This is part of the extract file inform7_clib.h.< / li > < / ul >
< pre class = "Extracts-displayed-code all-displayed-code code-font" >
< span class = "Extracts-plain-syntax" > #< / span > < span class = "Extracts-identifier-syntax" > ifdef< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_TryAction< / span >
2021-09-21 01:26:22 +03:00
< span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > fn_i7_mgl_TryAction< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7process_t< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_req< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_by< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_ac< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_n< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_s< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_stora< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_smeta< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_tbits< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_saved_command< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_mgl_local_text_of_command< / span > < span class = "Extracts-plain-syntax" > );< / span >
< span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_try< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7process_t< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > action_id< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > n< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > s< / span > < span class = "Extracts-plain-syntax" > ) {< / span >
2021-09-18 20:54:26 +03:00
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > return< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > fn_i7_mgl_TryAction< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > action_id< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > n< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > s< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > );< / span >
< span class = "Extracts-plain-syntax" > }< / span >
< span class = "Extracts-plain-syntax" > #< / span > < span class = "Extracts-identifier-syntax" > endif< / span >
< / pre >
< ul class = "endnotetexts" > < li > This is part of the extract file inform7_clib.c.< / li > < / ul >
< p class = "commentary firstcommentary" > < a id = "SP4" class = "paragraph-anchor" > < / a > < b > § 4. < / b > < / p >
2021-08-12 21:07:06 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2021-09-22 19:28:55 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_literal_number< / span > < button class = "popup" onclick = "togglePopup('usagePopup11')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup11" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_literal_number< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > ,< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > hex_mode< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > hex_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "0x%x"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "%d"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > val< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-08-17 17:55:25 +03:00
< span class = "comment-syntax" > Return 10 raised to the expo power.< / span >
< span class = "plain-syntax" > *< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > I< / span > < span class = "character-syntax" > 'm avoiding the standard pow() function for a rather lame reason:< / span >
< span class = "character-syntax" > * it'< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > in< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > the< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > libmath< / span > < span class = "plain-syntax" > (-< / span > < span class = "identifier-syntax" > lm< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > library< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > and< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > don< / span > < span class = "character-syntax" > 't want to change the< / span >
< span class = "character-syntax" > * build model for the compiler. So, this is implemented with a stupid< / span >
< span class = "character-syntax" > * lookup table. It'< / span > < span class = "identifier-syntax" > s< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > faster< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > than< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > pow< / span > < span class = "plain-syntax" > () < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > small< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > values< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > of< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > .< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > Probably< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > not< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > as< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fast< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > is< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 200< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > but< / span > < span class = "plain-syntax" > < / span > < span class = "string-syntax" > "$+1e200"< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > is< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > an< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > overflow< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > anyway< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > so< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > I< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > don< / span > < span class = "character-syntax" > 't expect that to be a problem.< / span >
< span class = "character-syntax" > *< / span >
< span class = "character-syntax" > * (For some reason, frexp() and ldexp(), which are used later on, do< / span >
< span class = "character-syntax" > * not require libmath to be linked in.)< / span >
< span class = "character-syntax" > */< / span >
< span class = "character-syntax" > #ifndef POW10_RANGE< / span >
< span class = "character-syntax" > #define POW10_RANGE (8)< / span >
< span class = "character-syntax" > #endif< / span >
< span class = "character-syntax" > double CLiteralsModel::pow10_cheap(int expo)< / span >
< span class = "character-syntax" > {< / span >
< span class = "character-syntax" > static double powers[POW10_RANGE*2+1] = {< / span >
< span class = "character-syntax" > 0.00000001, 0.0000001, 0.000001, 0.00001, 0.0001, 0.001, 0.01, 0.1,< / span >
< span class = "character-syntax" > 1.0,< / span >
< span class = "character-syntax" > 10.0, 100.0, 1000.0, 10000.0, 100000.0, 1000000.0, 10000000.0, 100000000.0< / span >
< span class = "character-syntax" > };< / span >
< span class = "character-syntax" > double res = 1.0;< / span >
< span class = "character-syntax" > if (expo < 0) {< / span >
< span class = "character-syntax" > for (; expo < -POW10_RANGE; expo += POW10_RANGE) {< / span >
< span class = "character-syntax" > res *= powers[0];< / span >
< span class = "character-syntax" > }< / span >
< span class = "character-syntax" > return res * powers[POW10_RANGE+expo];< / span >
< span class = "character-syntax" > }< / span >
< span class = "character-syntax" > else {< / span >
< span class = "character-syntax" > for (; expo > POW10_RANGE; expo -= POW10_RANGE) {< / span >
< span class = "character-syntax" > res *= powers[POW10_RANGE*2];< / span >
< span class = "character-syntax" > }< / span >
< span class = "character-syntax" > return res * powers[POW10_RANGE+expo];< / span >
< span class = "character-syntax" > }< / span >
< span class = "character-syntax" > }< / span >
< span class = "comment-syntax" > Return the IEEE-754 single-precision encoding of a floating-point< / span >
< span class = "character-syntax" > * number. See http:< / span > < span class = "comment-syntax" > www.psc.edu/general/software/packages/ieee/ieee.php< / span >
< span class = "character-syntax" > * for an explanation.< / span >
< span class = "character-syntax" > *< / span >
< span class = "character-syntax" > * The number is provided in the pieces it was parsed in:< / span >
< span class = "character-syntax" > * [+|-] intv "." fracv "e" [+|-]expo< / span >
< span class = "character-syntax" > *< / span >
< span class = "character-syntax" > * If the magnitude is too large (beyond about 3.4e+38), this returns< / span >
< span class = "character-syntax" > * an infinite value (0x7f800000 or 0xff800000). If the magnitude is too< / span >
< span class = "character-syntax" > * small (below about 1e-45), this returns a zero value (0x00000000 or< / span >
< span class = "character-syntax" > * 0x80000000). If any of the inputs are NaN, this returns NaN (but the< / span >
< span class = "character-syntax" > * lexer should never do that).< / span >
< span class = "character-syntax" > *< / span >
< span class = "character-syntax" > * Note that using a float constant does *not* set the uses_float_features< / span >
< span class = "character-syntax" > * flag (which would cause the game file to be labelled 3.1.2). There'< / span > < span class = "identifier-syntax" > s< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > no< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > VM< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > feature< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > here< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > just< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > an< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > integer< / span > < span class = "plain-syntax" > . < / span > < span class = "identifier-syntax" > Of< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > course< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > any< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > use< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > of< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > the< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > float< / span >
< span class = "plain-syntax" > * *< / span > < span class = "identifier-syntax" > opcodes< / span > < span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > will< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > set< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > the< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > flag< / span > < span class = "plain-syntax" > .< / span >
< span class = "plain-syntax" > *< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > The< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > math< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > functions< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > in< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > this< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > routine< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > require< / span > < span class = "plain-syntax" > #< / span > < span class = "identifier-syntax" > including< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > < math.h> < / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > but< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > they< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > should< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > not< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > require< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > linking< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > the< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > math< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > library< / span > < span class = "plain-syntax" > (-< / span > < span class = "identifier-syntax" > lm< / span > < span class = "plain-syntax" > ). < / span > < span class = "identifier-syntax" > At< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > least< / span > < span class = "plain-syntax" > ,< / span >
< span class = "plain-syntax" > * < / span > < span class = "identifier-syntax" > they< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > do< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > not< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > on< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OSX< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > and< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Linux< / span > < span class = "plain-syntax" > .< / span >
< span class = "plain-syntax" > */< / span >
< span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::construct_float< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > )< / span >
< span class = "plain-syntax" > {< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > absval< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > ) * < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::pow10_cheap< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > ? < / span > < span class = "constant-syntax" > 0x80000000< / span > < span class = "plain-syntax" > : < / span > < span class = "constant-syntax" > 0x0< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fbits< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > isinf< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > absval< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > | < / span > < span class = "constant-syntax" > 0x7f800000< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > infinity< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > isnan< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > absval< / span > < span class = "plain-syntax" > )) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > | < / span > < span class = "constant-syntax" > 0x7fc00000< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > frexp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > absval< / span > < span class = "plain-syntax" > , & < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "comment-syntax" > Normalize mantissa to be in the range [1.0, 2.0)< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (0.5 < = < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > & & < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > < < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > .0) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > *= < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > .0;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > --;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > .0) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > | < / span > < span class = "constant-syntax" > 0x7f800000< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > infinity< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 128< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > | < / span > < span class = "constant-syntax" > 0x7f800000< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > infinity< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > < -126) {< / span >
< span class = "plain-syntax" > < / span > < span class = "comment-syntax" > Denormalized (very small) number< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > ldexp< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 126< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (!(< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > & & < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > .0)) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > += < / span > < span class = "constant-syntax" > 127< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > -= < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > .0; < / span > < span class = "comment-syntax" > Get rid of leading 1< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > *= < / span > < span class = "constant-syntax" > 8388608< / span > < span class = "plain-syntax" > .0; < / span > < span class = "comment-syntax" > 2^23< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fbits< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > )(< / span > < span class = "identifier-syntax" > mant< / span > < span class = "plain-syntax" > + < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > .5); < / span > < span class = "comment-syntax" > round mant to nearest int< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > fbits< / span > < span class = "plain-syntax" > > > < / span > < span class = "constant-syntax" > 23< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "comment-syntax" > The carry propagated out of a string of 23 1 bits.< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fbits< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > > = < / span > < span class = "constant-syntax" > 255< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > | < / span > < span class = "constant-syntax" > 0x7f800000< / span > < span class = "plain-syntax" > ; < / span > < span class = "comment-syntax" > infinity< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > sign< / span > < span class = "plain-syntax" > ) | ((< / span > < span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > )(< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > < < < / span > < span class = "constant-syntax" > 23< / span > < span class = "plain-syntax" > )) | (< / span > < span class = "identifier-syntax" > fbits< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > > = < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > < = < / span > < span class = "character-syntax" > '9'< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > - < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-09-22 19:28:55 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_literal_real< / span > < button class = "popup" onclick = "togglePopup('usagePopup12')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup12" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_literal_real< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > ,< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > =0; < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > =0, < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > =0;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expocount< / span > < span class = "plain-syntax" > =0, < / span > < span class = "identifier-syntax" > intcount< / span > < span class = "plain-syntax" > =0, < / span > < span class = "identifier-syntax" > fraccount< / span > < span class = "plain-syntax" > =0, < / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > =0;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '-'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '+'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > }< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > ) < < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > .0*< / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > + < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > intcount< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '.'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > double< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fracpow< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > .0;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > ) < < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fracpow< / span > < span class = "plain-syntax" > *= < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > .1;< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > fracpow< / span > < span class = "plain-syntax" > *< / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > fraccount< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > 'e'< / span > < span class = "plain-syntax" > || < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > 'E'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exposign< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '+'< / span > < span class = "plain-syntax" > || < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '-'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > exposign< / span > < span class = "plain-syntax" > = (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '-'< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > }< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > ) < < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > + < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::character_digit_value< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > expocount< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > lookahead< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > at< / span > < span class = "plain-syntax" > ++);< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > expocount< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > STDERR< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Floating-point literal '%S' must have digits after the 'e'"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > );< / span >
2021-08-19 01:59:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad floating-point literal"< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > exposign< / span > < span class = "plain-syntax" > ) { < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > = -< / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > ; }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > intcount< / span > < span class = "plain-syntax" > + < / span > < span class = "identifier-syntax" > fraccount< / span > < span class = "plain-syntax" > == < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE_TO< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > STDERR< / span > < span class = "plain-syntax" > , < / span > < span class = "string-syntax" > "Floating-point literal '%S' must have digits"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > textual< / span > < span class = "plain-syntax" > );< / span >
2021-08-19 01:59:31 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "bad floating-point literal"< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > }< / span >
2021-09-18 20:54:26 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > uint32_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > n< / span > < span class = "plain-syntax" > = < / span > < a href = "5-clt.html#SP4" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::construct_float< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > signbit< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > intv< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > fracv< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > expo< / span > < span class = "plain-syntax" > );< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-09-21 01:26:22 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "(i7word_t) 0x%08x"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > n< / span > < span class = "plain-syntax" > );< / span >
2021-08-17 17:55:25 +03:00
< span class = "plain-syntax" > }< / span >
2021-08-12 21:07:06 +03:00
< / pre >
2021-08-17 17:55:25 +03:00
< ul class = "endnotetexts" > < li > The function CLiteralsModel::pow10_cheap appears nowhere else.< / li > < / ul >
2021-09-18 20:54:26 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" class = "paragraph-anchor" > < / a > < b > § 5. < / b > < / p >
2021-08-12 21:07:06 +03:00
2021-10-26 01:59:20 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_literal_symbol< / span > < button class = "popup" onclick = "togglePopup('usagePopup13')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup13" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_literal_symbol< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_symbol< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Inter::Symbols::name< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > aliased< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < a href = "2-cg2.html#SP14" class = "function-link" > < span class = "function-syntax" > Generators::mangle< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP6" class = "paragraph-anchor" > < / a > < b > § 6. < / b > < / p >
2021-08-12 21:07:06 +03:00
< pre class = "displayed-code all-displayed-code code-font" >
2021-08-19 13:05:05 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::hex_val< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > > = < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > < = < / span > < span class = "character-syntax" > '9'< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > - < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > > = < / span > < span class = "character-syntax" > 'a'< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > < = < / span > < span class = "character-syntax" > 'f'< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > - < / span > < span class = "character-syntax" > 'a'< / span > < span class = "plain-syntax" > + < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > > = < / span > < span class = "character-syntax" > 'A'< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > < = < / span > < span class = "character-syntax" > 'F'< / span > < span class = "plain-syntax" > )) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > - < / span > < span class = "character-syntax" > 'A'< / span > < span class = "plain-syntax" > + < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > -1;< / span >
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::compile_literal_text< / span > < button class = "popup" onclick = "togglePopup('usagePopup14')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup14" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::compile_literal_text< / span > < / span > :< br / > < a href = "5-clt.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generator< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cgt< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ,< / span >
2021-09-26 13:01:13 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > escape_mode< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
2021-09-26 13:01:13 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > literal_text_mode< / span > < span class = "plain-syntax" > != < / span > < span class = "constant-syntax" > PRINTING_LTM< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "(I7VAL_STRINGS_BASE + %d)"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > no_double_quoted_C_strings< / span > < span class = "plain-syntax" > )++);< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "identifier-syntax" > double_quoted_C< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\""< / span > < span class = "plain-syntax" > );< / span >
2021-08-15 14:00:01 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > escape_mode< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-19 13:05:05 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > for< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > =0; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > < < / span > < span class = "identifier-syntax" > Str::len< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > ); < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > );< / span >
2021-08-19 10:59:41 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-19 13:05:05 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '@'< / span > < span class = "plain-syntax" > : {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +1) == < / span > < span class = "character-syntax" > '@'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Characters::isdigit< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , ++< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > )))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 10< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > + (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) - < / span > < span class = "character-syntax" > '0'< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\n'< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\"'< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > --;< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > +1) == < / span > < span class = "character-syntax" > '{'< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ++;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > while< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , ++< / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) != < / span > < span class = "character-syntax" > '}'< / span > < span class = "plain-syntax" > ) & & (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ) != < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > ))< / span >
2021-10-26 01:59:20 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > = < / span > < span class = "constant-syntax" > 16< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > + < / span > < a href = "5-clt.html#SP6" class = "function-link" > < span class = "function-syntax" > CLiteralsModel::hex_val< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Str::get_at< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > i< / span > < span class = "plain-syntax" > ));< / span >
2021-08-19 13:05:05 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > ((< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\n'< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\"'< / span > < span class = "plain-syntax" > ) || (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > == < / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > )) < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > cc< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "@"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-08-19 10:59:41 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '~'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '"'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\\""< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\\\"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\t'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " "< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '^'< / span > < span class = "plain-syntax" > : < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\n'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\n"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NEWLINE_IN_STRING:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\n"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
2021-08-15 14:00:01 +03:00
< span class = "plain-syntax" > } < / span > < span class = "reserved-syntax" > else< / span > < span class = "plain-syntax" > {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > LOOP_THROUGH_TEXT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > S< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wchar_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Str::get< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pos< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '"'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\\""< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\\'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\\\"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\t'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " "< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "character-syntax" > '\n'< / span > < span class = "plain-syntax" > : < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\n"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NEWLINE_IN_STRING:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\\n"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PUT< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > c< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "\""< / span > < span class = "plain-syntax" > );< / span >
2021-09-26 13:01:13 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > -> < / span > < span class = "element-syntax" > literal_text_mode< / span > < span class = "plain-syntax" > != < / span > < span class = "constant-syntax" > PRINTING_LTM< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > ",\n"< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::no_strings< / span > < button class = "popup" onclick = "togglePopup('usagePopup15')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup15" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::no_strings< / span > < / span > :< br / > C Object Model - < a href = "5-com.html#SP1_5" > § 1.5< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > ) {< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > C_GEN_DATA< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > litdata< / span > < span class = "plain-syntax" > .< / span > < span class = "element-syntax" > no_double_quoted_C_strings< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2021-10-26 01:59:20 +03:00
< span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > CLiteralsModel::invoke_primitive< / span > < button class = "popup" onclick = "togglePopup('usagePopup16')" > < span class = "comment-syntax" > ?< / span > < span class = "popuptext" id = "usagePopup16" > Usage of < span class = "code-font" > < span class = "function-syntax" > CLiteralsModel::invoke_primitive< / span > < / span > :< br / > C Program Control - < a href = "5-cpc.html#SP1" > § 1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > code_generation< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_ti< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > bip< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > inter_tree_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ) {< / span >
2021-10-10 16:53:42 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > text_stream< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > = < / span > < a href = "2-cg.html#SP12" class = "function-link" > < span class = "function-syntax" > CodeGen::current< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > gen< / span > < span class = "plain-syntax" > );< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > bip< / span > < span class = "plain-syntax" > ) {< / span >
2021-09-24 01:48:56 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PRINTSTRING_BIP:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "i7_print_C_string(proc, dqs["< / span > < span class = "plain-syntax" > ); < / span > < span class = "constant-syntax" > VNODE_1C< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " - I7VAL_STRINGS_BASE])"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PRINTDWORD_BIP:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "i7_print_dword(proc, "< / span > < span class = "plain-syntax" > ); < / span > < span class = "constant-syntax" > VNODE_1C< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > ")"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2021-08-12 21:07:06 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > default:< / span > < span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NOT_APPLICABLE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > FALSE< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2021-10-26 01:59:20 +03:00
< p class = "commentary firstcommentary" > < a id = "SP7" class = "paragraph-anchor" > < / a > < b > § 7. < / b > < / p >
2021-09-05 11:35:10 +03:00
2021-09-07 01:12:33 +03:00
< pre class = "Extracts-displayed-code all-displayed-code code-font" >
2021-09-21 01:26:22 +03:00
< span class = "Extracts-identifier-syntax" > void< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_print_dword< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7process_t< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > at< / span > < span class = "Extracts-plain-syntax" > );< / span >
< span class = "Extracts-identifier-syntax" > char< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > i7_text_of_string< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > str< / span > < span class = "Extracts-plain-syntax" > );< / span >
2021-09-07 01:12:33 +03:00
< / pre >
< ul class = "endnotetexts" > < li > This is part of the extract file inform7_clib.h.< / li > < / ul >
2021-09-05 11:35:10 +03:00
< pre class = "Extracts-displayed-code all-displayed-code code-font" >
2021-09-21 01:26:22 +03:00
< span class = "Extracts-identifier-syntax" > void< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_print_dword< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7process_t< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > at< / span > < span class = "Extracts-plain-syntax" > ) {< / span >
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > for< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7byte_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i< / span > < span class = "Extracts-plain-syntax" > =1; < / span > < span class = "Extracts-identifier-syntax" > i< / span > < span class = "Extracts-plain-syntax" > < =9; < / span > < span class = "Extracts-identifier-syntax" > i< / span > < span class = "Extracts-plain-syntax" > ++) {< / span >
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7byte_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > c< / span > < span class = "Extracts-plain-syntax" > = < / span > < span class = "Extracts-identifier-syntax" > i7_read_byte< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > at< / span > < span class = "Extracts-plain-syntax" > +< / span > < span class = "Extracts-identifier-syntax" > i< / span > < span class = "Extracts-plain-syntax" > );< / span >
2021-09-08 01:28:19 +03:00
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > if< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > c< / span > < span class = "Extracts-plain-syntax" > == < / span > < span class = "Extracts-constant-syntax" > 0< / span > < span class = "Extracts-plain-syntax" > ) < / span > < span class = "Extracts-identifier-syntax" > break< / span > < span class = "Extracts-plain-syntax" > ;< / span >
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > i7_print_char< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > proc< / span > < span class = "Extracts-plain-syntax" > , < / span > < span class = "Extracts-identifier-syntax" > c< / span > < span class = "Extracts-plain-syntax" > );< / span >
2021-09-05 11:35:10 +03:00
< span class = "Extracts-plain-syntax" > }< / span >
< span class = "Extracts-plain-syntax" > }< / span >
2021-09-09 01:26:09 +03:00
< span class = "Extracts-identifier-syntax" > char< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > dqs< / span > < span class = "Extracts-plain-syntax" > [];< / span >
2021-09-21 01:26:22 +03:00
< span class = "Extracts-identifier-syntax" > char< / span > < span class = "Extracts-plain-syntax" > *< / span > < span class = "Extracts-identifier-syntax" > i7_text_of_string< / span > < span class = "Extracts-plain-syntax" > (< / span > < span class = "Extracts-identifier-syntax" > i7word_t< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > str< / span > < span class = "Extracts-plain-syntax" > ) {< / span >
2021-09-09 01:26:09 +03:00
< span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > return< / span > < span class = "Extracts-plain-syntax" > < / span > < span class = "Extracts-identifier-syntax" > dqs< / span > < span class = "Extracts-plain-syntax" > [< / span > < span class = "Extracts-identifier-syntax" > str< / span > < span class = "Extracts-plain-syntax" > - < / span > < span class = "Extracts-identifier-syntax" > I7VAL_STRINGS_BASE< / span > < span class = "Extracts-plain-syntax" > ];< / span >
< span class = "Extracts-plain-syntax" > }< / span >
2021-09-05 11:35:10 +03:00
< / pre >
2021-09-07 01:12:33 +03:00
< ul class = "endnotetexts" > < li > This is part of the extract file inform7_clib.c.< / li > < / ul >
2021-08-12 21:07:06 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
2021-10-31 12:38:25 +02:00
< ul class = "progressbar" > < li class = "progressprev" > < a href = "5-cfm.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "1-fm.html" > 1< / a > < / li > < li class = "progresschapter" > < a href = "2-cg.html" > 2< / a > < / li > < li class = "progresschapter" > < a href = "3-fti.html" > 3< / a > < / li > < li class = "progresschapter" > < a href = "4-fi6.html" > 4< / a > < / li > < li class = "progresscurrentchapter" > 5< / li > < li class = "progresssection" > < a href = "5-fnc.html" > fnc< / a > < / li > < li class = "progresssection" > < a href = "5-cnm.html" > cnm< / a > < / li > < li class = "progresssection" > < a href = "5-crf.html" > crf< / a > < / li > < li class = "progresssection" > < a href = "5-cgv.html" > cgv< / a > < / li > < li class = "progresssection" > < a href = "5-cmm.html" > cmm< / a > < / li > < li class = "progresssection" > < a href = "5-cas.html" > cas< / a > < / li > < li class = "progresssection" > < a href = "5-car.html" > car< / a > < / li > < li class = "progresssection" > < a href = "5-cpc.html" > cpc< / a > < / li > < li class = "progresssection" > < a href = "5-ccn.html" > ccn< / a > < / li > < li class = "progresssection" > < a href = "5-com.html" > com< / a > < / li > < li class = "progresssection" > < a href = "5-cfm.html" > cfm< / a > < / li > < li class = "progresscurrent" > clt< / li > < li class = "progresssection" > < a href = "5-cim.html" > cim< / a > < / li > < li class = "progresssection" > < a href = "5-cuf.html" > cuf< / a > < / li > < li class = "progressnext" > < a href = "5-cim.html" > ❯ < / a > < / li > < / ul > < / div >
2021-08-12 21:07:06 +03:00
< / nav > <!-- End of weave -->
< / main >
< / body >
< / html >