From 4c1e170f4a5834479fb28193c2a4242f081735f4 Mon Sep 17 00:00:00 2001 From: omkarht Date: Tue, 23 Sep 2025 12:39:29 +0530 Subject: [PATCH 1/3] fix(er-diagram): handle syntax errors for special characters in node names --- .../src/diagrams/er/parser/erDiagram.jison | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/packages/mermaid/src/diagrams/er/parser/erDiagram.jison b/packages/mermaid/src/diagrams/er/parser/erDiagram.jison index 2b59309fb..f581c6777 100644 --- a/packages/mermaid/src/diagrams/er/parser/erDiagram.jison +++ b/packages/mermaid/src/diagrams/er/parser/erDiagram.jison @@ -66,12 +66,15 @@ accDescr\s*"{"\s* { this.begin("acc_descr_multili \}\| return 'ONE_OR_MORE'; "one" return 'ONLY_ONE'; "only one" return 'ONLY_ONE'; -"1" return 'ONLY_ONE'; +[0-9]+\.[0-9]+ return 'DECIMAL_NUM'; +"1"(?=\s+[A-Za-z_"']) return 'ONLY_ONE'; +"1" return 'ENTITY_ONE'; +[0-9]+ return 'NUM'; \|\| return 'ONLY_ONE'; o\| return 'ZERO_OR_ONE'; o\{ return 'ZERO_OR_MORE'; \|\{ return 'ONE_OR_MORE'; -\s*u return 'MD_PARENT'; +u(?=[\.\-\|]) return 'MD_PARENT'; \.\. return 'NON_IDENTIFYING'; \-\- return 'IDENTIFYING'; "to" return 'IDENTIFYING'; @@ -80,13 +83,15 @@ o\{ return 'ZERO_OR_MORE'; \-\. return 'NON_IDENTIFYING';