FreeFem 3.5.x
fem::femParser Class Reference

provides the syntaxical analysis More...

#include <femParser.hpp>

List of all members.

Public Types

Enums
enum  GraphicsType { FEM_GRAPHIC = 0, FEM_NO_GRAPHIC = 1 }
 graphics type More...

Public Member Functions

Constructors and destructor
 femParser ()
 default constructor
 ~femParser ()
 destructor
Mutators
void setGraphicType (GraphicsType gt)
 set the graphic type
void setText (const char *__t)
 set the buffer to be parsed

Methods

void parse ()
 parse the buffer
void chvar (void)
noeudPtr instruction (void)
creal eval (noeudPtr)
 evaluate the node
void bucheron (noeudPtr)
 kill the node
void libere (void)
 free everything
void showtree (noeudPtr t)
 show the tree
void initsyntax ()
 initialise the parser
void libereparam (void)
 free the parameters
void initparam ()
 init the parameters
femMeshCptr getMesh () const
 get the mesh
static femParserNew ()
 create a new instance

Detailed Description

provides the syntaxical analysis

The syntaxic analyser works closely with the lexical analyser.

Author:
Christophe Prud'homme <prudhomm@ann.jussieu.fr>
Version:
Id:
femParser.hpp 206 2006-07-30 16:52:02Z prudhomm

Member Enumeration Documentation

graphics type

Enumerator:
FEM_GRAPHIC 

show the graphics

FEM_NO_GRAPHIC 

do not show the graphics

    {
      FEM_GRAPHIC    = 0, 
      FEM_NO_GRAPHIC = 1  
    };

Constructor & Destructor Documentation

fem::femParser::femParser ( )

default constructor

Parameters:
__tstring to be parsed by the analyser
  :
  __tree(),
  __function_list(),
  __mesh(),
  __graph( new femGraphicDeviceIndependent( &__mesh ) ),
  pt( 0 ),
  nbsd( 0 ),
  nbs( 0 ),
  nba( 0 ),
  Iter( 1 ),
  waitm( 0 ),
  __text( 0 ),
  __graphic_type( FEM_GRAPHIC )
{
  numnoeuds = 0;
  waitm = 1;
  pt = NULL;
  noeuds = new noeudPtr[MAXTREENODES];
  sd = new long[2*MAXSD];
  arete = new long[2 * MAXBDYVERTEX];
  ngbdy = new int[MAXBDYVERTEX];
  cr = new float[2*MAXBDYVERTEX+1];
  hh = new float[MAXBDYVERTEX];
  memset (hh, 0, MAXBDYVERTEX*sizeof(float));
  flag.si = 0;
  flag.syst = 0;
  flag.param = 0;
  flag.complexe = 0;
  flag.precise = 0;
}

The documentation for this class was generated from the following files:

This is the FreeFEM reference manual
Provided by The KFEM project