Goose  Diff

Differences From Artifact [b646ce03b7]:

  • File bs/parse/parser.cpp — part of check-in [0c3c9488af] at 2019-09-17 20:08:39 on branch trunk —
    • parser: add an utility function to retrieve a sub expression in its unparsed form.
    • tfunc type: store a pointer to a vector of unparsed tokens for the verification statements.
    (user: achavasse size: 9947)

To Artifact [39fc1d9821]:

  • File bs/parse/parser.cpp — part of check-in [035c904764] at 2019-09-17 22:34:50 on branch trunk — parser: fill in the unparsed verification statements in tfunctype. (user: achavasse size: 9956)

88
89
90
91
92
93
94


95
96
97
98
99
100
101
102

Generator< TermLoc > Parser::getUnparsedExpression( uint32_t precedence )
{
    while( auto next = m_resolver->lookAhead() )
    {
        auto prec = getPrecedence( next->first );
        if( !prec || precedence > *prec )


            co_yield *m_resolver->consumeUnresolved();
    }
}

void Parser::flushValue()
{
    if( m_lastValue && ( !cfg()->currentBB() || cfg()->currentBB()->terminator() )  )
    {







>
>
|







88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104

Generator< TermLoc > Parser::getUnparsedExpression( uint32_t precedence )
{
    while( auto next = m_resolver->lookAhead() )
    {
        auto prec = getPrecedence( next->first );
        if( !prec || precedence > *prec )
            break;

        co_yield m_resolver->consumeUnit();
    }
}

void Parser::flushValue()
{
    if( m_lastValue && ( !cfg()->currentBB() || cfg()->currentBB()->terminator() )  )
    {