diff --git a/regtests/tests/0002_testme/test.out b/regtests/tests/0002_testme/test.out index b525e8e..44c302b 100644 --- a/regtests/tests/0002_testme/test.out +++ b/regtests/tests/0002_testme/test.out @@ -165,7 +165,6 @@ Should be 0 : 0 [TEXT] Well a another one [@_VAR2_@] [END_BLOCK] [END_TABLE] -[ELSE] [END_IF] [TEXT] [TABLE] TERMINATE_SECTIONS diff --git a/regtests/tests/0006_testme/test.out b/regtests/tests/0006_testme/test.out index 1608eb4..1bc6f8d 100644 --- a/regtests/tests/0006_testme/test.out +++ b/regtests/tests/0006_testme/test.out @@ -60,7 +60,6 @@ [IF] @_EXIST:MATDSIZE_@ [TEXT] @_TABLE_LINE_@ [TEXT] [@_MATDSIZE_@] - [ELSE] [END_IF] [END_BLOCK] [END_TABLE] @@ -81,7 +80,6 @@ [IF] @_EXIST:V6_@ [TEXT] >@_V5_@ [TEXT] >@_V6_@ - [ELSE] [END_IF] [END_BLOCK] [END_TABLE] diff --git a/regtests/tests/0009_testme/test.out b/regtests/tests/0009_testme/test.out index b49ab38..334012f 100644 --- a/regtests/tests/0009_testme/test.out +++ b/regtests/tests/0009_testme/test.out @@ -6,5 +6,4 @@ [TEXT] [IF] (@_TWO_@ > 0) [TEXT] here -[ELSE] [END_IF] diff --git a/regtests/tests/0015_testme/test.out b/regtests/tests/0015_testme/test.out index dcbc6e4..37d56bc 100644 --- a/regtests/tests/0015_testme/test.out +++ b/regtests/tests/0015_testme/test.out @@ -84,12 +84,10 @@ include.tmplt [TEXT] [IF] (@_$2_@ = toto) [TEXT] 5> @_$1_@ - [ELSE] [END_IF] [TEXT] [IF] ((@_WEB_NBSP:$2_@ = toto) or (@_WEB_NBSP:$1_@ = "xx yy")) [TEXT] 6> @_$2_@ - [ELSE] [END_IF] [TEXT] [TABLE] @@ -122,12 +120,10 @@ include.tmplt [TEXT] [IF] (@_$2_@ = toto) [TEXT] 5> @_$1_@ - [ELSE] [END_IF] [TEXT] [IF] ((@_WEB_NBSP:$2_@ = toto) or (@_WEB_NBSP:$1_@ = "xx yy")) [TEXT] 6> @_$2_@ - [ELSE] [END_IF] [TEXT] [TABLE] @@ -160,12 +156,10 @@ include.tmplt [TEXT] [IF] (@_$2_@ = toto) [TEXT] 5> @_$1_@ - [ELSE] [END_IF] [TEXT] [IF] ((@_WEB_NBSP:$2_@ = toto) or (@_WEB_NBSP:$1_@ = "xx yy")) [TEXT] 6> @_$2_@ - [ELSE] [END_IF] [TEXT] [TABLE] diff --git a/regtests/tests/0026_testme/test.out b/regtests/tests/0026_testme/test.out index c7ee8cb..fa08ed6 100644 --- a/regtests/tests/0026_testme/test.out +++ b/regtests/tests/0026_testme/test.out @@ -67,7 +67,6 @@ [COMMON] [IF] (@_MATDSIZE_@ /= ) [TEXT] @_TABLE_LINE_@> @_MATDSIZE_@ - [ELSE] [END_IF] [END_BLOCK] [END_TABLE] diff --git a/src/templates_parser-print_tree.adb b/src/templates_parser-print_tree.adb index 4f417e6..3cd75cd 100644 --- a/src/templates_parser-print_tree.adb +++ b/src/templates_parser-print_tree.adb @@ -31,6 +31,8 @@ separate (Templates_Parser) procedure Print_Tree (T : Tree; Level : Natural := 0) is + use type Expr.Tree; + procedure Print_Indent (L : Natural); -- Output proper number of spaces for identation @@ -93,9 +95,11 @@ begin Expr.Print_Tree (T.Cond); Text_IO.New_Line; Print_Tree (T.N_True, Level + 1); - Print_Indent (Level); - Text_IO.Put_Line ("[ELSE]"); - Print_Tree (T.N_False, Level + 1); + if T.N_False /= null then + Print_Indent (Level); + Text_IO.Put_Line ("[ELSE]"); + Print_Tree (T.N_False, Level + 1); + end if; Print_Indent (Level); Text_IO.Put_Line ("[END_IF]"); Print_Tree (T.Next, Level);