#include "Cell.hpp"
#include <string>
#include <iostream>
Go to the source code of this file.
Functions | |
Cell * | make_int (int i) |
Make an int cell. | |
Cell * | make_double (double d) |
Make a double cell. | |
Cell * | make_symbol (const char *s) |
Make a symbol cell. | |
Cell * | cons (const Cell *my_car, const Cell *my_cdr) |
Make a conspair cell. | |
bool | nullp (const Cell *c) |
Check if c points to an empty list, i.e., is a null pointer. | |
bool | listp (const Cell *c) |
Check if c points to a list (i.e., nil or a cons cell). | |
bool | intp (const Cell *c) |
Check if c points to an int cell. | |
bool | doublep (const Cell *c) |
Check if c points to a double cell. | |
bool | symbolp (const Cell *c) |
Check if c points to a symbol cell. | |
int | get_int (const Cell *c) |
Accessor (error if c is not an int cell). | |
double | get_double (const Cell *c) |
Accessor (error if c is not a double cell). | |
std::string | get_symbol (const Cell *c) |
Retrieve the symbol name as a string (error if c is not a symbol cell). | |
Cell * | car (const Cell *c) |
Accessor (error if c is not a cons cell). | |
Cell * | cdr (const Cell *c) |
Accessor (error if c is not a string cell). | |
std::ostream & | operator<< (std::ostream &os, const Cell &c) |
Print the subtree rooted at c, in s-expression notation. | |
Variables | |
const Cell * | nil |
The null pointer value. |
Accessor (error if c is not a cons cell).
References Cell::get_car().
Referenced by separate_parse().
Accessor (error if c is not a string cell).
References Cell::get_cdr().
Referenced by separate_parse().
Make a conspair cell.
my_car | The initial car pointer to be stored in the new cell. | |
my_cdr | The initial cdr pointer to be stored in the new cell. |
Referenced by separate_parse().
bool doublep | ( | const Cell * | c | ) | [inline] |
Check if c points to a double cell.
References Cell::is_double(), and nullp().
double get_double | ( | const Cell * | c | ) | [inline] |
Accessor (error if c is not a double cell).
References Cell::get_double().
int get_int | ( | const Cell * | c | ) | [inline] |
Accessor (error if c is not an int cell).
References Cell::get_int().
std::string get_symbol | ( | const Cell * | c | ) | [inline] |
Retrieve the symbol name as a string (error if c is not a symbol cell).
References Cell::get_symbol().
bool intp | ( | const Cell * | c | ) | [inline] |
Check if c points to an int cell.
References Cell::is_int(), and nullp().
bool listp | ( | const Cell * | c | ) | [inline] |
Check if c points to a list (i.e., nil or a cons cell).
References Cell::is_cons(), and nullp().
Cell* make_double | ( | double | d | ) | [inline] |
Make a double cell.
d | The initial double value to be stored in the new cell. |
Referenced by makecell().
Cell* make_int | ( | int | i | ) | [inline] |
Make an int cell.
i | The initial int value to be stored in the new cell. |
Referenced by makecell().
Cell* make_symbol | ( | const char * | s | ) | [inline] |
Make a symbol cell.
s | The initial symbol name to be stored in the new cell. |
Referenced by makecell().
bool nullp | ( | const Cell * | c | ) | [inline] |
std::ostream& operator<< | ( | std::ostream & | os, | |
const Cell & | c | |||
) | [inline] |
Print the subtree rooted at c, in s-expression notation.
os | The output stream to print to. | |
c | The root cell of the subtree to be printed. |
References Cell::print().
bool symbolp | ( | const Cell * | c | ) | [inline] |
Check if c points to a symbol cell.
References Cell::is_symbol(), and nullp().