summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/listings/lstdrvrs.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/listings/lstdrvrs.dtx')
-rw-r--r--Master/texmf-dist/source/latex/listings/lstdrvrs.dtx48
1 files changed, 38 insertions, 10 deletions
diff --git a/Master/texmf-dist/source/latex/listings/lstdrvrs.dtx b/Master/texmf-dist/source/latex/listings/lstdrvrs.dtx
index f710ef02aeb..1d2f4cc5a2b 100644
--- a/Master/texmf-dist/source/latex/listings/lstdrvrs.dtx
+++ b/Master/texmf-dist/source/latex/listings/lstdrvrs.dtx
@@ -33,7 +33,7 @@
% \title{Language, Style and Format drivers\\ for \textsf{Listings}\\
% {\large by Carsten Heinz and individual authors:}}
% \author{\InputIfFileExists{lstdrvrs.tmp}{}{}}
-% \date{2020/03/24\enspace\enspace Version 1.8d\ \box\abstractbox}
+% \date{2023/02/27\enspace\enspace Version 1.9\ \box\abstractbox}
%
% \ifhyper
% \hypersetup{pdftitle={Language, Style and Format drivers for the
@@ -137,7 +137,7 @@
% \endgroup
% We mainly define default dialects.
% \begin{macrocode}
-\ProvidesFile{listings.cfg}[2020/03/24 1.8d listings configuration]
+\ProvidesFile{listings.cfg}[2023/02/27 1.9 listings configuration]
\def\lstlanguagefiles
{lstlang0.sty,lstlang1.sty,lstlang2.sty,lstlang3.sty}
\lstset{defaultdialect=[R/3 6.10]ABAP,
@@ -184,7 +184,7 @@
%<+hansl-prf>\ProvidesFile{listings-hansl.prf}
%<+lua-prf>\ProvidesFile{listings-lua.prf}
%<+python-prf>\ProvidesFile{listings-python.prf}
-%<-config> [2020/03/24 1.8d listings language file]
+%<-config> [2023/02/27 1.9 listings language file]
% \end{macrocode}
%
%
@@ -1724,7 +1724,30 @@
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
-% The current version of Fortran (Fortran 2008) is defined by ISO/IEC
+% The current version of Fortran (Fortran 2018) is defined by ISO/IEC
+% 1539-1:2018, for a deeper insight have a look at
+% \url{https://wg5-fortran.org/f2018.html}. It contains ? new keywords, ?
+% of them consisting of
+% two words: ^^A
+% |FAIL IMAGE|, so
+% the list of keywords contains the single parts |FAIL| and |IMAGE|.
+% So there is the following definition of Fortran 2018 keywords
+% \begin{macrocode}
+\lst@definelanguage[18]{Fortran}[08]{Fortran}{%
+ morekeywords={FAIL, IMAGE, NON_RECURSIVE},%
+% \end{macrocode}
+% and procedures:
+% \begin{macrocode}
+ morekeywords=[3]{GET_TEAM, TEAM_NUMBER, IMAGE_TEAMS, NUM_IMAGES,
+ THIS_IMAGE, FAILED_IMAGES, STOPPED_IMAGES, IMAGES_STATUS, CO_BROADCAST,
+ CO_MAX, CO_MIN, CO_SUM, CO_REDUCE, ATOMIC_ADD, ATOMIC_AND, ATOMIC_OR,
+ ATOMIC_XOR, ATOMIC_FETCH_ADD, ATOMIC_FETCH_AND, ATOMIC_FETCH_OR,
+ ATOMIC_FETCH_XOR, ATOMIC_FETCH_CAS, IEEE_GET_MODES, IEEE_SET_MODES,
+ IEEE_FMA, IEEE_SIGNBIT, IEEE_INT, IEEE_REM, IEEE_MAX_NUM, IEEE_MAX_NUM_MAG, IEEE_MIN_NUM, IEEE_MAX_NUM_MAG, IEEE_NEXT_DOWN, IEEE_NEXT_UP, IEEE_SUPPORT_DATATYPE, IEEE_QUIET_EQ, IEEE_QUIET_GE, IEEE_QUIET_GT, IEEE_QUIET_LE, IEEE_QUIET_LT, IEEE_QUIET_NE, IEEE_SIGNALING_EQ, IEEE_SIGNALING_GE, IEEE_SIGNALING_GT, IEEE_SIGNALING_LE, IEEE_SIGNALING_LT, IEEE_SIGNALING_NE}%
+}%
+% \end{macrocode}
+%
+% The Fortran 2008 version is defined by ISO/IEC
% 1539-1:2010. It contains nine new keywords, four of them consisting of
% two words: ^^A
% |ERROR STOP|, |SYNC ALL|, |SYNC IMAGES|, |SYNC MEMORY|, so
@@ -1733,7 +1756,7 @@
% \begin{macrocode}
\lst@definelanguage[08]{Fortran}[03]{Fortran}{%
morekeywords={ALL, BLOCK, CODIMENSION, CONCURRENT, CONTIGUOUS, CRITICAL,%
- ERROR, LOCK, SUBMODULE, SYNC, UNLOCK},%
+ ERROR, IMAGES, LOCK, MEMORY, SUBMODULE, SYNC, UNLOCK},%
% \end{macrocode}
% New procedures in Fortran 2008:
% \begin{macrocode}
@@ -1781,8 +1804,8 @@
morekeywords={ALLOCATABLE, ALLOCATE, ASSIGNMENT, CASE, CONTAINS, CYCLE,%
DEALLOCATE, DEFAULT, EXIT, INCLUDE, IN, NONE, OUT, INTENT, INTERFACE,%
MODULE, NAMELIST, NULLIFY, ONLY, OPERATOR, OPTIONAL, OUT, POINTER,%
- PRIVATE, PUBLIC, RECURSIVE, RESULT, SELECT, SEQUENCE, TARGET, USE,%
- WHERE, WHILE, BLOCKDATA, DOUBLEPRECISION, ENDBLOCKDATA, ENDFILE,%
+ PRIVATE, PUBLIC, RECURSIVE, RESULT, SELECT, SEQUENCE, TARGET, TYPE,%
+ USE, WHERE, WHILE, BLOCKDATA, DOUBLEPRECISION, ENDBLOCKDATA, ENDFILE,%
ENDFUNCTION, ENDINTERFACE, ENDMODULE, ENDPROGRAM, ENDSELECT,%
ENDSUBROUTINE, ENDTYPE, ENDWHERE, INOUT, SELECTCASE,%
% \end{macrocode}
@@ -1835,8 +1858,8 @@ morecomment=[l]!%
FILE, FORMAT, FUNCTION, GO, TO, GOTO, IF, IMPLICIT, %
INQUIRE, INTEGER, INTRINSIC, LOGICAL, %
OPEN, PARAMETER, PAUSE, PRECISION, PRINT, PROGRAM, READ, REAL, %
- RETURN, REWIND, STOP, SUBROUTINE, THEN, %
- WRITE, SAVE},%
+ RETURN, REWIND, SAVE, STOP, SUBROUTINE, THEN, %
+ WRITE},%
morekeywords=[2]{ACCESS, BLANK, BLOCK, DIRECT, EOF, ERR, EXIST,%
FMT, FORM, FORMATTED, IOSTAT, NAMED, NEXTREC, NUMBER, OPENED,%
REC, RECL, SEQUENTIAL, STATUS, TYPE, UNFORMATTED, UNIT},%
@@ -3703,7 +3726,7 @@ morecomment=[l]!%
%
% \subsection{Matlab}
%
-% I took the keywords from \texttt{http://www.utexas.edu/math/Matlab/Manual},
+% I (C.\,H.?) took the keywords from \texttt{http://www.utexas.edu/math/Matlab/Manual},
% but I removed the keywords |i|, |j| and |tmp|---the change was proposed by
% \lsthelper{Kai Below}{below@tu-harburg.de}{1998/09/21}{Matlab: keywords
% i,j,tmp removed}.
@@ -3711,6 +3734,11 @@ morecomment=[l]!%
% \begin{macrocode}
%<*lang1>
% \end{macrocode}
+% From the revision history one can conclude that ``Matlab´´ means ``Matlab
+% 5.1´´ which was released in 1997
+% \begin{macrocode}
+\lst@definelanguage[5.1]{Matlab}[]{Matlab}{}
+% \end{macrocode}
% \begin{macrocode}
\lst@definelanguage{Matlab}%
{morekeywords={gt,lt,gt,lt,amp,abs,acos,acosh,acot,acoth,acsc,acsch,%