changeset 32973:62985dac9e05

maint: Merge stable to default.
author Nicholas R. Jankowski <jankowski.nicholas@gmail.com>
date Wed, 07 Feb 2024 22:52:09 -0500
parents 8994b39d7705 (current diff) f1bf2e22a94f (diff)
children 7f983dc61c09 3a928ac45a57
files
diffstat 2 files changed, 144 insertions(+), 18 deletions(-) [+]
line wrap: on
line diff
--- a/doc/interpreter/grammar.txi	Wed Feb 07 18:24:27 2024 -0800
+++ b/doc/interpreter/grammar.txi	Wed Feb 07 22:52:09 2024 -0500
@@ -33,31 +33,154 @@
 @section Keywords
 @cindex keywords
 
-The following identifiers are keywords, and may not be used as variable
+The identifiers below are keywords, and may not be used as variable
 or function names:
 
-@multitable @columnfractions .33 .33 .33
-@item @code{__FILE__} @tab @code{__LINE__} @tab @code{break}
-@item @code{case} @tab @code{catch} @tab @code{classdef}
-@item @code{continue} @tab @code{do} @tab @code{else}
-@item @code{elseif} @tab @code{end} @tab @code{end_try_catch}
-@item @code{end_unwind_protect} @tab @code{endclassdef} @tab @code{endenumeration}
-@item @code{endevents} @tab @code{endfor} @tab @code{endfunction}
-@item @code{endif} @tab @code{endmethods} @tab @code{endparfor}
-@item @code{endproperties} @tab @code{endswitch} @tab @code{endwhile}
-@item @code{enumeration} @tab @code{events} @tab @code{for}
-@item @code{function} @tab @code{global} @tab @code{if}
-@item @code{methods} @tab @code{otherwise} @tab @code{parfor}
-@item @code{persistent} @tab @code{properties} @tab @code{return}
-@item @code{switch} @tab @code{try} @tab @code{until}
-@item @code{unwind_protect} @tab @code{unwind_protect_cleanup} @tab @code{while}
-@end multitable
+@subsubheading Categories:
+
+@ref{XREFkwcategoryUtilityFunctions, , @w{Utility Functions}} |
+@ref{XREFkwcategoryVariableDeclaration, , @w{Variable Declaration}} |
+@ref{XREFkwcategoryFunctionDefinition, , @w{Function Definition}} |
+@ref{XREFkwcategoryControlStructures, , @w{Control Statements}} |
+@ref{XREFkwcategoryIteratingStructures, , @w{Iterating Structures}} |
+@ref{XREFkwcategoryClassdefStructures, , @w{Classdef Structures}} |
+@ref{XREFkwcategoryExecutionEnvironment, , @w{Execution Environment}}
+
+
+@subsubheading Alphabetical listing:
 
+@ref{XREF__FILE__, __FILE__} |
+@ref{XREF__LINE__, __LINE__} |
+@ref{XREFbreak, , break} |
+@ref{XREFcase, , case} |
+@ref{XREFcatch, , catch} |
+@ref{XREFclassdef, , classdef} |
+@ref{XREFcontinue, , continue} |
+@ref{XREFdo, , do} |
+@ref{XREFelse, , else} |
+@ref{XREFelseif, , elseif} |
+@ref{XREFend, , end} |
+@ref{XREFend_try_catch, , end_try_catch} |
+@ref{XREFend_unwind_protect, , end_unwind_protect} |
+@ref{XREFendclassdef, , endclassdef} |
+@ref{XREFendenumeration, , endenumeration} |
+@ref{XREFendevents, , endevents} |
+@ref{XREFendfor, , endfor} |
+@ref{XREFendfunction, , endfunction} |
+@ref{XREFendif, , endif} |
+@ref{XREFendmethods, , endmethods} |
+@ref{XREFendparfor, , endparfor} |
+@ref{XREFendproperties, , endproperties} |
+@ref{XREFendswitch, , endswitch} |
+@ref{XREFendwhile, , endwhile} |
+@ref{XREFenumeration, , endenumeration} |
+@ref{XREFevents, , events} |
+@ref{XREFfor, , for} |
+@ref{XREFfunction, , function} |
+@ref{XREFglobal, , global} |
+@ref{XREFif, , if} |
+@ref{XREFkwpropertymethods, , methods} |
+@ref{XREFotherwise, , otherwise} |
+@ref{XREFparfor, , parfor} |
+@ref{XREFpersistent, , persistent} |
+@ref{XREFkwpropertyproperties, , properties} |
+@ref{XREFreturn, , return} |
+@ref{XREFswitch, , switch} |
+@ref{XREFtry, , try} |
+@ref{XREFuntil, , until} |
+@ref{XREFunwind_protect, , unwind_protect} |
+@ref{XREFunwind_protect_cleanup, , unwind_protect_cleanup} |
+@ref{XREFwhile, , while}
+
+
+@subheading Utility Functions:
+@anchor{XREFkwcategoryUtilityFunctions}
 The function @code{iskeyword} can be used to quickly check whether an
 identifier is reserved by Octave.
 
 @DOCSTRING(iskeyword)
 
+
+@subheading Variable Declaration:
+@anchor{XREFkwcategoryVariableDeclaration}
+@DOCSTRING(global)
+@DOCSTRING(persistent)
+
+
+@subheading Function Definition:
+@anchor{XREFkwcategoryFunctionDefinition}
+@DOCSTRING(function)
+@DOCSTRING(endfunction)
+@DOCSTRING(end)
+@DOCSTRING(return)
+
+
+@subheading Control Statements:
+@anchor{XREFkwcategoryControlStructures}
+@DOCSTRING(if)
+@DOCSTRING(else)
+@DOCSTRING(elseif)
+@DOCSTRING(endif)
+@DOCSTRING(switch)
+@DOCSTRING(case)
+@DOCSTRING(otherwise)
+@DOCSTRING(endswitch)
+@DOCSTRING(try)
+@DOCSTRING(catch)
+@DOCSTRING(end_try_catch)
+@DOCSTRING(unwind_protect)
+@DOCSTRING(unwind_protect_cleanup)
+@DOCSTRING(end_unwind_protect)
+
+
+@subheading Iterating Structures:
+@anchor{XREFkwcategoryIteratingStructures}
+@DOCSTRING(for)
+@DOCSTRING(endfor)
+@DOCSTRING(while)
+@DOCSTRING(endwhile)
+@DOCSTRING(do)
+@DOCSTRING(until)
+@DOCSTRING(parfor)
+@DOCSTRING(endparfor)
+@DOCSTRING(break)
+@DOCSTRING(continue)
+
+
+@subheading Classdef Structures:
+@anchor{XREFkwcategoryClassdefStructures}
+@DOCSTRING(classdef)
+@DOCSTRING(endclassdef)
+@c methods definition must be manually created to avoid
+@c collision with function of same name
+@deftypefn {} {} properties @anchor{XREFkwpropertyproperties}
+Mark the beginning of a block of properties in a classdef definition.  Note
+that @ref{XREFproperties, , the function @qcode{"properties"}} is a function
+that lists the properties of a classdef class or object.
+@seealso{@ref{XREFendproperties, , endproperties}}
+@end deftypefn
+@DOCSTRING(endproperties)
+@c methods definition must be manually created to avoid
+@c collision with function of same name
+@deftypefn {} {} methods @anchor{XREFkwpropertymethods}
+Mark the beginning of a block of methods in a classdef definition.  Note that
+@ref{XREFmethods, , the function @qcode{"methods"}} is a function that lists
+the methods of a class or object.
+@seealso{@ref{XREFendmethods, , endmethods}}
+@end deftypefn
+@DOCSTRING(endmethods)
+@DOCSTRING(events)
+@DOCSTRING(endevents)
+@DOCSTRING(enumeration)
+@DOCSTRING(endenumeration)
+
+
+@subheading Execution Environment:
+@anchor{XREFkwcategoryExecutionEnvironment}
+@DOCSTRING(__FILE__)
+@DOCSTRING(__LINE__)
+
+
 @node Parser
 @section Parser
 @cindex parser
--- a/doc/interpreter/var.txi	Wed Feb 07 18:24:27 2024 -0800
+++ b/doc/interpreter/var.txi	Wed Feb 07 22:52:09 2024 -0500
@@ -86,6 +86,8 @@
 @cindex @code{global} statement
 @cindex variables, global
 
+See keyword:  @ref{XREFglobal, , global}
+
 A @dfn{global} variable is one that may be accessed anywhere within Octave.
 This is in contrast to a local variable which can only be accessed outside
 of its current context if it is passed explicitly, such as by including it as a
@@ -200,7 +202,8 @@
 @cindex persistent variables
 @cindex @code{persistent} statement
 @cindex variables, persistent
-@anchor{XREFpersistent}
+
+See keyword:  @ref{XREFpersistent, , persistent}
 
 A variable that has been declared @dfn{persistent} within a function
 will retain its contents in memory between subsequent calls to the