PIPS
syntax-local.h File Reference
#include "constants.h"
#include "parser_private.h"
+ Include dependency graph for syntax-local.h:

Go to the source code of this file.

Macros

#define START_COMMENT_LINE   "CcDd*!#\n"
 Legal characters to start a comment line. More...
 
#define HASH_SIZE   1013
 definition of implementation dependent constants More...
 
#define FORMATLENGTH   (4096)
 
#define LOCAL   static
 
#define abs(v)   (((v) < 0) ? -(v) : (v))
 
#define Warning(f, m)   (user_warning(f,"Warning between lines %d and %d\n%s\n",line_b_I,line_e_I,m) )
 extern char * getenv(); More...
 
#define FatalError(f, m)   (pips_internal_error("Fatal error between lines %d and %d\n%s\n",line_b_I,line_e_I,m))
 

Functions

int syn_lex ()
 
void syn_reset_lex ()
 
int syn_parse ()
 
void syn_error (const char *)
 

Variables

FILE * syn_in
 lex yacc interface More...
 
entity DynamicArea
 These global variables are declared in ri-util/util.c. More...
 
entity StaticArea
 
entity HeapArea
 
entity StackArea
 
entity AllocatableArea
 

Macro Definition Documentation

◆ abs

#define abs (   v)    (((v) < 0) ? -(v) : (v))

Definition at line 48 of file syntax-local.h.

◆ FatalError

#define FatalError (   f,
 
)    (pips_internal_error("Fatal error between lines %d and %d\n%s\n",line_b_I,line_e_I,m))

Definition at line 56 of file syntax-local.h.

◆ FORMATLENGTH

#define FORMATLENGTH   (4096)

Definition at line 44 of file syntax-local.h.

◆ HASH_SIZE

#define HASH_SIZE   1013

definition of implementation dependent constants

Definition at line 43 of file syntax-local.h.

◆ LOCAL

#define LOCAL   static

Definition at line 45 of file syntax-local.h.

◆ START_COMMENT_LINE

#define START_COMMENT_LINE   "CcDd*!#\n"

Legal characters to start a comment line.

'
' is added to cope with empty lines Empty lines with SPACE and TAB characters are be preprocessed and reduced to an empty line by GetChar().

Definition at line 30 of file syntax-local.h.

◆ Warning

#define Warning (   f,
 
)    (user_warning(f,"Warning between lines %d and %d\n%s\n",line_b_I,line_e_I,m) )

extern char * getenv();

Definition at line 53 of file syntax-local.h.

Function Documentation

◆ syn_error()

void syn_error ( const char *  )

◆ syn_lex()

int syn_lex ( )

◆ syn_parse()

int syn_parse ( )

◆ syn_reset_lex()

void syn_reset_lex ( )

Referenced by ParserError().

+ Here is the caller graph for this function:

Variable Documentation

◆ AllocatableArea

entity AllocatableArea
extern

Definition at line 61 of file area.c.

◆ DynamicArea

entity DynamicArea
extern

These global variables are declared in ri-util/util.c.

area.c

These global variables are declared in ri-util/util.c.

functions for areas Four areas used to allocate variables which are not stored in a Fortran common. These areas are just like Fortran commons, but the dynamic area is the only non-static area according to Fortran standard. The heap and the stack area are used to deal with Fortran ANSI extensions and C, pointers and allocatable arrays, and adjustable arrays (VLA in C). The dynamic area is stack allocated by most compilers but could be statically allocated since the array sizes are known.

Areas are declared for each module. These four global variables are managed by the Fortran and C parsers and used to allocate variables in the current module. Note that the C parser uses more areas at the same time to cope with global variables.

Definition at line 57 of file area.c.

◆ HeapArea

entity HeapArea
extern

Definition at line 59 of file area.c.

◆ StackArea

entity StackArea
extern

Definition at line 60 of file area.c.

◆ StaticArea

entity StaticArea
extern

Definition at line 58 of file area.c.

◆ syn_in

FILE * syn_in
extern

lex yacc interface

Definition at line 325 of file syntax.h.

Referenced by dump_current_statement(), ParserError(), and the_actual_parser().