summaryrefslogtreecommitdiff
path: root/src/packrat-tokens.adb
diff options
context:
space:
mode:
Diffstat (limited to 'src/packrat-tokens.adb')
-rw-r--r--src/packrat-tokens.adb25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/packrat-tokens.adb b/src/packrat-tokens.adb
index 240ecee..382b8d8 100644
--- a/src/packrat-tokens.adb
+++ b/src/packrat-tokens.adb
@@ -74,6 +74,31 @@ package body Tokens is
end Create;
+ function "="
+ (Left, Right : in Token)
+ return Boolean
+ is
+ Left_Valsize, Right_Valsize : Natural;
+ begin
+ if Left.Token_Value = null then
+ Left_Valsize := 0;
+ else
+ Left_Valsize := Left.Token_Value.all'Length;
+ end if;
+ if Right.Token_Value = null then
+ Right_Valsize := 0;
+ else
+ Right_Valsize := Right.Token_Value.all'Length;
+ end if;
+
+ return Left.Identifier = Right.Identifier and
+ Left.Start_At = Right.Start_At and
+ Left.Finish_At = Right.Finish_At and
+ Left_Valsize = Right_Valsize and
+ (Left_Valsize = 0 or else Left.Token_Value.all = Right.Token_Value.all);
+ end "=";
+
+