parse.cpp File Reference

#include "parse.hpp"

Functions

bool iswhitespace (char ch)
 Check whether the character is whitespace.
bool is_legalnumeric (string str)
 Check whether numericstr is an legal numericstr string.
bool is_legaloperator (string str)
 Check whether str is a legal operator.
void readsinglesymbol (string &substring, string &sexpr)
void clearwhitespace (string &sexpr)
 Clear the whitespace at the begining and end of string sexpr.
bool is_legalexpr (string sexpr)
 Check whether the s-expression legal.
Cell * makecell (string str)
 Make the cell.
Cell * separate_parse (string &instr)
 Separately parse the sexpr and build the tree.
Cell * parse (string sexpr)
 Recursively parse sexpr and build the parse tree.

Variables

bool inparsecar

Detailed Description

Implementation of a parser that analyzes a string containing an s-expression, and determines its tree structure.

Function Documentation

void clearwhitespace ( string &  sexpr  ) 

Clear the whitespace at the begining and end of string sexpr.

Parameters:
sexpr The string.

bool is_legalexpr ( string  sexpr  ) 

Check whether the s-expression legal.

bool is_legalnumeric ( string  str  ) 

Check whether numericstr is an legal numericstr string.

Parameters:
str The string to be checked
Returns:
ture if numericstr is an legal numericstr string, false otherwise

bool is_legaloperator ( string  str  ) 

Check whether str is a legal operator.

bool iswhitespace ( char  ch  ) 

Check whether the character is whitespace.

Returns:
True if it is character, false else.
Parameters:
ch The character to check.

Cell* makecell ( string  str  ) 

Make the cell.

Parameters:
str The string to represent the symbol, int or double.

Cell* parse ( string  sexpr  ) 

Recursively parse sexpr and build the parse tree.

Parameters:
sexpr The s-expression stored in a string variable (note that this version of parse has side effects: it may alter the contents of sexpr).
Returns:
A pointer to the conspair cell at the root of the parse tree.

void readsinglesymbol ( string &  substring,
string &  sexpr 
)

Cell * separate_parse ( string &  instr  ) 

Separately parse the sexpr and build the tree.

Parameters:
instr The string which consists of s-expressions.
Returns:
A pointer to the conspair cell at the root of the parse tree.


Variable Documentation

bool inparsecar


Generated on Wed May 9 22:06:39 2007 for a1 by  doxygen 1.5.1