/* We may not end-of-line of end-of-file here */
if (TokIsSep (Tok)) {
Error ("Unexpected end of line");
- return GenLiteralExpr (0);
+ return GenLiteral0 ();
}
/* Get a node with this token */
/* We may not end-of-line of end-of-file here */
if (TokIsSep (Tok)) {
Error ("Unexpected end of line");
- return GenLiteralExpr (0);
+ return GenLiteral0 ();
}
/* Compare the tokens if the result is not already known */
if (ParentScope == 0) {
/* No such scope */
DoneStrBuf (&ScopeName);
- return GenLiteralExpr (0);
+ return GenLiteral0 ();
}
/* If ScopeName is empty, no explicit scope was specified. We have to
if (Tok != TOK_STRCON) {
Error ("String constant expected");
NextTok ();
- return 0;
-
+ return GenLiteral0 ();
}
/* Remember the string and skip it */
/* Must be a valid index */
if (Index >= (long) strlen (Str)) {
Error ("Range error");
- return GenLiteralExpr (0);
+ return GenLiteral0 ();
}
/* Get the char, handle as unsigned. Be sure to translate it into
if (Tok != TOK_LPAREN) {
Error ("'(' expected");
SkipUntilSep ();
- return GenLiteralExpr (0);
+ return GenLiteral0 ();
}
NextTok ();
/* A character constant */
N = GenLiteralExpr (TgtTranslateChar (SVal[0]));
} else {
- N = GenLiteralExpr (0); /* Dummy */
+ N = GenLiteral0 (); /* Dummy */
Error ("Syntax error");
}
NextTok ();
+ExprNode* GenLiteral0 (void)
+/* Return an expression tree that encodes the the number zero */
+{
+ return GenLiteralExpr (0);
+}
+
+
+
ExprNode* GenSymExpr (SymEntry* Sym)
/* Return an expression node that encodes the given symbol */
{
ExprNode* GenLiteralExpr (long Val);
/* Return an expression tree that encodes the given literal value */
+ExprNode* GenLiteral0 (void);
+/* Return an expression tree that encodes the the number zero */
+
ExprNode* GenSymExpr (struct SymEntry* Sym);
/* Return an expression node that encodes the given symbol */