2020-07-04 01:01:02 +03:00
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
< html >
< head >
< title > Diagrams< / 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" >
2020-07-27 02:27:32 +03:00
< 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" >
< script src = "http://code.jquery.com/jquery-1.12.4.min.js"
integrity="sha256-ZosEbRLbNQzLpnKIkEdrPv7lOy9C27hHQ+Xp8a4MxAQ=" crossorigin="anonymous">< / script >
< script src = "../docs-assets/Bigfoot.js" > < / script >
< link href = "../docs-assets/Bigfoot.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
2020-07-04 01:01:02 +03:00
< link href = "../docs-assets/Colours.css" rel = "stylesheet" rev = "stylesheet" type = "text/css" >
< / head >
< body class = "commentary-font" >
< nav role = "navigation" >
< h1 > < a href = "../index.html" >
< img src = "../docs-assets/Inform.png" height = 72" >
< / a > < / h1 >
< ul > < li > < a href = "../compiler.html" > compiler tools< / a > < / li >
< li > < a href = "../other.html" > other tools< / a > < / li >
< li > < a href = "../extensions.html" > extensions and kits< / a > < / li >
< li > < a href = "../units.html" > unit test tools< / a > < / li >
< / ul > < h2 > Compiler Webs< / h2 > < ul >
< li > < a href = "../inbuild/index.html" > inbuild< / a > < / li >
< li > < a href = "../inform7/index.html" > inform7< / a > < / li >
< li > < a href = "../inter/index.html" > inter< / a > < / li >
< / ul > < h2 > Inbuild Modules< / h2 > < ul >
< li > < a href = "../supervisor-module/index.html" > supervisor< / a > < / li >
< / ul > < h2 > Inform7 Modules< / h2 > < ul >
< li > < a href = "../core-module/index.html" > core< / a > < / li >
< li > < a href = "../kinds-module/index.html" > kinds< / a > < / li >
< li > < a href = "../if-module/index.html" > if< / a > < / li >
< li > < a href = "../multimedia-module/index.html" > multimedia< / a > < / li >
< li > < a href = "../index-module/index.html" > index< / a > < / li >
< / ul > < h2 > Inter Modules< / h2 > < ul >
< li > < a href = "../bytecode-module/index.html" > bytecode< / a > < / li >
< li > < a href = "../building-module/index.html" > building< / a > < / li >
< li > < a href = "../codegen-module/index.html" > codegen< / a > < / li >
< / ul > < h2 > Services< / h2 > < ul >
< li > < a href = "../arch-module/index.html" > arch< / a > < / li >
< li > < a href = "../syntax-module/index.html" > syntax< / a > < / li >
< li > < a href = "../words-module/index.html" > words< / 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 = "index.html" > < span class = "selectedlink" > linguistics< / span > < / a > < / li >
< li > < a href = "../problems-module/index.html" > problems< / a > < / li >
< li > < a href = "../../../inweb/docs/foundation-module/index.html" > foundation< / a > < / li >
< / ul >
< / nav >
< main role = "main" >
<!-- Weave of 'Diagrams' generated by Inweb -->
< div class = "breadcrumbs" >
2020-07-18 20:09:04 +03:00
< ul class = "crumbs" > < li > < a href = "../index.html" > Home< / a > < / li > < li > < a href = "../compiler.html" > Services< / a > < / li > < li > < a href = "index.html" > linguistics< / a > < / li > < li > < a href = "index.html#1" > Chapter 1: Setting Up< / a > < / li > < li > < b > Diagrams< / b > < / li > < / ul > < / div >
< p class = "purpose" > To specify standard verb-phrase nodes in the parse tree.< / p >
2020-07-04 01:01:02 +03:00
2020-07-27 02:27:32 +03:00
< ul class = "toc" > < li > < a href = "1-dgr.html#SP6" > § 6. Creation< / a > < / li > < / ul > < hr class = "tocbar" >
2020-07-18 20:09:04 +03:00
< p class = "commentary firstcommentary" > < a id = "SP1" > < / a > < b > § 1. < / b > This section lays out a sort of specification for what we ultinately want
to turn sentences into: i.e., little sentence diagrams made up of parse nodes.
We do that with the aid of the < a href = "../syntax-module/index.html" class = "internal" > syntax< / a > module. So we must first set up
some new node types:
< / p >
2020-07-04 01:01:02 +03:00
2020-07-04 16:17:00 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "is"< / span >
2020-07-19 20:31:23 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > UNPARSED_NOUN_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "arfle barfle gloop"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > PRONOUN_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "them"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > DEFECTIVE_NOUN_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "there"< / span >
2020-07-04 16:17:00 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > COMMON_NOUN_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "a container"< / span >
2020-07-04 01:01:02 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > PROPER_NOUN_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "the red handkerchief"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > RELATIONSHIP_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "on"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > CALLED_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "On the table is a container called the box"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > WITH_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "The footstool is a supporter with capacity 2"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > AND_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "whisky and soda"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > KIND_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "A woman is a kind of person"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > PROPERTY_LIST_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "capacity 2"< / span >
2020-08-02 12:59:03 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > X_OF_Y_NT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > "description of the painting"< / span >
2020-07-18 20:09:04 +03:00
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP2" > < / a > < b > § 2. < / b > These nodes are annotated with the following:
< / p >
2020-07-04 01:01:02 +03:00
2020-07-18 20:09:04 +03:00
< pre class = "definitions code-font" > < span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > verbal_certainty_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > int< / span > < / span > < span class = "comment-syntax" > : certainty level if known< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > sentence_is_existential_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > int< / span > < / span > < span class = "comment-syntax" > : such as "there is a man"< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > linguistic_error_here_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > int< / span > < / span > < span class = "comment-syntax" > : one of the errors occurred here< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > verb_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > verb_usage< / span > < / span > < span class = "comment-syntax" > : what's being done here< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > noun_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > noun_usage< / span > < / span > < span class = "comment-syntax" > : what's being done here< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > pronoun_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > pronoun_usage< / span > < / span > < span class = "comment-syntax" > : what's being done here< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > article_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > article_usage< / span > < / span > < span class = "comment-syntax" > : what's being done here< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > preposition_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > preposition< / span > < / span > < span class = "comment-syntax" > : which preposition, if any, qualifies it< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > second_preposition_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > preposition< / span > < / span > < span class = "comment-syntax" > : which further preposition, if any, qualifies it< / span >
2020-07-26 18:09:24 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > special_meaning_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > special_meaning_holder< / span > < / span > < span class = "comment-syntax" > : to give a verb a non-standard meaning< / span >
2020-07-18 20:09:04 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > occurrence_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > time_period< / span > < / span > < span class = "comment-syntax" > : any stipulation on occurrence< / span >
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > explicit_gender_marker_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > int< / span > < / span > < span class = "comment-syntax" > : used by PROPER NOUN nodes for evident genders< / span >
2020-07-19 20:31:23 +03:00
< span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > relationship_ANNOT< / span > < span class = "plain-syntax" > < / span > < span class = "comment-syntax" > < / span > < span class = "extract" > < span class = "extract-syntax" > binary_predicate< / span > < / span > < span class = "comment-syntax" > : for RELATIONSHIP nodes< / span >
2020-07-18 20:09:04 +03:00
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > verb< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > verb_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > noun< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > noun_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > pronoun< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > pronoun_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > article< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > article_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > second_preposition< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > )< / span >
2020-07-26 18:09:24 +03:00
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > special_meaning< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > special_meaning_holder< / span > < span class = "plain-syntax" > )< / span >
2020-07-18 20:09:04 +03:00
< span class = "identifier-syntax" > DECLARE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > occurrence< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > time_period< / span > < span class = "plain-syntax" > )< / span >
2020-07-04 01:01:02 +03:00
2020-07-18 20:09:04 +03:00
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > verb< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > verb_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > noun< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > noun_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > pronoun< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > pronoun_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > article< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > article_usage< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > )< / span >
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > second_preposition< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > preposition< / span > < span class = "plain-syntax" > )< / span >
2020-07-26 18:09:24 +03:00
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > special_meaning< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > special_meaning_holder< / span > < span class = "plain-syntax" > )< / span >
2020-07-18 20:09:04 +03:00
< span class = "identifier-syntax" > MAKE_ANNOTATION_FUNCTIONS< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > occurrence< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > time_period< / span > < span class = "plain-syntax" > )< / span >
< / pre >
2020-07-29 20:43:44 +03:00
< p class = "commentary firstcommentary" > < a id = "SP3" > < / a > < b > § 3. < / b > The < span class = "extract" > < span class = "extract-syntax" > linguistic_error_here_ANNOT< / span > < / span > annotation is for any errors we find:
2020-07-18 20:09:04 +03:00
< / p >
< pre class = "definitions code-font" > < span class = "definition-keyword" > enum< / span > < span class = "constant-syntax" > TwoLikelihoods_LINERROR< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > from< / span > < span class = "plain-syntax" > < / span > < span class = "constant-syntax" > 1< / span >
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP4" > < / a > < b > § 4. < / b > Two callbacks are needed so that the < a href = "../syntax-module/index.html" class = "internal" > syntax< / a > module will create the above
nodes and annotations correctly:
< / p >
< pre class = "definitions code-font" > < span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > EVEN_MORE_NODE_METADATA_SETUP_SYNTAX_CALLBACK< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP4" class = "function-link" > < span class = "function-syntax" > Diagrams::setup< / span > < / a >
< span class = "definition-keyword" > define< / span > < span class = "constant-syntax" > EVEN_MORE_ANNOTATION_PERMISSIONS_SYNTAX_CALLBACK< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP4" class = "function-link" > < span class = "function-syntax" > Diagrams::permissions< / span > < / a >
< / pre >
< pre class = "displayed-code all-displayed-code code-font" >
2020-07-04 01:01:02 +03:00
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Diagrams::setup< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "VERB_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > );< / span >
2020-08-02 12:59:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > RELATIONSHIP_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "RELATIONSHIP_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > CALLED_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "CALLED_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / 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" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > WITH_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "WITH_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > AND_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "AND_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "KIND_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 1< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
2020-08-02 12:59:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > UNPARSED_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "UNPARSED_NOUN_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRONOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "PRONOUN_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > DEFECTIVE_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "DEFECTIVE_NOUN_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PROPER_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "PROPER_NOUN_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > COMMON_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "COMMON_NOUN_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > INFTY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PROPERTY_LIST_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "PROPERTY_LIST_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 0< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > INFTY< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
2020-08-02 12:59:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NodeType::new< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > X_OF_Y_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > I< / span > < span class = "string-syntax" > "X_OF_Y_NT"< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > 2< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > ASSERT_NFLAG< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > }< / span >
< span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > < / span > < span class = "function-syntax" > Diagrams::permissions< / span > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > void< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > verbal_certainty_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > sentence_is_existential_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > verb_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > preposition_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > second_preposition_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-26 18:09:24 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > special_meaning_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-18 20:09:04 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > VERB_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > occurrence_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > UNPARSED_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > noun_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRONOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > pronoun_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 16:17:00 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PROPER_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > noun_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > COMMON_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > noun_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > RELATIONSHIP_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > preposition_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow< / span > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > RELATIONSHIP_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > relationship_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow_for_category< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > linguistic_error_here_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-08 01:49:36 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow_for_category< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > explicit_gender_marker_ANNOT< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Annotations::allow_for_category< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > L3_NCAT< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > article_ANNOT< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > }< / span >
< / pre >
2020-07-18 20:09:04 +03:00
< p class = "commentary firstcommentary" > < a id = "SP5" > < / a > < b > § 5. < / b > And the following conveniently prints out a sentence in diagram form; this
is used by < a href = "../linguistics-test/index.html" class = "internal" > linguistics-test< / a > to keep us on the straight and narrow.
< / p >
2020-07-04 01:01:02 +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" > Diagrams::log_node< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUTPUT_STREAM< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pn< / 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" > Annotations::read_int< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > linguistic_error_here_ANNOT< / 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" > TwoLikelihoods_LINERROR:< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " (*** TwoLikelihoods_LINERROR ***)"< / span > < span class = "plain-syntax" > ); < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > switch< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > node_type< / 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" > VERB_NT:< / span >
2020-07-07 14:07:15 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_verb< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
2020-07-11 01:25:00 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-vu.html#SP2" class = "function-link" > < span class = "function-syntax" > VerbUsages::write_usage< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_verb< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ));< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Annotations::read_int< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > sentence_is_existential_ANNOT< / span > < span class = "plain-syntax" > ))< / span >
2020-07-20 13:30:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " {existential}"< / span > < span class = "plain-syntax" > );< / span >
2020-07-26 18:09:24 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_special_meaning< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " {special meaning: %S}"< / span > < span class = "plain-syntax" > ,< / span >
2020-07-27 19:44:29 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-sm.html#SP7" class = "function-link" > < span class = "function-syntax" > SpecialMeanings::get_name< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_special_meaning< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > )));< / span >
2020-07-18 20:09:04 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Annotations::read_int< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > verbal_certainty_ANNOT< / span > < span class = "plain-syntax" > ) != < / span > < span class = "constant-syntax" > UNKNOWN_CE< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-20 13:30:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " {certainty:"< / span > < span class = "plain-syntax" > );< / span >
2020-07-18 20:09:04 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-aoc.html#SP3" class = "function-link" > < span class = "function-syntax" > Certainty::write< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Annotations::read_int< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > verbal_certainty_ANNOT< / span > < span class = "plain-syntax" > ));< / span >
2020-07-20 13:30:03 +03:00
< 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 >
2020-07-18 20:09:04 +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" > Node::get_occurrence< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > )) {< / span >
2020-07-20 13:30:03 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " {occurrence: "< / span > < span class = "plain-syntax" > );< / span >
2020-07-18 20:09:04 +03:00
< span class = "plain-syntax" > < / span > < a href = "3-apoo.html#SP4" class = "function-link" > < span class = "function-syntax" > Occurrence::log< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_occurrence< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ));< / span >
2020-07-20 13:30:03 +03:00
< 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 >
2020-07-18 20:09:04 +03:00
< span class = "plain-syntax" > }< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > break< / span > < span class = "plain-syntax" > ;< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > UNPARSED_NOUN_NT:< / span >
2020-07-04 16:17:00 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > COMMON_NOUN_NT:< / span >
2020-07-04 01:01:02 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PROPER_NOUN_NT:< / span >
2020-07-19 20:31:23 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > PRONOUN_NT:< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > case< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > DEFECTIVE_NOUN_NT:< / span >
2020-07-07 14:07:15 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_noun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-nns.html#SP5" class = "function-link" > < span class = "function-syntax" > Nouns::write_usage< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_noun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / 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" > Node::get_pronoun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
2020-07-07 20:24:23 +03:00
< span class = "plain-syntax" > < / span > < a href = "2-prn.html#SP3" class = "function-link" > < span class = "function-syntax" > Pronouns::write_usage< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_pronoun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ));< / span >
2020-07-08 01:49:36 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_article< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < a href = "2-art.html#SP3" class = "function-link" > < span class = "function-syntax" > Articles::write_usage< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > OUT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_article< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ));< / span >
2020-07-04 01:01:02 +03:00
< 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" > RELATIONSHIP_NT:< / span >
2020-07-26 21:10:16 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > Node::get_relationship< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > ))< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > WRITE< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > " {meaning: %S}"< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Node::get_relationship< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > pn< / span > < span class = "plain-syntax" > )-> < / span > < span class = "identifier-syntax" > debugging_log_name< / span > < span class = "plain-syntax" > );< / span >
2020-07-04 01:01:02 +03:00
< 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 >
< / pre >
2020-07-27 02:27:32 +03:00
< p class = "commentary firstcommentary" > < a id = "SP6" > < / a > < b > § 6. Creation. < / b > The following functions create leaves, or very minor twigs, used in sentence
diagrams.
< / p >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_arity0< / 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" > Diagrams::new_arity0< / span > < / span > :< br / > < a href = "1-dgr.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > node_type_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Node::new< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::set_text< / 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 = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / 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" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_arity1< / 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" > Diagrams::new_arity1< / span > < / span > :< br / > < a href = "1-dgr.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > node_type_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / 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" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Node::new< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::set_text< / 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 = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "no child of arity-1 node"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > A< / 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" > P< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_arity2< / 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" > Diagrams::new_arity2< / span > < / span > :< br / > < a href = "1-dgr.html#SP7" > § 7< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > node_type_t< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / 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" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > Node::new< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > t< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::set_text< / 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 = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "no first child of arity-2 node"< / 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" > B< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "identifier-syntax" > internal_error< / span > < span class = "plain-syntax" > (< / span > < span class = "string-syntax" > "no second child of arity-2 node"< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > A< / span > < span class = "plain-syntax" > ; < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > down< / span > < span class = "plain-syntax" > -> < / span > < span class = "identifier-syntax" > next< / span > < span class = "plain-syntax" > = < / span > < span class = "identifier-syntax" > B< / 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" > P< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
< p class = "commentary firstcommentary" > < a id = "SP7" > < / a > < b > § 7. < / b > And those are then used to make the following.
< / p >
< p class = "commentary" > Note that if the variable < span class = "extract" > < span class = "extract-syntax" > preform_lookahead_mode< / span > < / span > is set, then all these
functions return < span class = "extract" > < span class = "extract-syntax" > NULL< / span > < / span > : this optimisation prevents us from creating millions
of useless nodes when all that's happening is that the sentence parser is
looking ahead speculatively.< sup id = "fnref:1" > < a href = "#fn:1" rel = "footnote" > 1< / a > < / sup >
< / p >
< ul class = "footnotetexts" > < li class = "footnote" id = "fn:1" > < p class = "inwebfootnote" > < sup id = "fnref:1" > < a href = "#fn:1" rel = "footnote" > 1< / a > < / sup > At one time Inform used garbage collection to reclaim discarded nodes
instead, but it turned out to be more efficient not to make garbage in the
first place: a lesson there for all of us.
< a href = "#fnref:1" title = "return to text" > ↩ < / a > < / p > < / li > < / ul >
< pre class = "displayed-code all-displayed-code code-font" >
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_UNPARSED_NOUN< / 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" > Diagrams::new_UNPARSED_NOUN< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP2" > § 2< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > UNPARSED_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_DEFECTIVE< / 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" > Diagrams::new_DEFECTIVE< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP4" > § 4< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > DEFECTIVE_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_PROPER_NOUN< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PROPER_NOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_PROPERTY_LIST< / 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" > Diagrams::new_PROPERTY_LIST< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP17" > § 17< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PROPERTY_LIST_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_PRONOUN< / 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" > Diagrams::new_PRONOUN< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP16" > § 16< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "reserved-syntax" > pronoun_usage< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > pro< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > = < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > PRONOUN_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::set_pronoun< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > PN< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > pro< / 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" > PN< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_KIND< / 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" > Diagrams::new_KIND< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP19" > § 19< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > == < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity0< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity1< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > KIND_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_RELATIONSHIP< / 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" > Diagrams::new_RELATIONSHIP< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP15_1" > § 15.1< / a > < br / > Verb Phrases - < a href = "4-vp.html#SP7_1" > § 7.1< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > VERB_MEANING_LINGUISTICS_TYPE< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ,< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > ) {< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > = < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity1< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > RELATIONSHIP_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > O< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > Node::set_relationship< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > P< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_implied_RELATIONSHIP< / 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" > Diagrams::new_implied_RELATIONSHIP< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP14_1" > § 14.1< / a > , < a href = "4-np.html#SP14_2" > § 14.2< / a > , < a href = "4-np.html#SP14_3" > § 14.3< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "constant-syntax" > VERB_MEANING_LINGUISTICS_TYPE< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP7" class = "function-link" > < span class = "function-syntax" > Diagrams::new_RELATIONSHIP< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > R< / span > < span class = "plain-syntax" > , < / span > < a href = "1-dgr.html#SP7" class = "function-link" > < span class = "function-syntax" > Diagrams::new_PRONOUN< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < a href = "2-prn.html#SP5" class = "function-link" > < span class = "function-syntax" > Pronouns::get_implied< / span > < / a > < span class = "plain-syntax" > ()));< / span >
< span class = "plain-syntax" > }< / span >
2020-07-28 02:35:58 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_AND< / 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" > Diagrams::new_AND< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP8" > § 8< / a > , < a href = "4-np.html#SP9" > § 9< / a > , < a href = "4-np.html#SP16" > § 16< / a > , < a href = "4-np.html#SP17" > § 17< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2020-07-28 02:35:58 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity2< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > AND_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::one_word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > );< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > }< / span >
2020-07-28 02:35:58 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_WITH< / 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" > Diagrams::new_WITH< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP16" > § 16< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "reserved-syntax" > int< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
2020-07-28 02:35:58 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity2< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > WITH_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Wordings::one_word< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wn< / span > < span class = "plain-syntax" > ), < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > );< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > }< / span >
2020-07-27 15:26:59 +03:00
< span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "function-syntax" > Diagrams::new_CALLED< / 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" > Diagrams::new_CALLED< / span > < / span > :< br / > Noun Phrases - < a href = "4-np.html#SP16" > § 16< / a > < / span > < / button > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > wording< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > parse_node< / span > < span class = "plain-syntax" > *< / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > ) {< / span >
2020-07-27 02:27:32 +03:00
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > if< / span > < span class = "plain-syntax" > (< / span > < span class = "identifier-syntax" > preform_lookahead_mode< / span > < span class = "plain-syntax" > ) < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < span class = "identifier-syntax" > NULL< / span > < span class = "plain-syntax" > ;< / span >
< span class = "plain-syntax" > < / span > < span class = "reserved-syntax" > return< / span > < span class = "plain-syntax" > < / span > < a href = "1-dgr.html#SP6" class = "function-link" > < span class = "function-syntax" > Diagrams::new_arity2< / span > < / a > < span class = "plain-syntax" > (< / span > < span class = "constant-syntax" > CALLED_NT< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > W< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > X< / span > < span class = "plain-syntax" > , < / span > < span class = "identifier-syntax" > Y< / span > < span class = "plain-syntax" > );< / span >
< span class = "plain-syntax" > }< / span >
< / pre >
2020-07-04 01:01:02 +03:00
< nav role = "progress" > < div class = "progresscontainer" >
2020-07-18 20:09:04 +03:00
< ul class = "progressbar" > < li class = "progressprev" > < a href = "1-lm.html" > ❮ < / a > < / li > < li class = "progresschapter" > < a href = "P-wtmd.html" > P< / a > < / li > < li class = "progresscurrentchapter" > 1< / li > < li class = "progresssection" > < a href = "1-lm.html" > lm< / a > < / li > < li class = "progresscurrent" > dgr< / li > < li class = "progresssection" > < a href = "1-sc.html" > sc< / a > < / li > < li class = "progresssection" > < a href = "1-cao.html" > cao< / a > < / li > < li class = "progresschapter" > < a href = "2-adj.html" > 2< / a > < / li > < li class = "progresschapter" > < a href = "3-vrb.html" > 3< / a > < / li > < li class = "progresschapter" > < a href = "4-np.html" > 4< / a > < / li > < li class = "progressnext" > < a href = "1-sc.html" > ❯ < / a > < / li > < / ul > < / div >
2020-07-04 01:01:02 +03:00
< / nav > <!-- End of weave -->
< / main >
< / body >
< / html >