#include <stdlib.h>
#include <string.h>
#include <stdio.h>
#include "errcodes.h"
#include "report.h"
#include "lexer.h"
#include "sym.h"
#include "expression.h"
#include "myalloc.h"
#include "syntax.h"
#include "ipreproc.h"
Go to the source code of this file.
Defines | |
#define | new_eNODE() _new_eNODE(pEx) |
#define | new_eNODE_l() _new_eNODE_l(pEx,NULL,0L) |
#define | new_eNODE_lL() _new_eNODE_l(pEx,pszFileName,lLineNumber) |
#define | new_SymbolUF() _new_SymbolUF(pEx) |
#define | new_SymbolVAR(y) _new_SymbolVAR(pEx,y) |
#define | new_SymbolLABEL() _new_SymbolLABEL(pEx) |
#define | ex_PopLabel(y) _ex_PopLabel(pEx,y) |
#define | ex_CleanLabelStack() _ex_CleanLabelStack(pEx) |
#define | LOCAL_VAR 1 |
#define | GLOBAL_VAR 0 |
#define | LexemeLineNumber lex_LineNumber(pEx->pLex) |
#define | LexemeFileName lex_FileName(pEx->pLex) |
#define | NextLexeme lex_NextLexeme(pEx->pLex); |
#define | LexemeType (lex_EOF(pEx->pLex) ? 0 : lex_Type(pEx->pLex)) |
#define | LexemeCode lex_Code(pEx->pLex) |
#define | LexemeChar lex_Char(pEx->pLex) |
#define | LexemeStrLen lex_StrLen(pEx->pLex) |
#define | LexemeString lex_String(pEx->pLex) |
#define | LexemeDouble lex_Double(pEx->pLex) |
#define | LexemeLong lex_Long(pEx->pLex) |
#define | LexemeInt lex_Int(pEx->pLex) |
#define | LexemeSymbol lex_Symbol(pEx->pLex) |
#define | WeAreLocal (pEx->iWeAreLocal) |
#define | WeAreNotLocal (!pEx->iWeAreLocal) |
#define | DeclareVars (pEx->iDeclareVars) |
#define | DefaultLocal (pEx->iDefaultLocal) |
#define | COUNT_STRING_LEN (pEx->cbStringTable += sizeof(long)); |
#define | CALL_PREPROCESSOR(X, Y) if( pEx->pPREP && pEx->pPREP->n )ipreproc_Process(pEx->pPREP,X,Y) |
#define | REPORT(x1, x2, x3, x4) do{if( pEx->report )pEx->report(pEx->reportptr,x1,x2,x3,REPORT_ERROR,&(pEx->iErrorCounter),x4,&(pEx->fErrorFlags));}while(0) |
#define | OPCODE (p->OpCode) |
#define | ABORT goto SYNTAX_FAILURE_DO_CLEANUP |
#define | ARGUMENT pArgument->Parameter.CommandArgument.Argument |
#define | ASSERT_NON_NULL(x) if( (x) == NULL ){ *piFailure = EX_ERROR_MEMORY_LOW; ABORT; } |
#define | NewArgument |
#define | ex_PushLabel(y, z) _ex_PushLabel(pEx,y,z,pMyMemorySegment) |
#define | ex_SwapMemorySegment() |
#define | ABORT do{ *piFailure = EX_ERROR_SYNTAX;return NULL; }while(0) |
#define | FABORT do{ *piFailure = EX_ERROR_SYNTAX_FATAL;return NULL; }while(0) |
#define | ARGUMENT pArgument->Parameter.CommandArgument.Argument |
#define | ASSERT_NON_NULL(x) if( (x) == NULL ){ *piFailure = EX_ERROR_MEMORY_LOW; ABORT; } |
#define | NewArgument |
Functions | |
static | isinset (int ch, char *string) |
static void | _ex_printVAR (char *name, void *value, void *f) |
void | ex_DumpVariables (SymbolTable q, FILE *fp) |
static void | _ex_pprint (FILE *f, peNODE p, peXobject pEx, int tab) |
void | _ex_pprint_l (FILE *f, peNODE_l p, peXobject pEx, int tab) |
int | expression_PushNameSpace (peXobject pEx) |
static void | CUL_callback (char *LabelName, void *pL, void *f) |
void | ex_CheckUndefinedLabels (peXobject pEx) |
void | ex_CleanNameSpaceStack (peXobject pEx) |
int | expression_PopNameSpace (peXobject pEx) |
int | ex_PushWaitingLabel (peXobject pEx, pSymbolLABEL pLbl) |
pSymbolLABEL | ex_PopWaitingLabel (peXobject pEx) |
int | _ex_PushLabel (peXobject pEx, pSymbolLABEL pLbl, long Type, void *pMemorySegment) |
pSymbolLABEL | _ex_PopLabel (peXobject pEx, long *pAcceptedType) |
void | _ex_CleanLabelStack (peXobject pEx) |
pSymbolLABEL | _new_SymbolLABEL (peXobject pEx) |
pSymbolVAR | _new_SymbolVAR (peXobject pEx, int iLocal) |
pSymbolUF | _new_SymbolUF (peXobject pEx) |
peNODE | _new_eNODE (peXobject pEx) |
peNODE_l | _new_eNODE_l (peXobject pEx, char *pszFileName, long lLineNumber) |
void | ex_free (peXobject pEx) |
int | ex_init (peXobject pEx) |
void | ex_CleanNamePath (char *s) |
int | ex_ConvertName (char *s, char *Buffer, size_t cbBuffer, peXobject pEx) |
pBFun | ex_IsBFun (peXobject pEx) |
unsigned long | ex_IsUnop (peXobject pEx) |
unsigned long | ex_IsBinop (peXobject pEx, unsigned long precedence) |
peNODE_l | ex_LeftValueList (peXobject pEx) |
peNODE_l | ex_ExpressionList (peXobject pEx) |
int | ex_Local (peXobject pEx) |
int | ex_LocalList (peXobject pEx) |
int | ex_Global (peXobject pEx) |
int | ex_GlobalList (peXobject pEx) |
void ** | ex_LookupUserFunction (peXobject pEx, int iInsert) |
void ** | ex_LookupGlobalVariable (peXobject pEx, int iInsert) |
void ** | ex_LookupLocallyDeclaredGlobalVariable (peXobject pEx) |
void ** | ex_LookupLocalVariable (peXobject pEx, int iInsert) |
peNODE | ex_Tag (peXobject pEx) |
peNODE | ex_Expression_i (peXobject pEx, int i) |
void | ex_Expression_r (peXobject pEx, peNODE *Result) |
int | ex_IsSymbolValidLval (peXobject pEx) |
peNODE | ex_LeftValue (peXobject pEx) |
int | ex_PredeclareGlobalLongConst (peXobject pEx, char *pszConstName, long lConstValue) |
peNODE | ex_IsCommandThis (peXobject pEx, pLineSyntax p, int *piFailure) |
void | ex_Command_r (peXobject pEx, peNODE *Result, int *piFailure) |
int | ex_Command_l (peXobject pEx, peNODE_l *Result) |
void | ex_pprint (FILE *f, peXobject pEx) |
int | ex_Pragma (peXobject pEx, char *pszPragma) |
peNODE | ex_IsCommandCALL (peXobject pEx, pLineSyntax p, int *piFailure) |
peNODE | ex_IsCommandOPEN (peXobject pEx, pLineSyntax p, int *piFailure) |
peNODE | ex_IsCommandSLIF (peXobject pEx, pLineSyntax p, int *piFailure) |
peNODE | ex_IsCommandIF (peXobject pEx, pLineSyntax p, int *piFailure) |
peNODE | ex_IsCommandLET (peXobject pEx, pLineSyntax p, int *piFailure) |
|
Definition at line 3229 of file expression.c. |
|
Definition at line 3229 of file expression.c. Referenced by ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), ex_IsCommandSLIF(), and ex_IsCommandThis(). |
|
Definition at line 3231 of file expression.c. |
|
Definition at line 3231 of file expression.c. Referenced by ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), and ex_IsCommandThis(). |
|
Definition at line 3232 of file expression.c. |
|
Definition at line 3232 of file expression.c. |
|
Definition at line 424 of file expression.c. |
|
Definition at line 422 of file expression.c. Referenced by ex_IsCommandOPEN(), ex_IsCommandThis(), and ex_Tag(). |
|
Definition at line 419 of file expression.c. Referenced by ex_Global(), ex_LeftValue(), ex_Pragma(), and ex_Tag(). |
|
Definition at line 420 of file expression.c. Referenced by ex_LeftValue(), ex_Pragma(), and ex_Tag(). |
|
Definition at line 401 of file expression.c. Referenced by ex_Command_l(). |
|
Definition at line 400 of file expression.c. Referenced by _ex_CleanLabelStack(), and ex_IsCommandThis(). |
|
Referenced by ex_IsCommandThis(). |
|
Value: do{ pSwapMemorySegment = pEx->pMemorySegment; \ pEx->pMemorySegment = pMyMemorySegment; \ pMyMemorySegment = pSwapMemorySegment; }while(0) |
|
Definition at line 3230 of file expression.c. Referenced by ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), and ex_IsCommandOPEN(). |
|
Definition at line 403 of file expression.c. Referenced by ex_Global(), ex_LeftValue(), and ex_Tag(). |
|
Definition at line 410 of file expression.c. Referenced by ex_Command_l(), ex_ExpressionList(), ex_GlobalList(), ex_IsCommandCALL(), ex_IsCommandThis(), ex_LeftValue(), ex_LeftValueList(), ex_LocalList(), and ex_Tag(). |
|
Definition at line 409 of file expression.c. Referenced by ex_IsBFun(), ex_IsBinop(), ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), ex_IsCommandThis(), ex_IsUnop(), and ex_Tag(). |
|
Definition at line 413 of file expression.c. Referenced by ex_IsCommandThis(). |
|
Definition at line 406 of file expression.c. Referenced by _ex_CleanLabelStack(), _ex_PopLabel(), ex_CleanNameSpaceStack(), ex_Command_l(), ex_Global(), ex_IsCommandCALL(), ex_LeftValue(), ex_Local(), ex_Pragma(), and ex_Tag(). |
|
Definition at line 415 of file expression.c. |
|
Definition at line 405 of file expression.c. Referenced by _ex_CleanLabelStack(), _ex_PopLabel(), ex_CleanNameSpaceStack(), ex_Command_l(), ex_Global(), ex_IsCommandCALL(), ex_LeftValue(), ex_Local(), ex_Pragma(), and ex_Tag(). |
|
Definition at line 414 of file expression.c. Referenced by ex_IsCommandThis(). |
|
Definition at line 412 of file expression.c. |
|
Definition at line 411 of file expression.c. Referenced by ex_IsCommandThis(). |
|
Definition at line 416 of file expression.c. Referenced by ex_Global(), ex_IsCommandCALL(), ex_IsCommandOPEN(), ex_IsCommandThis(), ex_IsSymbolValidLval(), ex_LeftValue(), ex_Local(), and ex_Tag(). |
|
Definition at line 408 of file expression.c. Referenced by ex_Command_l(), ex_ExpressionList(), ex_Global(), ex_GlobalList(), ex_IsBFun(), ex_IsBinop(), ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), ex_IsCommandThis(), ex_IsUnop(), ex_LeftValue(), ex_LeftValueList(), ex_Local(), ex_LocalList(), and ex_Tag(). |
|
Definition at line 402 of file expression.c. Referenced by ex_LeftValue(), ex_Local(), and ex_Tag(). |
|
Definition at line 394 of file expression.c. Referenced by ex_Expression_i(), ex_IsCommandCALL(), ex_IsCommandOPEN(), ex_LeftValue(), and ex_Tag(). |
|
Definition at line 395 of file expression.c. Referenced by ex_Expression_i(), ex_ExpressionList(), ex_LeftValue(), ex_LeftValueList(), and ex_Tag(). |
|
Definition at line 396 of file expression.c. Referenced by ex_Command_l(). |
|
Definition at line 399 of file expression.c. Referenced by ex_IsCommandIF(), and ex_IsCommandThis(). |
|
Definition at line 397 of file expression.c. Referenced by ex_IsCommandCALL(), ex_IsCommandThis(), and ex_Tag(). |
|
Definition at line 398 of file expression.c. Referenced by ex_Global(), ex_LeftValue(), ex_Local(), and ex_Tag(). |
|
Value: if( (*ppArgument = new_eNODE()) == NULL ){\ *piFailure = EX_ERROR_MEMORY_LOW;\ return NULL;\ }else{\ pArgument = *ppArgument;\ ppArgument = &(pArgument->Parameter.CommandArgument.next);\ *ppArgument = NULL;\ } Definition at line 3234 of file expression.c. |
|
Value: if( (*ppArgument = new_eNODE()) == NULL ){\ *piFailure = EX_ERROR_MEMORY_LOW;\ ABORT;\ }else{\ pArgument = *ppArgument;\ ppArgument = &(pArgument->Parameter.CommandArgument.next);\ *ppArgument = NULL;\ } Definition at line 3234 of file expression.c. Referenced by ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), and ex_IsCommandThis(). |
|
Definition at line 407 of file expression.c. Referenced by ex_Command_l(), ex_Expression_i(), ex_ExpressionList(), ex_Global(), ex_GlobalList(), ex_IsCommandCALL(), ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), ex_IsCommandThis(), ex_LeftValue(), ex_LeftValueList(), ex_Local(), ex_LocalList(), and ex_Tag(). |
|
Referenced by _ex_pprint(), COMMAND_EXTERNAL(), COMMAND_FUNCTIONARG(), if(), and while(). |
|
Definition at line 426 of file expression.c. |
|
Definition at line 417 of file expression.c. Referenced by ex_Global(), ex_LeftValue(), and ex_Tag(). |
|
Definition at line 418 of file expression.c. Referenced by ex_LeftValue(), ex_Local(), and ex_Tag(). |
|
Definition at line 882 of file expression.c. References ex_PopLabel, LexemeFileName, LexemeLineNumber, NULL, and REPORT. |
|
Definition at line 839 of file expression.c. References i, LexemeFileName, LexemeLineNumber, NULL, p, q, and REPORT. |
|
Definition at line 467 of file expression.c. References _ex_pprint_l(), i, j, lex_SymbolicName(), NULL, OPCODE, and q. Referenced by _ex_pprint_l(), and ex_pprint(). |
|
Definition at line 458 of file expression.c. References _ex_pprint(). Referenced by _ex_pprint(). |
|
Definition at line 433 of file expression.c. Referenced by ex_DumpVariables(). |
|
Definition at line 787 of file expression.c. References alloc_Alloc(), NULL, and p. Referenced by ex_IsCommandIF(). |
|
Definition at line 1030 of file expression.c. References alloc_Alloc(), NULL, and p. |
|
Definition at line 1069 of file expression.c. References alloc_Alloc(), NULL, and p. |
|
Definition at line 936 of file expression.c. References alloc_Alloc(), NULL, and p. |
|
Definition at line 999 of file expression.c. References alloc_Alloc(), NULL, and p. |
|
Definition at line 965 of file expression.c. References alloc_Alloc(), NULL, and p. |
|
Definition at line 631 of file expression.c. References REPORT. Referenced by ex_CheckUndefinedLabels(). |
|
Definition at line 652 of file expression.c. References CUL_callback(), and sym_TraverseSymbolTable(). Referenced by ex_Command_l(). |
|
Definition at line 1258 of file expression.c. Referenced by ex_ConvertName(). |
|
Definition at line 670 of file expression.c. References alloc_Free(), LexemeFileName, LexemeLineNumber, NULL, p, and REPORT. Referenced by ex_Command_l(). |
|
Definition at line 3131 of file expression.c. References CALL_PREPROCESSOR, ex_CheckUndefinedLabels(), ex_CleanLabelStack, ex_CleanNameSpaceStack(), ex_Command_r(), ex_PopWaitingLabel(), LexemeChar, LexemeFileName, LexemeLineNumber, LexemeType, new_eNODE_lL, NextLexeme, pszFileName, and REPORT. Referenced by HttpExtensionProc(), main(), and scriba_DoSyntaxAnalysis(). |
|
Definition at line 3093 of file expression.c. References i, lex_RestorePosition(), lex_SavePosition(), and p. Referenced by ex_Command_l(). |
|
Definition at line 1299 of file expression.c. References ex_CleanNamePath(), i, and strcpy(). Referenced by ex_Global(), ex_IsCommandCALL(), ex_IsCommandThis(), ex_LeftValue(), ex_Local(), and ex_Tag(). |
|
Definition at line 447 of file expression.c. References _ex_printVAR(), and sym_TraverseSymbolTable(). |
|
Definition at line 2127 of file expression.c. References ex_IsBinop(), ex_Tag(), new_eNODE, new_eNODE_l, NextLexeme, NULL, and q. Referenced by ex_Expression_r(), ex_ExpressionList(), and ex_Tag(). |
|
Definition at line 2167 of file expression.c. References ex_Expression_i(). Referenced by ex_IsCommandIF(), ex_IsCommandLET(), ex_IsCommandOPEN(), and ex_IsCommandThis(). |
|
Definition at line 1468 of file expression.c. References ex_Expression_i(), LexemeChar, LexemeType, new_eNODE_l, NextLexeme, NULL, q, and r. Referenced by ex_IsCommandCALL(), ex_IsCommandThis(), ex_LeftValue(), and ex_Tag(). |
|
Definition at line 1107 of file expression.c. References alloc_FinishSegment(), and NULL. Referenced by ex_init(), HttpExtensionProc(), main(), and scriba_PurgeSyntaxerMemory(). |
|
Definition at line 1565 of file expression.c. References alloc_Alloc(), alloc_Free(), DeclareVars, ex_ConvertName(), GLOBAL_VAR, LexemeFileName, LexemeLineNumber, LexemeSymbol, LexemeType, new_SymbolVAR, NextLexeme, NULL, REPORT, sym_LookupSymbol(), and WeAreLocal. Referenced by ex_GlobalList(), and ex_IsCommandThis(). |
|
Definition at line 1643 of file expression.c. References ex_Global(), LexemeChar, LexemeType, and NextLexeme. Referenced by ex_IsCommandThis(). |
|
Definition at line 1132 of file expression.c. References alloc_Alloc(), alloc_InitSegment(), ex_free(), ex_PredeclareGlobalLongConst(), i, lex_StartIteration(), NULL, strcpy(), and sym_NewSymbolTable(). Referenced by HttpExtensionProc(), main(), and scriba_DoSyntaxAnalysis(). |
|
Definition at line 1380 of file expression.c. References LexemeCode, LexemeType, NULL, and p. Referenced by ex_Tag(). |
|
Definition at line 1421 of file expression.c. References LexemeCode, LexemeType, and p. Referenced by ex_Expression_i(). |
|
Definition at line 3307 of file expression.c. References ABORT, ARGUMENT, ex_ConvertName(), ex_ExpressionList(), ex_LookupUserFunction(), FABORT, lex_EOF(), lex_RestorePosition(), lex_SavePosition(), LexemeChar, LexemeCode, LexemeFileName, LexemeLineNumber, LexemeSymbol, LexemeType, new_eNODE, new_SymbolUF, NewArgument, NextLexeme, q, and REPORT. |
|
Definition at line 3586 of file expression.c. References _ex_PushLabel(), ABORT, ARGUMENT, ex_Expression_r(), FABORT, LexemeCode, LexemeType, new_SymbolLABEL, NewArgument, and NextLexeme. |
|
Definition at line 3668 of file expression.c. References ABORT, ARGUMENT, ex_Expression_r(), ex_LeftValue(), FABORT, LexemeCode, LexemeType, NewArgument, and NextLexeme. |
|
Definition at line 3459 of file expression.c. References ABORT, alloc_Alloc(), ARGUMENT, COUNT_STRING_LEN, ex_Expression_r(), FABORT, lex_SymbolicName(), LexemeCode, LexemeSymbol, LexemeType, new_eNODE, NewArgument, NextLexeme, q, sLen, and strcpy(). |
|
Definition at line 3566 of file expression.c. References ABORT. |
|
|
Definition at line 2192 of file expression.c. References alloc_Alloc(), alloc_Free(), fs, LexemeSymbol, NULL, s, strcpy(), and sym_LookupSymbol(). Referenced by ex_LeftValue(). |
|
Definition at line 1401 of file expression.c. References LexemeCode, LexemeType, and p. Referenced by ex_Tag(). |
|
Definition at line 2267 of file expression.c. References DeclareVars, DefaultLocal, ex_ConvertName(), ex_ExpressionList(), ex_IsSymbolValidLval(), ex_LookupGlobalVariable(), ex_LookupLocallyDeclaredGlobalVariable(), ex_LookupLocalVariable(), GLOBAL_VAR, LexemeChar, LexemeFileName, LexemeLineNumber, LexemeSymbol, LexemeType, LOCAL_VAR, new_eNODE, new_eNODE_l, new_SymbolVAR, NextLexeme, NULL, q, r, REPORT, WeAreLocal, and WeAreNotLocal. Referenced by ex_IsCommandLET(), ex_IsCommandThis(), and ex_LeftValueList(). |
|
Definition at line 1443 of file expression.c. References ex_LeftValue(), LexemeChar, LexemeType, new_eNODE_l, NextLexeme, NULL, q, and r. Referenced by ex_IsCommandThis(). |
|
Definition at line 1494 of file expression.c. References alloc_Alloc(), alloc_Free(), ex_ConvertName(), LexemeFileName, LexemeLineNumber, LexemeSymbol, LexemeType, LOCAL_VAR, new_SymbolVAR, NextLexeme, NULL, REPORT, sym_LookupSymbol(), and WeAreNotLocal. Referenced by ex_IsCommandThis(), and ex_LocalList(). |
|
Definition at line 1535 of file expression.c. References ex_Local(), LexemeChar, LexemeType, and NextLexeme. Referenced by ex_IsCommandThis(). |
|
Definition at line 1700 of file expression.c. References alloc_Alloc(), alloc_Free(), and sym_LookupSymbol(). Referenced by ex_LeftValue(), and ex_Tag(). |
|
Definition at line 1733 of file expression.c. References alloc_Alloc(), alloc_Free(), and sym_LookupSymbol(). Referenced by ex_LeftValue(), and ex_Tag(). |
|
Definition at line 1760 of file expression.c. References alloc_Alloc(), alloc_Free(), and sym_LookupSymbol(). Referenced by ex_LeftValue(), and ex_Tag(). |
|
Definition at line 1674 of file expression.c. References alloc_Alloc(), alloc_Free(), and sym_LookupSymbol(). Referenced by ex_IsCommandCALL(), ex_IsCommandThis(), and ex_Tag(). |
|
Definition at line 768 of file expression.c. References NULL. Referenced by ex_Command_l(). |
|
Definition at line 3219 of file expression.c. References _ex_pprint(), and q. |
|
Definition at line 3260 of file expression.c. References DeclareVars, DefaultLocal, LexemeFileName, LexemeLineNumber, and REPORT. Referenced by ex_IsCommandThis(). |
|
Definition at line 2387 of file expression.c. References alloc_Alloc(), alloc_Free(), NULL, and sym_LookupSymbol(). Referenced by ex_init(). |
|
Definition at line 721 of file expression.c. Referenced by ex_IsCommandThis(). |
|
Definition at line 1798 of file expression.c. References alloc_Alloc(), alloc_Free(), COUNT_STRING_LEN, DeclareVars, DefaultLocal, ex_ConvertName(), ex_Expression_i(), ex_ExpressionList(), ex_IsBFun(), ex_IsUnop(), ex_LookupGlobalVariable(), ex_LookupLocallyDeclaredGlobalVariable(), ex_LookupLocalVariable(), ex_LookupUserFunction(), GLOBAL_VAR, LexemeChar, LexemeCode, LexemeFileName, LexemeLineNumber, LexemeSymbol, LexemeType, LOCAL_VAR, memcpy(), new_eNODE, new_eNODE_l, new_SymbolUF, new_SymbolVAR, NextLexeme, NULL, q, r, REPORT, s, sym_LookupSymbol(), WeAreLocal, and WeAreNotLocal. Referenced by ex_Expression_i(). |
|
Definition at line 699 of file expression.c. References alloc_Free(), NULL, p, and strcpy(). |
|
Definition at line 607 of file expression.c. References alloc_Alloc(), alloc_Free(), NULL, p, and strcpy(). |
|
Definition at line 428 of file expression.c. Referenced by lex_ReadInput(). |