\doxysection{workspace/post-\/scarcity/src/io/read.c File Reference}
\hypertarget{read_8c}{}\label{read_8c}\index{workspace/post-\/scarcity/src/io/read.c@{workspace/post-\/scarcity/src/io/read.c}}
{\ttfamily \#include $<$math.\+h$>$}\newline
{\ttfamily \#include $<$stdbool.\+h$>$}\newline
{\ttfamily \#include $<$stdio.\+h$>$}\newline
{\ttfamily \#include $<$wchar.\+h$>$}\newline
{\ttfamily \#include $<$wctype.\+h$>$}\newline
{\ttfamily \#include "{}memory/consspaceobject.\+h"{}}\newline
{\ttfamily \#include "{}debug.\+h"{}}\newline
{\ttfamily \#include "{}memory/dump.\+h"{}}\newline
{\ttfamily \#include "{}memory/hashmap.\+h"{}}\newline
{\ttfamily \#include "{}arith/integer.\+h"{}}\newline
{\ttfamily \#include "{}ops/intern.\+h"{}}\newline
{\ttfamily \#include "{}io/io.\+h"{}}\newline
{\ttfamily \#include "{}ops/lispops.\+h"{}}\newline
{\ttfamily \#include "{}arith/peano.\+h"{}}\newline
{\ttfamily \#include "{}io/print.\+h"{}}\newline
{\ttfamily \#include "{}arith/ratio.\+h"{}}\newline
{\ttfamily \#include "{}io/read.\+h"{}}\newline
{\ttfamily \#include "{}arith/real.\+h"{}}\newline
{\ttfamily \#include "{}memory/vectorspace.\+h"{}}\newline
Include dependency graph for read.\+c\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{read_8c__incl}
\end{center}
\end{figure}
\doxysubsubsection*{Functions}
\begin{DoxyCompactItemize}
\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b}{c\+\_\+quote}} (struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} arg)
\begin{DoxyCompactList}\small\item\em quote reader macro in C (!) \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a7d1f65f93a75631a7d63e636dcbfa76f}{read}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env, \mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input)
\begin{DoxyCompactList}\small\item\em Read the next object on this input stream and return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} to it. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}{read\+\_\+continuation}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env, \mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial)
\begin{DoxyCompactList}\small\item\em Read the next object on this input stream and return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} to it, treating this initial character as the first character of the object representation. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a6cd5d7385493767b1de070b564167bb4}{read\+\_\+list}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env, \mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial)
\begin{DoxyCompactList}\small\item\em Read a list from this input stream, which no longer contains the opening left parenthesis. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_af79164be6266da9736693f4d237c92d6}{read\+\_\+map}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} env, \mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial)
\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a591d644a952e568d4db8cf2474d4997a}{read\+\_\+number}} (struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}frame, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} frame\+\_\+pointer, \mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial, bool seen\+\_\+period)
\begin{DoxyCompactList}\small\item\em read a number from this input stream, given this initial character. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}{read\+\_\+path}} (\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial, struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} q)
\begin{DoxyCompactList}\small\item\em Read a path macro from the stream. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_a48410482d0b5ea0a28e49ede85109d4c}{read\+\_\+string}} (\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, wint\+\_\+t initial)
\begin{DoxyCompactList}\small\item\em Read a string. \end{DoxyCompactList}\item 
struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} \mbox{\hyperlink{read_8c_ad5a92a9c32a8fbb3798642b443d42619}{read\+\_\+symbol\+\_\+or\+\_\+key}} (\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}input, uint32\+\_\+t tag, wint\+\_\+t initial)
\end{DoxyCompactItemize}


\doxysubsection{Function Documentation}
\Hypertarget{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b}\label{read_8c_a290056c9306f9abd2cb0aa5b97e35e4b} 
\index{read.c@{read.c}!c\_quote@{c\_quote}}
\index{c\_quote@{c\_quote}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{c\_quote()}{c\_quote()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} c\+\_\+quote (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{arg }\end{DoxyParamCaption})}



quote reader macro in C (!) 



Definition at line \mbox{\hyperlink{read_8c_source_l00074}{74}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{consspaceobject_8c_source_l00469}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+symbol()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00177}{make\+\_\+cons()}}, and \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}.

\Hypertarget{read_8c_a7d1f65f93a75631a7d63e636dcbfa76f}\label{read_8c_a7d1f65f93a75631a7d63e636dcbfa76f} 
\index{read.c@{read.c}!read@{read}}
\index{read@{read}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read()}{read()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env,  }\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input }\end{DoxyParamCaption})}



Read the next object on this input stream and return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} to it. 

read the next object on this input stream and return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} to it. 

Definition at line \mbox{\hyperlink{read_8c_source_l00559}{559}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, and \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}.



Referenced by \mbox{\hyperlink{lispops_8c_source_l00906}{lisp\+\_\+read()}}.

\Hypertarget{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299}\label{read_8c_a64ef3c2dc37bff87ecfb24b6f5473299} 
\index{read.c@{read.c}!read\_continuation@{read\_continuation}}
\index{read\_continuation@{read\_continuation}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_continuation()}{read\_continuation()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+continuation (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env,  }\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial }\end{DoxyParamCaption})}



Read the next object on this input stream and return a \doxylink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer} to it, treating this initial character as the first character of the object representation. 



Definition at line \mbox{\hyperlink{read_8c_source_l00155}{155}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{read_8c_source_l00074}{c\+\_\+quote()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00454}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+string()}}, \mbox{\hyperlink{debug_8c_source_l00136}{debug\+\_\+dump\+\_\+object()}}, \mbox{\hyperlink{debug_8h_source_l00056}{DEBUG\+\_\+\+IO}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00100}{KEYTV}}, \mbox{\hyperlink{read_8h_source_l00023}{LSESSION}}, \mbox{\hyperlink{consspaceobject_8c_source_l00177}{make\+\_\+cons()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00338}{make\+\_\+string()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00350}{make\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00303}{nilp}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}, \mbox{\hyperlink{read_8c_source_l00441}{read\+\_\+map()}}, \mbox{\hyperlink{read_8c_source_l00288}{read\+\_\+number()}}, \mbox{\hyperlink{read_8c_source_l00086}{read\+\_\+path()}}, \mbox{\hyperlink{read_8c_source_l00484}{read\+\_\+string()}}, \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00231}{SYMBOLTV}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, \mbox{\hyperlink{fopen_8c_source_l00286}{url\+\_\+feof()}}, \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}, and \mbox{\hyperlink{io_8c_source_l00220}{url\+\_\+ungetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00559}{read()}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}, and \mbox{\hyperlink{read_8c_source_l00441}{read\+\_\+map()}}.

\Hypertarget{read_8c_a6cd5d7385493767b1de070b564167bb4}\label{read_8c_a6cd5d7385493767b1de070b564167bb4} 
\index{read.c@{read.c}!read\_list@{read\_list}}
\index{read\_list@{read\_list}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_list()}{read\_list()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+list (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env,  }\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial }\end{DoxyParamCaption})}



Read a list from this input stream, which no longer contains the opening left parenthesis. 



Definition at line \mbox{\hyperlink{read_8c_source_l00401}{401}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{consspaceobject_8c_source_l00125}{c\+\_\+car()}}, \mbox{\hyperlink{debug_8h_source_l00056}{DEBUG\+\_\+\+IO}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00101}{debug\+\_\+printf()}}, \mbox{\hyperlink{read_8h_source_l00018}{LPERIOD}}, \mbox{\hyperlink{consspaceobject_8c_source_l00177}{make\+\_\+cons()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}, and \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, and \mbox{\hyperlink{read_8c_source_l00401}{read\+\_\+list()}}.

\Hypertarget{read_8c_af79164be6266da9736693f4d237c92d6}\label{read_8c_af79164be6266da9736693f4d237c92d6} 
\index{read.c@{read.c}!read\_map@{read\_map}}
\index{read\_map@{read\_map}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_map()}{read\_map()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+map (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{env,  }\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{read_8c_source_l00441}{441}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{hashmap_8h_source_l00018}{DFLT\+\_\+\+HASHMAP\+\_\+\+BUCKETS}}, \mbox{\hyperlink{lispops_8c_source_l00064}{eval\+\_\+form()}}, \mbox{\hyperlink{intern_8c_source_l00385}{hashmap\+\_\+put()}}, \mbox{\hyperlink{read_8h_source_l00021}{LCBRACE}}, \mbox{\hyperlink{read_8h_source_l00017}{LCOMMA}}, \mbox{\hyperlink{intern_8c_source_l00137}{make\+\_\+hashmap()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{vectorspace_8h_source_l00055}{pointer\+\_\+to\+\_\+vso}}, \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00282}{TRUE}}, and \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}.

\Hypertarget{read_8c_a591d644a952e568d4db8cf2474d4997a}\label{read_8c_a591d644a952e568d4db8cf2474d4997a} 
\index{read.c@{read.c}!read\_number@{read\_number}}
\index{read\_number@{read\_number}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_number()}{read\_number()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+number (\begin{DoxyParamCaption}\item[{struct \mbox{\hyperlink{consspaceobject_8h_structstack__frame}{stack\+\_\+frame}} \texorpdfstring{$\ast$}{*}}]{frame,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{frame\+\_\+pointer,  }\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial,  }\item[{bool}]{seen\+\_\+period }\end{DoxyParamCaption})}



read a number from this input stream, given this initial character. 

\begin{DoxyRefDesc}{Todo}
\item[\mbox{\hyperlink{todo__todo000004}{Todo}}]Need to do a lot of inc\+\_\+ref and dec\+\_\+ref, to make sure the garbage is collected. \end{DoxyRefDesc}


Definition at line \mbox{\hyperlink{read_8c_source_l00288}{288}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{integer_8c_source_l00129}{acquire\+\_\+integer()}}, \mbox{\hyperlink{integer_8c_source_l00224}{add\+\_\+integers()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00454}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+string()}}, \mbox{\hyperlink{debug_8c_source_l00136}{debug\+\_\+dump\+\_\+object()}}, \mbox{\hyperlink{debug_8h_source_l00056}{DEBUG\+\_\+\+IO}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{debug_8c_source_l00119}{debug\+\_\+print\+\_\+object()}}, \mbox{\hyperlink{debug_8c_source_l00101}{debug\+\_\+printf()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00080}{dec\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00062}{inc\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00353}{integerp}}, \mbox{\hyperlink{read_8h_source_l00017}{LCOMMA}}, \mbox{\hyperlink{read_8h_source_l00018}{LPERIOD}}, \mbox{\hyperlink{read_8h_source_l00019}{LSLASH}}, \mbox{\hyperlink{ratio_8c_source_l00312}{make\+\_\+ratio()}}, \mbox{\hyperlink{real_8c_source_l00021}{make\+\_\+real()}}, \mbox{\hyperlink{integer_8c_source_l00343}{multiply\+\_\+integers()}}, \mbox{\hyperlink{peano_8c_source_l00489}{negative()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00303}{nilp}}, \mbox{\hyperlink{lispops_8c_source_l01208}{throw\+\_\+exception()}}, \mbox{\hyperlink{peano_8c_source_l00124}{to\+\_\+long\+\_\+double()}}, \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}, and \mbox{\hyperlink{io_8c_source_l00220}{url\+\_\+ungetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}.

\Hypertarget{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb}\label{read_8c_a5cb6412e1b6afa46b3e3ba79cc7a4aeb} 
\index{read.c@{read.c}!read\_path@{read\_path}}
\index{read\_path@{read\_path}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_path()}{read\_path()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+path (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial,  }\item[{struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}}}]{q }\end{DoxyParamCaption})}



Read a path macro from the stream. 

A path macro is expected to be
\begin{DoxyEnumerate}
\item optionally a leading character such as \textquotesingle{}/\textquotesingle{} or \textquotesingle{}\$\textquotesingle{}, followed by
\item one or more keywords with leading colons (\textquotesingle{}\+:\textquotesingle{}) but no intervening spaces; or
\item one or more symbols separated by slashes; or
\item keywords (with leading colons) interspersed with symbols (prefixed by slashes). 
\end{DoxyEnumerate}

Definition at line \mbox{\hyperlink{read_8c_source_l00086}{86}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{consspaceobject_8c_source_l00125}{c\+\_\+car()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00139}{c\+\_\+cdr()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00469}{c\+\_\+string\+\_\+to\+\_\+lisp\+\_\+symbol()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00080}{dec\+\_\+ref()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00100}{KEYTV}}, \mbox{\hyperlink{read_8h_source_l00023}{LSESSION}}, \mbox{\hyperlink{consspaceobject_8c_source_l00177}{make\+\_\+cons()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{consspaceobject_8h_source_l00303}{nilp}}, \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00231}{SYMBOLTV}}, \mbox{\hyperlink{fopen_8c_source_l00286}{url\+\_\+feof()}}, \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}, and \mbox{\hyperlink{io_8c_source_l00220}{url\+\_\+ungetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}.

\Hypertarget{read_8c_a48410482d0b5ea0a28e49ede85109d4c}\label{read_8c_a48410482d0b5ea0a28e49ede85109d4c} 
\index{read.c@{read.c}!read\_string@{read\_string}}
\index{read\_string@{read\_string}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_string()}{read\_string()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+string (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{wint\+\_\+t}]{initial }\end{DoxyParamCaption})}



Read a string. 

This means either a string delimited by double quotes (is\+\_\+quoted == true), in which case it may contain whitespace but may not contain a double quote character (unless escaped), or one not so delimited in which case it may not contain whitespace (unless escaped) but may contain a double quote character (probably not a good idea!) 

Definition at line \mbox{\hyperlink{read_8c_source_l00484}{484}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{consspaceobject_8c_source_l00338}{make\+\_\+string()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{read_8c_source_l00484}{read\+\_\+string()}}, and \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, and \mbox{\hyperlink{read_8c_source_l00484}{read\+\_\+string()}}.

\Hypertarget{read_8c_ad5a92a9c32a8fbb3798642b443d42619}\label{read_8c_ad5a92a9c32a8fbb3798642b443d42619} 
\index{read.c@{read.c}!read\_symbol\_or\_key@{read\_symbol\_or\_key}}
\index{read\_symbol\_or\_key@{read\_symbol\_or\_key}!read.c@{read.c}}
\doxysubsubsection{\texorpdfstring{read\_symbol\_or\_key()}{read\_symbol\_or\_key()}}
{\footnotesize\ttfamily struct \mbox{\hyperlink{consspaceobject_8h_structcons__pointer}{cons\+\_\+pointer}} read\+\_\+symbol\+\_\+or\+\_\+key (\begin{DoxyParamCaption}\item[{\mbox{\hyperlink{fopen_8h_a8c81a077422f5e2410ba71eb75108f6e}{URL\+\_\+\+FILE}} \texorpdfstring{$\ast$}{*}}]{input,  }\item[{uint32\+\_\+t}]{tag,  }\item[{wint\+\_\+t}]{initial }\end{DoxyParamCaption})}



Definition at line \mbox{\hyperlink{read_8c_source_l00507}{507}} of file \mbox{\hyperlink{read_8c_source}{read.\+c}}.



References \mbox{\hyperlink{debug_8c_source_l00136}{debug\+\_\+dump\+\_\+object()}}, \mbox{\hyperlink{debug_8h_source_l00056}{DEBUG\+\_\+\+IO}}, \mbox{\hyperlink{debug_8c_source_l00041}{debug\+\_\+print()}}, \mbox{\hyperlink{consspaceobject_8c_source_l00350}{make\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{consspaceobject_8h_source_l00277}{NIL}}, \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}, \mbox{\hyperlink{io_8c_source_l00151}{url\+\_\+fgetwc()}}, and \mbox{\hyperlink{io_8c_source_l00220}{url\+\_\+ungetwc()}}.



Referenced by \mbox{\hyperlink{read_8c_source_l00155}{read\+\_\+continuation()}}, \mbox{\hyperlink{read_8c_source_l00086}{read\+\_\+path()}}, and \mbox{\hyperlink{read_8c_source_l00507}{read\+\_\+symbol\+\_\+or\+\_\+key()}}.

