parse.c
ParseTreeNode *ParsePrimary(ParseContext *c)
{
    ParseTreeNode *node;
    int tkn;
    node = ParseSimplePrimary(c);
    while ((tkn = GetToken(c)) == '(' || tkn == '[') {
        switch (tkn) {
        case '[':
            node = ParseArrayReference(c, node);
            break;
        case '(':
            node = ParseCall(c, node);
            break;
        }
    }
    SaveToken(c, tkn);
    return node;
}
/* ParsePrimary - parse function calls and array references */
parse function calls and array references
parse function calls and array references
ParseTreeNode *ParsePrimary(ParseContext *c)
{
    ParseTreeNode *node;
    int tkn;
    node = ParseSimplePrimary(c);
    while ((tkn = GetToken(c)) == '(' || tkn == '[') {
        switch (tkn) {
        case '[':
            node = ParseArrayReference(c, node);
            break;
        case '(':
            node = ParseCall(c, node);
            break;
        }
    }
    SaveToken(c, tkn);
    return node;
}
ParseTreeNode * ParsePrimary ( ParseContext * c ) { ParseTreeNode * node ; int tkn ; node = ParseSimplePrimary ( c ) ; while ( ( tkn = GetToken ( c ) ) == ' ' || tkn == ' ' ) { switch ( tkn ) { case ' ' : node = ParseArrayReference ( c , node ) ; break ; case ' ' : node = ParseCall ( c , node ) ; break ; } } SaveToken ( c , tkn ) ; return node ; }
ParsePrimary - parse function calls and array references
ParsePrimary - parse function calls and array references