Updated classes with bottom indexing notes related to copyright and license.
91 lines
1.9 KiB
Plaintext
91 lines
1.9 KiB
Plaintext
note
|
|
description: "Token used by the JSON_PARSER"
|
|
author: "$Author$"
|
|
date: "$Date$"
|
|
revision: "$Revision$"
|
|
|
|
class
|
|
JSON_TOKENS
|
|
|
|
feature -- Access
|
|
|
|
token_object_open: CHARACTER = '{'
|
|
token_object_close: CHARACTER = '}'
|
|
|
|
token_array_open: CHARACTER = '['
|
|
token_array_close: CHARACTER = ']'
|
|
|
|
token_double_quote: CHARACTER = '"'
|
|
token_plus: CHARACTER = '+'
|
|
token_minus: CHARACTER = '-'
|
|
token_dot: CHARACTER = '.'
|
|
token_exp: CHARACTER = 'e'
|
|
token_comma: CHARACTER = ','
|
|
token_colon: CHARACTER = ':'
|
|
|
|
feature -- Status report
|
|
|
|
is_open_token (c: CHARACTER): BOOLEAN
|
|
-- Characters which open a type
|
|
do
|
|
inspect c
|
|
when token_object_open, token_array_open, token_double_quote, token_plus, token_minus, token_dot then
|
|
Result := True
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
is_close_token (c: CHARACTER): BOOLEAN
|
|
-- Characters which close a type
|
|
do
|
|
inspect c
|
|
when token_object_close, token_array_close, token_double_quote then
|
|
Result := True
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
is_special_character (c: CHARACTER): BOOLEAN
|
|
-- Control Characters
|
|
-- %F Form feed
|
|
-- %H backslasH
|
|
-- %N Newline
|
|
-- %R carriage Return
|
|
-- %T horizontal Tab
|
|
-- %B Backspace
|
|
-- / Solidus
|
|
-- " Quotation
|
|
do
|
|
inspect c
|
|
when '"', '%H' , '/', '%B', '%F', '%N', '%R', '%T' then -- '%H' = '\' = reverse solidus
|
|
Result := True
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
is_special_control (c: CHARACTER): BOOLEAN
|
|
-- Control Characters
|
|
-- \b\f\n\r\t
|
|
do
|
|
inspect c
|
|
when 'b', 'f', 'n', 'r', 't' then
|
|
Result := True
|
|
else
|
|
|
|
end
|
|
end
|
|
|
|
is_exp_token (c: CHARACTER): BOOLEAN
|
|
-- Is number exposant token?
|
|
do
|
|
Result := c = token_exp or else c.as_lower = token_exp
|
|
end
|
|
|
|
note
|
|
copyright: "2010-2014, Javier Velilla and others https://github.com/eiffelhub/json."
|
|
license: "https://github.com/eiffelhub/json/blob/master/License.txt"
|
|
end
|