diff options
author | Karl Berry <karl@freefriends.org> | 2023-07-13 19:56:40 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-07-13 19:56:40 +0000 |
commit | c176f36e915f8dd75211dbcfc9049d093125e428 (patch) | |
tree | 7b757f69020686a8768cc8240489036b1ec73a73 /Master/texmf-dist/source | |
parent | 27f6e9cbfa3c157055897f29cc74a9e497b9366a (diff) |
naive-ebnf (13jul23)
git-svn-id: svn://tug.org/texlive/trunk@67621 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source')
-rw-r--r-- | Master/texmf-dist/source/latex/naive-ebnf/naive-ebnf.dtx | 31 |
1 files changed, 16 insertions, 15 deletions
diff --git a/Master/texmf-dist/source/latex/naive-ebnf/naive-ebnf.dtx b/Master/texmf-dist/source/latex/naive-ebnf/naive-ebnf.dtx index 922dd7a4f6a..0fee1be6a5f 100644 --- a/Master/texmf-dist/source/latex/naive-ebnf/naive-ebnf.dtx +++ b/Master/texmf-dist/source/latex/naive-ebnf/naive-ebnf.dtx @@ -50,7 +50,7 @@ %<package>\NeedsTeXFormat{LaTeX2e} %<package>\ProvidesPackage{naive-ebnf} %<*package> -[2023-07-12 0.0.11 EBNF in Plain Text] +[2023-07-13 0.0.12 EBNF in Plain Text] %</package> %<*driver> \documentclass{ltxdoc} @@ -192,7 +192,7 @@ % \usepackage[paperwidth=4in]{geometry} % \usepackage{naive-ebnf} % \begin{document} -% \begin{ebnf}[1.5in] +% \begin{ebnf} % <data> := <bool> | <integer> | <byte> \\ % <bool> := "TRUE" | "FALSE" \\ % <integer> := /(+\char`\|-)?[0-9]+/ \\ @@ -208,7 +208,7 @@ % \usepackage[T1]{fontenc} % \usepackage{naive-ebnf} % \begin{document} -% \begin{ebnf}[1.5in] +% \begin{ebnf} % <X> := 'EOL' "'" "|" \\ % <Y> := ">" "<" "[" "]" "/" "/" \\ % <Z> := "\LaTeX" "\textdollar" \\ @@ -217,13 +217,14 @@ % \end{docshot} % Nested brackets work fine too: -% \docshotOptions{firstline=5,lastline=10} +% \docshotOptions{firstline=5,lastline=11} % \begin{docshot} % \documentclass{minimal} % \usepackage[T1]{fontenc} % \usepackage{naive-ebnf} % \begin{document} -% \begin{ebnf}[1.5in] +% \begin{ebnf} +% % There is no meaning in this: % <x> := ( "x" ( "y" | ( "z" | <z> ) ) ) \\ % <y> := [ [ "x1" ] { /[a-z]+/ } ] \\ % <z> := { { { <x> } <y> } <z> } \\ @@ -395,34 +396,34 @@ {\tl_set:Nn\ebnf_tmp{#2}} {% \regex_replace_all:nnN - { ([^\ ])/([^\ ]) } {\1\\slash{}\2} \ebnf_tmp% + { ([^\s])/([^\s]) } {\1\\slash{}\2} \ebnf_tmp% \regex_replace_all:nnN - { ([^\ ])< } {\1\\textless{}} \ebnf_tmp% + { ([^\s])< } {\1\\textless{}} \ebnf_tmp% \regex_replace_all:nnN - { >([^\ ]) } {\\textgreater{}\1} \ebnf_tmp% + { >([^\s]) } {\\textgreater{}\1} \ebnf_tmp% \regex_replace_all:nnN - { ([^\ ])'([^\ ]) } {\1\\textquotesingle{}\2} \ebnf_tmp% + { ([^\s])'([^\s]) } {\1\\textquotesingle{}\2} \ebnf_tmp% \regex_replace_all:nnN - { ([^\ ])\|([^\ ]) } {\1\\textbar{}\2} \ebnf_tmp% + { ([^\s])\|([^\s]) } {\1\\textbar{}\2} \ebnf_tmp% % - \regex_replace_all:nnN { \ /(.+?)/\ }% + \regex_replace_all:nnN { \s/(.+?)/\s }% {\c{ebnf@regexp}{\1}} \ebnf_tmp% \cs_new:Npn\ebnf_curled{% \regex_replace_all:nnNT - { \{\ (([^\ ]*(\ [^\}\{]|\ (\}|\{)[^\ ])?)*)\ \} }% + { \{\s(([^\s]*(\s[^\}\{]|\s(\}|\{)[^\s])?)*)\s\} }% {\c{ebnf@repetition}{\1}} \ebnf_tmp \ebnf_curled}% \ebnf_curled% \cs_new:Npn\ebnf_brackets{% \regex_replace_all:nnNT - { \(\ (([^\ ]*(\ [^\)\(]|\ (\)|\()[^\ ])?)*)\ \) }% + { \(\s(([^\s]*(\s[^\)\(]|\s(\)|\()[^\s])?)*)\s\) }% {\c{ebnf@grouping}{\1}} \ebnf_tmp \ebnf_brackets}% \ebnf_brackets% \cs_new:Npn\ebnf_squares{% \regex_replace_all:nnNT - { \[\ (([^\ ]*(\ [^\]\[]|\ (\]|\[)[^\ ])?)*)\ \] }% + { \[\s(([^\s]*(\s[^\]\[]|\s(\]|\[)[^\s])?)*)\s\] }% {\c{ebnf@optional}{\1}} \ebnf_tmp \ebnf_squares}% \ebnf_squares% - \regex_replace_all:nnN { (<[^>]+?>\ :=) }% + \regex_replace_all:nnN { (<[^>]+?>\s:=) }% {\c{makebox}[#1][r]{\1}} \ebnf_tmp% \regex_replace_all:nnN { <(.+?)> }% {\c{ebnf@nonterminal}{\1}} \ebnf_tmp% |