lexer: Token testing functions now take a const argument.
authorJohn Darrington <john@darrington.wattle.id.au>
Sun, 14 Apr 2019 14:46:26 +0000 (16:46 +0200)
committerJohn Darrington <john@darrington.wattle.id.au>
Sun, 14 Apr 2019 14:46:59 +0000 (16:46 +0200)
src/language/lexer/lexer.c
src/language/lexer/lexer.h

index 2bcb18c32854748d206d1c87909bddb27b5b8a9e..f87731415c2f7691a75a9934d5a39c88ae857faf 100644 (file)
@@ -428,14 +428,14 @@ lex_end_of_command (struct lexer *lexer)
 
 /* Returns true if the current token is a number. */
 bool
-lex_is_number (struct lexer *lexer)
+lex_is_number (const struct lexer *lexer)
 {
   return lex_next_is_number (lexer, 0);
 }
 
 /* Returns true if the current token is a string. */
 bool
-lex_is_string (struct lexer *lexer)
+lex_is_string (const struct lexer *lexer)
 {
   return lex_next_is_string (lexer, 0);
 }
@@ -443,14 +443,14 @@ lex_is_string (struct lexer *lexer)
 /* Returns the value of the current token, which must be a
    floating point number. */
 double
-lex_number (struct lexer *lexer)
+lex_number (const struct lexer *lexer)
 {
   return lex_next_number (lexer, 0);
 }
 
 /* Returns true iff the current token is an integer. */
 bool
-lex_is_integer (struct lexer *lexer)
+lex_is_integer (const struct lexer *lexer)
 {
   return lex_next_is_integer (lexer, 0);
 }
@@ -458,7 +458,7 @@ lex_is_integer (struct lexer *lexer)
 /* Returns the value of the current token, which must be an
    integer. */
 long
-lex_integer (struct lexer *lexer)
+lex_integer (const struct lexer *lexer)
 {
   return lex_next_integer (lexer, 0);
 }
@@ -472,7 +472,7 @@ lex_integer (struct lexer *lexer)
 
 /* Returns true if the token N ahead of the current token is a number. */
 bool
-lex_next_is_number (struct lexer *lexer, int n)
+lex_next_is_number (const struct lexer *lexer, int n)
 {
   enum token_type next_token = lex_next_token (lexer, n);
   return next_token == T_POS_NUM || next_token == T_NEG_NUM;
@@ -480,7 +480,7 @@ lex_next_is_number (struct lexer *lexer, int n)
 
 /* Returns true if the token N ahead of the current token is a string. */
 bool
-lex_next_is_string (struct lexer *lexer, int n)
+lex_next_is_string (const struct lexer *lexer, int n)
 {
   return lex_next_token (lexer, n) == T_STRING;
 }
@@ -488,7 +488,7 @@ lex_next_is_string (struct lexer *lexer, int n)
 /* Returns the value of the token N ahead of the current token, which must be a
    floating point number. */
 double
-lex_next_number (struct lexer *lexer, int n)
+lex_next_number (const struct lexer *lexer, int n)
 {
   assert (lex_next_is_number (lexer, n));
   return lex_next_tokval (lexer, n);
@@ -496,7 +496,7 @@ lex_next_number (struct lexer *lexer, int n)
 
 /* Returns true if the token N ahead of the current token is an integer. */
 bool
-lex_next_is_integer (struct lexer *lexer, int n)
+lex_next_is_integer (const struct lexer *lexer, int n)
 {
   double value;
 
@@ -510,7 +510,7 @@ lex_next_is_integer (struct lexer *lexer, int n)
 /* Returns the value of the token N ahead of the current token, which must be
    an integer. */
 long
-lex_next_integer (struct lexer *lexer, int n)
+lex_next_integer (const struct lexer *lexer, int n)
 {
   assert (lex_next_is_integer (lexer, n));
   return lex_next_tokval (lexer, n);
index 463747f97454659825b860e9fef79477fe5184c5..a0a410ed5a94b0f40d0c01270f1b47da53351fbb 100644 (file)
@@ -104,18 +104,18 @@ void lex_append (struct lexer *, struct lex_reader *);
 void lex_get (struct lexer *);
 
 /* Token testing functions. */
-bool lex_is_number (struct lexer *);
-double lex_number (struct lexer *);
-bool lex_is_integer (struct lexer *);
-long lex_integer (struct lexer *);
-bool lex_is_string (struct lexer *);
+bool lex_is_number (const struct lexer *);
+double lex_number (const struct lexer *);
+bool lex_is_integer (const struct lexer *);
+long lex_integer (const struct lexer *);
+bool lex_is_string (const struct lexer *);
 
 /* Token testing functions with lookahead. */
-bool lex_next_is_number (struct lexer *, int n);
-double lex_next_number (struct lexer *, int n);
-bool lex_next_is_integer (struct lexer *, int n);
-long lex_next_integer (struct lexer *, int n);
-bool lex_next_is_string (struct lexer *, int n);
+bool lex_next_is_number (const struct lexer *, int n);
+double lex_next_number (const struct lexer *, int n);
+bool lex_next_is_integer (const struct lexer *, int n);
+long lex_next_integer (const struct lexer *, int n);
+bool lex_next_is_string (const struct lexer *, int n);
 
 /* Token matching functions. */
 bool lex_match (struct lexer *, enum token_type);