From: Doug Kearns Date: Fri, 1 May 2026 16:35:57 +0000 (+0000) Subject: runtime(algol68): Update syntax file, match symbolic identity relators X-Git-Tag: v9.2.0429~1 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=e4413c5df76d353251be53edfbd7718ff18dc36b;p=thirdparty%2Fvim.git runtime(algol68): Update syntax file, match symbolic identity relators closes: #20109 Signed-off-by: Doug Kearns Signed-off-by: Christian Brabandt --- diff --git a/runtime/syntax/algol68.vim b/runtime/syntax/algol68.vim index 129e938074..5ea87e77bd 100644 --- a/runtime/syntax/algol68.vim +++ b/runtime/syntax/algol68.vim @@ -3,7 +3,7 @@ " Version: 0.4 " Maintainer: Janis Papanagnou " Previous Maintainer: NevilleD.ALGOL_68@sgr-a.net -" Last Change: 2026 Apr 23 +" Last Change: 2026 May 02 if exists("b:current_syntax") finish @@ -71,6 +71,7 @@ if exists("algol68_symbolic_operators") syn match algol68SymbolOperator "\%([-+*%/]\|%\*\):=" syn match algol68SymbolOperator "+=:" syn match algol68SymbolOperator "*\*\|&" + syn match algol68SymbolOperator ":/\==:" endif syn match algol68Number "\<\d\+\%(\s\+\d\+\)*\>" diff --git a/runtime/syntax/testdir/dumps/algol68_operators_00.dump b/runtime/syntax/testdir/dumps/algol68_operators_00.dump new file mode 100644 index 0000000000..7733bcfc66 --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_00.dump @@ -0,0 +1,20 @@ +>#+0#0000e05#ffffff0| +0#0000000&@73 +| +0#0000e05&@3|V|I|M|_|T|E|S|T|_|S|E|T|U|P| |l|e|t| |g|:|a|l|g|o|l|6|8|_|s|y|m|b|o|l|i|c|_|o|p|e|r|a|t|o|r|s| |=| |1| +0#0000000&@19 +|#+0#0000e05&| +0#0000000&@73 +@75 +@75 +|#+0#0000e05&| |s|y|m|b|o|l|i|c| |o|p|e|r|a|t|o|r|s| |#| +0#0000000&@52 +@75 +|#+0#0000e05&| |I|D|E|N|T|I|T|Y| |#| +0#0000000&@62 +@75 +|x| |:+0#af5f00255&|=|:| +0#0000000&@1|y| @66 +|x| |:+0#af5f00255&|/|=|:| +0#0000000&|y| @66 +@75 +|#+0#0000e05&| |B|O@1|L| |#| +0#0000000&@66 +@75 +|~+0#af5f00255&| +0#0000000&|T+0#e000002&|R|U|E| +0#0000000&@68 +|T+0#e000002&|R|U|E| +0#0000000&|&+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62 +|T+0#e000002&|R|U|E| +0#0000000&|=+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62 +|T+0#e000002&|R|U|E| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@61 +@75 +@57|1|,|1| @10|T|o|p| diff --git a/runtime/syntax/testdir/dumps/algol68_operators_01.dump b/runtime/syntax/testdir/dumps/algol68_operators_01.dump new file mode 100644 index 0000000000..4e28102713 --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_01.dump @@ -0,0 +1,20 @@ +| +0&#ffffff0@74 +|~+0#af5f00255&| +0#0000000&|T+0#e000002&|R|U|E| +0#0000000&@68 +|T+0#e000002&|R|U|E| +0#0000000&|&+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62 +|T+0#e000002&|R|U|E| +0#0000000&|=+0#af5f00255&| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@62 +|T+0#e000002&|R|U|E| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|F+0#e000002&|A|L|S|E| +0#0000000&@61 +> @74 +|#+0#0000e05&| |I|N|T| |#| +0#0000000&@67 +@75 +|++0#af5f00255&|4+0#e000002&|2| +0#0000000&@71 +|-+0#af5f00255&|4+0#e000002&|2| +0#0000000&@71 +@75 +|4+0#e000002&|2| +0#0000000&|++0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|-+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|%+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|%+0#af5f00255&|*| +0#0000000&|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|/+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +@57|1|9|,|0|-|1| @7|1|6|%| diff --git a/runtime/syntax/testdir/dumps/algol68_operators_02.dump b/runtime/syntax/testdir/dumps/algol68_operators_02.dump new file mode 100644 index 0000000000..5fe3c487f3 --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_02.dump @@ -0,0 +1,20 @@ +|4+0#e000002#ffffff0|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +@75 +|i| |++0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|i| |-+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|i| |*+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +>i| |%+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|i| |%+0#af5f00255&|*|:|=| +0#0000000&|4+0#e000002&|2| +0#0000000&@65 +@75 +|4+0#e000002&|2| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@66 +|4+0#e000002&|2| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|8+0#e000002&|7| +0#0000000&@66 +@75 +|#+0#0000e05&| |R|E|A|L| |#| +0#0000000&@66 +@75 +|++0#af5f00255&|4+0#e000002&|.|2| +0#0000000&@70 +|-+0#af5f00255&|4+0#e000002&|.|2| +0#0000000&@70 +@57|3|7|,|1| @9|3|8|%| diff --git a/runtime/syntax/testdir/dumps/algol68_operators_03.dump b/runtime/syntax/testdir/dumps/algol68_operators_03.dump new file mode 100644 index 0000000000..0dd531a406 --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_03.dump @@ -0,0 +1,20 @@ +|-+0#af5f00255#ffffff0|4+0#e000002&|.|2| +0#0000000&@70 +@75 +|4+0#e000002&|.|2| +0#0000000&|++0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65 +|4+0#e000002&|.|2| +0#0000000&|-+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65 +|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65 +>4+0#e000002&|.|2| +0#0000000&|/+0#af5f00255&| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@65 +@75 +|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|*+0#af5f00255&@1| +0#0000000&|8+0#e000002&|7| +0#0000000&@65 +|4+0#e000002&|.|2| +0#0000000&|^+0#af5f00255&| +0#0000000&@1|8+0#e000002&|7| +0#0000000&@65 +@75 +|r| |++0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|r| |-+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|r| |*+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +|r| |/+0#af5f00255&|:|=| +0#0000000&@1|4+0#e000002&|2| +0#0000000&@65 +@75 +|4+0#e000002&|.|2| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64 +@57|5@1|,|1| @9|6|0|%| diff --git a/runtime/syntax/testdir/dumps/algol68_operators_04.dump b/runtime/syntax/testdir/dumps/algol68_operators_04.dump new file mode 100644 index 0000000000..774f49e6ef --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_04.dump @@ -0,0 +1,20 @@ +|4+0#e000002#ffffff0|.|2| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|8+0#e000002&|.|7| +0#0000000&@64 +|4+0#e000002&|.|2| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|8+0#e000002&|.|7| +0#0000000&@64 +> @74 +|#+0#0000e05&| |C|H|A|R| |#| +0#0000000&@66 +@75 +|"+0#e000002&|a|"| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64 +|"+0#e000002&|a|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64 +|"+0#e000002&|a|"| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64 +|"+0#e000002&|a|"| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64 +|"+0#e000002&|a|"| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b|"| +0#0000000&@64 +|"+0#e000002&|a|"| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@64 +@75 +|#+0#0000e05&| |S|T|R|I|N|G| |#| +0#0000000&@64 +@75 +|"+0#e000002&|a@2|"| +0#0000000&|=+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60 +|"+0#e000002&|a@2|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60 +@57|7|3|,|0|-|1| @7|8|2|%| diff --git a/runtime/syntax/testdir/dumps/algol68_operators_05.dump b/runtime/syntax/testdir/dumps/algol68_operators_05.dump new file mode 100644 index 0000000000..f49d078aa2 --- /dev/null +++ b/runtime/syntax/testdir/dumps/algol68_operators_05.dump @@ -0,0 +1,20 @@ +|"+0#e000002#ffffff0|a@2|"| +0#0000000&|/+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60 +|"+0#e000002&|a@2|"| +0#0000000&|<+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60 +|"+0#e000002&|a@2|"| +0#0000000&|<+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60 +|"+0#e000002&|a@2|"| +0#0000000&|>+0#af5f00255&| +0#0000000&@1|"+0#e000002&|b@2|"| +0#0000000&@60 +|"+0#e000002&|a@2|"| +0#0000000&|>+0#af5f00255&|=| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@60 +> @74 +|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&| +0#0000000&|"+0#e000002&|b@2|"| +0#0000000&@61 +|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&| +0#0000000&|"+0#e000002&|b|"| +0#0000000&@63 +@3|4+0#e000002&|2| +0#0000000&|*+0#af5f00255&| +0#0000000&|"+0#e000002&|a@2|"| +0#0000000&@61 +|"+0#e000002&|a@2|"| +0#0000000&|*+0#af5f00255&| +0#0000000&|4+0#e000002&|2| +0#0000000&@64 +@75 +@4|s| |++0#af5f00255&|:|=| +0#0000000&|"+0#e000002&|a@2|"| +0#0000000&@59 +|"+0#e000002&|a@2|"| +0#0000000&|++0#af5f00255&|=|:| +0#0000000&|s| @63 +@4|s| |*+0#af5f00255&|:|=| +0#0000000&|5+0#e000002&| +0#0000000&@63 +@75 +|~+0#4040ff13&| @73 +|~| @73 +|~| @73 +|~| @73 +| +0#0000000&@56|9|1|,|0|-|1| @7|B|o|t| diff --git a/runtime/syntax/testdir/input/algol68_operators.a68 b/runtime/syntax/testdir/input/algol68_operators.a68 new file mode 100644 index 0000000000..c1939e5964 --- /dev/null +++ b/runtime/syntax/testdir/input/algol68_operators.a68 @@ -0,0 +1,100 @@ +# + VIM_TEST_SETUP let g:algol68_symbolic_operators = 1 +# + + +# symbolic operators # + +# IDENTITY # + +x :=: y +x :/=: y + +# BOOL # + +~ TRUE +TRUE & FALSE +TRUE = FALSE +TRUE /= FALSE + +# INT # + ++42 +-42 + +42 + 87 +42 - 87 +42 * 87 +42 % 87 +42 %* 87 +42 / 87 +42 ** 87 +42 ^ 87 + +i +:= 42 +i -:= 42 +i *:= 42 +i %:= 42 +i %*:= 42 + +42 = 87 +42 /= 87 +42 < 87 +42 <= 87 +42 > 87 +42 >= 87 + +# REAL # + ++4.2 +-4.2 + +4.2 + 8.7 +4.2 - 8.7 +4.2 * 8.7 +4.2 / 8.7 + +4.2 ** 8.7 +4.2 ^ 8.7 +4.2 ** 87 +4.2 ^ 87 + +r +:= 42 +r -:= 42 +r *:= 42 +r /:= 42 + +4.2 = 8.7 +4.2 /= 8.7 +4.2 < 8.7 +4.2 <= 8.7 +4.2 > 8.7 +4.2 >= 8.7 + +# CHAR # + +"a" = "b" +"a" /= "b" +"a" < "b" +"a" <= "b" +"a" > "b" +"a" >= "b" + +# STRING # + +"aaa" = "bbb" +"aaa" /= "bbb" +"aaa" < "bbb" +"aaa" <= "bbb" +"aaa" > "bbb" +"aaa" >= "bbb" + +"aaa" + "bbb" +"aaa" + "b" + 42 * "aaa" +"aaa" * 42 + + s +:= "aaa" +"aaa" +=: s + s *:= 5 +