Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members

LispLambdaBody Class Reference

#include <llambda.hpp>

Inheritance diagram for LispLambdaBody:

Inheritance graph
[legend]
Collaboration diagram for LispLambdaBody:

Collaboration graph
[legend]
List of all members.

Detailed Description

Lambda-list and a list of forms.

This class represents the lambda-list and a body. It is used both for implementation of functions and macros.

Definition at line 39 of file llambda.hpp.

Public Member Functions

SReferenceGetBody ()
 Get the body.

Protected Member Functions

 LispLambdaBody (const LContextRef &a_cont, const SReference &lambda, const SReference &body)
 ~LispLambdaBody ()
void DoAnalyseLambdaList (const SReference &rest, int n)

Protected Attributes

LContextRef context
SReference lambda_list
LExpressionSymbol ** lambda_vector
LExpressionSymbollambda_rest
int lambda_length
SReference body


Constructor & Destructor Documentation

LispLambdaBody::LispLambdaBody const LContextRef a_cont,
const SReference lambda,
const SReference body
[protected]
 

Definition at line 23 of file llambda.cpp.

References DoAnalyseLambdaList().

LispLambdaBody::~LispLambdaBody  )  [protected]
 

Definition at line 31 of file llambda.cpp.

References lambda_vector.


Member Function Documentation

void LispLambdaBody::DoAnalyseLambdaList const SReference rest,
int  n
[protected]
 

Definition at line 36 of file llambda.cpp.

References SExpressionCons::Car(), SExpressionCons::Cdr(), SReference::DynamicCastGetPtr(), SReference::GetPtr(), INTELIB_ASSERT, lambda_length, lambda_rest, and lambda_vector.

Referenced by LispLambdaBody().

SReference& LispLambdaBody::GetBody  ) 
 

Get the body.

Definition at line 56 of file llambda.hpp.

References body.


Member Data Documentation

LContextRef LispLambdaBody::context [protected]
 

Definition at line 41 of file llambda.hpp.

SReference LispLambdaBody::lambda_list [protected]
 

Definition at line 42 of file llambda.hpp.

LExpressionSymbol** LispLambdaBody::lambda_vector [protected]
 

Definition at line 43 of file llambda.hpp.

Referenced by DoAnalyseLambdaList(), and ~LispLambdaBody().

LExpressionSymbol* LispLambdaBody::lambda_rest [protected]
 

Definition at line 44 of file llambda.hpp.

Referenced by DoAnalyseLambdaList().

int LispLambdaBody::lambda_length [protected]
 

Definition at line 45 of file llambda.hpp.

Referenced by DoAnalyseLambdaList().

SReference LispLambdaBody::body [protected]
 

Definition at line 46 of file llambda.hpp.

Referenced by GetBody().


The documentation for this class was generated from the following files:
Generated on Tue Dec 18 00:42:26 2007 for InteLib by  doxygen 1.4.1