aboutsummaryrefslogtreecommitdiffstats
path: root/scanner.ads
diff options
context:
space:
mode:
authorTristan Gingold <tgingold@free.fr>2014-11-04 20:14:19 +0100
committerTristan Gingold <tgingold@free.fr>2014-11-04 20:14:19 +0100
commit9c195bf5d86d67ea5eb419ccf6e48dc153e57c68 (patch)
tree575346e529b99e26382b4a06f6ff2caa0b391ab2 /scanner.ads
parent184a123f91e07c927292d67462561dc84f3a920d (diff)
downloadghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.gz
ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.tar.bz2
ghdl-9c195bf5d86d67ea5eb419ccf6e48dc153e57c68.zip
Move sources to src/ subdirectory.
Diffstat (limited to 'scanner.ads')
-rw-r--r--scanner.ads120
1 files changed, 0 insertions, 120 deletions
diff --git a/scanner.ads b/scanner.ads
deleted file mode 100644
index ddc0d1819..000000000
--- a/scanner.ads
+++ /dev/null
@@ -1,120 +0,0 @@
--- VHDL lexical scanner.
--- Copyright (C) 2002 - 2014 Tristan Gingold
---
--- GHDL is free software; you can redistribute it and/or modify it under
--- the terms of the GNU General Public License as published by the Free
--- Software Foundation; either version 2, or (at your option) any later
--- version.
---
--- GHDL is distributed in the hope that it will be useful, but WITHOUT ANY
--- WARRANTY; without even the implied warranty of MERCHANTABILITY or
--- FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
--- for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with GHDL; see the file COPYING. If not, write to the Free
--- Software Foundation, 59 Temple Place - Suite 330, Boston, MA
--- 02111-1307, USA.
-with Types; use Types;
-with Tokens; use Tokens;
-
-package Scanner is
- -- Global variables
- -- The token that was just scanned.
- -- When the token was eaten, you can call invalidate_current_token to
- -- set it to tok_invalid.
- -- Current_token should not be written outside of scan package.
- -- It can be replaced by a function call.
- Current_Token: Token_Type := Tok_Invalid;
-
- -- Simply set current_token to tok_invalid.
- procedure Invalidate_Current_Token;
- pragma Inline (Invalidate_Current_Token);
-
- -- When CURRENT_TOKEN is an tok_identifier, tok_char or tok_string,
- -- its name_id can be got via this function.
- function Current_Identifier return Name_Id;
- pragma Inline (Current_Identifier);
-
- -- Get current string identifier and length.
- function Current_String_Id return String_Id;
- function Current_String_Length return Nat32;
- pragma Inline (Current_String_Id);
- pragma Inline (Current_String_Length);
-
- -- Set Current_identifier to null_identifier.
- -- Can be used to catch bugs.
- procedure Invalidate_Current_Identifier;
- pragma Inline (Invalidate_Current_Identifier);
-
- -- When CURRENT_TOKEN is tok_integer, returns the value.
- -- When CURRENT_TOKEN is tok_bit_string, returns the base.
- function Current_Iir_Int64 return Iir_Int64;
- pragma Inline (Current_Iir_Int64);
-
- -- When CURRENT_TOKEN is tok_real, it returns the value.
- function Current_Iir_Fp64 return Iir_Fp64;
- pragma Inline (Current_Iir_Fp64);
-
- -- Advances the lexical analyser. Put a new token into current_token.
- procedure Scan;
-
- -- Initialize the scanner with file SOURCE_FILE.
- procedure Set_File (Source_File : Source_File_Entry);
-
- procedure Set_Current_Position (Position: Source_Ptr);
-
- -- Finalize the scanner.
- procedure Close_File;
-
- -- If true comments are reported as a token.
- Flag_Comment : Boolean := False;
-
- -- If true newlines are reported as a token.
- Flag_Newline : Boolean := False;
-
- -- If true also scan PSL tokens.
- Flag_Psl : Boolean := False;
-
- -- If true handle PSL embedded in comments: '-- psl' is ignored.
- Flag_Psl_Comment : Boolean := False;
-
- -- If true, ignore '--'. This is automatically set when Flag_Psl_Comment
- -- is true and a starting PSL keyword has been identified.
- -- Must be reset to false by the parser.
- Flag_Scan_In_Comment : Boolean := False;
-
- -- If true scan for keywords in comments. Must be enabled if
- -- Flag_Psl_Comment is true.
- Flag_Comment_Keyword : Boolean := False;
-
- -- If the next character is '!', eat it and return True, otherwise return
- -- False (used by PSL).
- function Scan_Exclam_Mark return Boolean;
-
- -- If the next character is '_', eat it and return True, otherwise return
- -- False (used by PSL).
- function Scan_Underscore return Boolean;
-
- -- Get the current location, or the location of the current token.
- -- Since a token cannot spread over lines, file and line of the current
- -- token are the same as those of the current position.
- function Get_Current_File return Name_Id;
- function Get_Current_Source_File return Source_File_Entry;
- function Get_Current_Line return Natural;
- function Get_Current_Column return Natural;
- function Get_Token_Location return Location_Type;
- function Get_Token_Column return Natural;
- function Get_Token_Position return Source_Ptr;
- function Get_Position return Source_Ptr;
-
- -- Convert (canonicalize) an identifier stored in name_buffer/name_length.
- -- Upper case letters are converted into lower case.
- -- Lexical checks are performed.
- -- This procedure is not used by Scan, but should be used for identifiers
- -- given in the command line.
- -- Errors are directly reported through error_msg_option.
- -- Also, Vhdl_Std should be set.
- procedure Convert_Identifier;
-
-end Scanner;