diff --git a/notebooks/manual/ExternalFunctions.ipynb b/notebooks/manual/ExternalFunctions.ipynb index 86e0e88aa70ec9f9af1e261b1bec8c0b32c13e83..9030aec066e16edb5ec3abe16ed3740080a35f35 100644 --- a/notebooks/manual/ExternalFunctions.ipynb +++ b/notebooks/manual/ExternalFunctions.ipynb @@ -2665,10 +2665,10 @@ { "data": { "text/markdown": [ - "$\\text{\"18/2/2020 - 15h12 40s\"}$" + "$\\text{\"18/2/2020 - 15h29 52s\"}$" ], "text/plain": [ - "\"18/2/2020 - 15h12 40s\"" + "\"18/2/2020 - 15h29 52s\"" ] }, "execution_count": 95, @@ -2819,10 +2819,10 @@ { "data": { "text/markdown": [ - "$1582035160$" + "$1582036192$" ], "text/plain": [ - "1582035160" + "1582036192" ] }, "execution_count": 101, @@ -2842,10 +2842,10 @@ { "data": { "text/markdown": [ - "$1691$" + "$1658$" ], "text/plain": [ - "1691" + "1658" ] }, "execution_count": 102, @@ -2865,10 +2865,10 @@ { "data": { "text/markdown": [ - "$3040$" + "$2881$" ], "text/plain": [ - "3040" + "2881" ] }, "execution_count": 103, @@ -3298,14 +3298,17 @@ "metadata": {}, "outputs": [ { - "ename": "WithSourceCodeException", - "evalue": "de.prob.exception.ProBError: ProB returned error messages:\nError: [1,1] expecting: 'generated', 'package', 'DEFINITIONS', 'IMPLEMENTATION', 'MACHINE', 'MODEL', 'SYSTEM', 'REFINEMENT', '#EXPRESSION', '#PREDICATE', '#FORMULA', '#SUBSTITUTION', '#DEFINITION', '#OPPATTERN', '#MACHINECLAUSE' ((machine from Jupyter cell):1:1)", - "output_type": "error", - "traceback": [ - "\u001b[1m\u001b[30mError from ProB: \u001b[0m\u001b[1m\u001b[31mnull\u001b[0m", - "\u001b[1m\u001b[31mError: [1,1] expecting: 'generated', 'package', 'DEFINITIONS', 'IMPLEMENTATION', 'MACHINE', 'MODEL', 'SYSTEM', 'REFINEMENT', '#EXPRESSION', '#PREDICATE', '#FORMULA', '#SUBSTITUTION', '#DEFINITION', '#OPPATTERN', '#MACHINECLAUSE' ((machine from Jupyter cell):1:1)\u001b[0m", - "\u001b[1m\u001b[30mM\u001b[0m\u001b[1m\u001b[30m\u001b[41m\u001b[0m\u001b[1m\u001b[30mACHINE_INFO(\"Jupyter_LibraryMeta\",\"TYPE\")\u001b[0m" - ] + "data": { + "text/markdown": [ + "$\\text{\"abstract_machine\"}$" + ], + "text/plain": [ + "\"abstract_machine\"" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" } ], "source": [ diff --git a/src/main/java/de/prob2/jupyter/ProBKernel.java b/src/main/java/de/prob2/jupyter/ProBKernel.java index 8ae100f5d0a08a6bbeec3c3e28a9e1f0f78f9bed..8d03ab018a7a7d10abb1f6e88262720912b1fd17 100644 --- a/src/main/java/de/prob2/jupyter/ProBKernel.java +++ b/src/main/java/de/prob2/jupyter/ProBKernel.java @@ -73,6 +73,7 @@ public final class ProBKernel extends BaseKernel { private static final @NotNull Logger LOGGER = LoggerFactory.getLogger(ProBKernel.class); private static final @NotNull Pattern COMMAND_PATTERN = Pattern.compile("\\s*(\\:[^\\s]*)(?:\\h*(.*))?", Pattern.DOTALL); + private static final @NotNull Pattern MACHINE_CODE_PATTERN = Pattern.compile("MACHINE\\W.*"); private static final @NotNull Pattern SPACE_PATTERN = Pattern.compile("\\s*"); private static final @NotNull Pattern BSYMB_COMMAND_PATTERN = Pattern.compile("\\\\([a-z]+)"); private static final @NotNull Pattern LATEX_FORMULA_PATTERN = Pattern.compile("(\\$\\$?)([^\\$]+)\\1"); @@ -285,7 +286,7 @@ public final class ProBKernel extends BaseKernel { } private static boolean isMachineCode(final @NotNull String code) { - return code.startsWith("MACHINE"); + return MACHINE_CODE_PATTERN.matcher(code).matches(); } @Override