Formatting.

This commit is contained in:
Jeff Young 2025-06-22 08:46:18 -06:00
parent 99076cfc5f
commit a382fd3064
2 changed files with 21 additions and 12 deletions

View File

@ -154,14 +154,12 @@ wxString UOP::Format() const
break; break;
case TR_UOP_PUSH_VALUE: case TR_UOP_PUSH_VALUE:
{
if( !m_value ) if( !m_value )
str = wxString::Format( "PUSH nullptr" ); str = wxString::Format( "PUSH nullptr" );
else if( m_value->GetType() == VT_NUMERIC ) else if( m_value->GetType() == VT_NUMERIC )
str = wxString::Format( "PUSH NUM [%.10f]", m_value->AsDouble() ); str = wxString::Format( "PUSH NUM [%.10f]", m_value->AsDouble() );
else else
str = wxString::Format( "PUSH STR [%ls]", m_value->AsString() ); str = wxString::Format( "PUSH STR [%ls]", m_value->AsString() );
}
break; break;
case TR_OP_METHOD_CALL: case TR_OP_METHOD_CALL:
@ -251,7 +249,7 @@ bool TOKENIZER::MatchAhead( const wxString& match,
COMPILER::COMPILER() : COMPILER::COMPILER() :
m_lexerState( COMPILER::LS_DEFAULT ) m_lexerState( COMPILER::LS_DEFAULT )
{ {
m_localeDecimalSeparator = '.'; m_localeDecimalSeparator = '.';
m_sourcePos = 0; m_sourcePos = 0;
@ -391,6 +389,7 @@ T_TOKEN COMPILER::getToken()
case LS_DEFAULT: case LS_DEFAULT:
done = lexDefault( rv ); done = lexDefault( rv );
break; break;
case LS_STRING: case LS_STRING:
done = lexString( rv ); done = lexString( rv );
break; break;
@ -417,7 +416,11 @@ int COMPILER::resolveUnits()
for( const wxString& unitName : m_unitResolver->GetSupportedUnits() ) for( const wxString& unitName : m_unitResolver->GetSupportedUnits() )
{ {
if( m_tokenizer.MatchAhead( unitName, []( int c ) -> bool { return !isalnum( c ); } ) ) if( m_tokenizer.MatchAhead( unitName,
[]( int c ) -> bool
{
return !isalnum( c );
} ) )
{ {
libeval_dbg(10, "Match unit '%s'\n", unitName.c_str() ); libeval_dbg(10, "Match unit '%s'\n", unitName.c_str() );
m_tokenizer.NextChar( unitName.length() ); m_tokenizer.NextChar( unitName.length() );
@ -484,7 +487,6 @@ bool COMPILER::lexDefault( T_TOKEN& aToken )
} }
}; };
int ch; int ch;
// Start processing of first/next token: Remove whitespace // Start processing of first/next token: Remove whitespace
@ -584,8 +586,7 @@ bool COMPILER::lexDefault( T_TOKEN& aToken )
case ',': retval.token = G_COMMA; break; case ',': retval.token = G_COMMA; break;
default: default:
reportError( CST_PARSE, wxString::Format( _( "Unrecognized character '%c'" ), reportError( CST_PARSE, wxString::Format( _( "Unrecognized character '%c'" ), (char) ch ) );
(char) ch ) );
break; break;
} }
@ -777,9 +778,7 @@ static std::vector<TREE_NODE*> squashParamList( TREE_NODE* root )
std::vector<TREE_NODE*> args; std::vector<TREE_NODE*> args;
if( !root ) if( !root )
{
return args; return args;
}
if( root->op != TR_ARG_LIST && root->op != TR_NULL ) if( root->op != TR_ARG_LIST && root->op != TR_NULL )
{ {
@ -797,9 +796,7 @@ static std::vector<TREE_NODE*> squashParamList( TREE_NODE* root )
} while ( n && n->op == TR_ARG_LIST ); } while ( n && n->op == TR_ARG_LIST );
if( n ) if( n )
{
args.push_back( n ); args.push_back( n );
}
} }
std::reverse( args.begin(), args.end() ); std::reverse( args.begin(), args.end() );
@ -1139,8 +1136,8 @@ void UOP::Exec( CONTEXT* ctx )
value = ctx->AllocValue(); value = ctx->AllocValue();
ctx->Push( value ); ctx->Push( value );
}
break; break;
}
case TR_UOP_PUSH_VALUE: case TR_UOP_PUSH_VALUE:
ctx->Push( m_value.get() ); ctx->Push( m_value.get() );
@ -1205,30 +1202,37 @@ void UOP::Exec( CONTEXT* ctx )
result = AS_DOUBLE( arg1 ) + AS_DOUBLE( arg2 ); result = AS_DOUBLE( arg1 ) + AS_DOUBLE( arg2 );
resultUnits = getOpResultUnits( arg1, arg2 ); resultUnits = getOpResultUnits( arg1, arg2 );
break; break;
case TR_OP_SUB: case TR_OP_SUB:
result = AS_DOUBLE( arg1 ) - AS_DOUBLE( arg2 ); result = AS_DOUBLE( arg1 ) - AS_DOUBLE( arg2 );
resultUnits = getOpResultUnits( arg1, arg2 ); resultUnits = getOpResultUnits( arg1, arg2 );
break; break;
case TR_OP_MUL: case TR_OP_MUL:
result = AS_DOUBLE( arg1 ) * AS_DOUBLE( arg2 ); result = AS_DOUBLE( arg1 ) * AS_DOUBLE( arg2 );
resultUnits = getOpResultUnits( arg1, arg2 ); resultUnits = getOpResultUnits( arg1, arg2 );
break; break;
case TR_OP_DIV: case TR_OP_DIV:
result = AS_DOUBLE( arg1 ) / AS_DOUBLE( arg2 ); result = AS_DOUBLE( arg1 ) / AS_DOUBLE( arg2 );
resultUnits = getOpResultUnits( arg1, arg2 ); resultUnits = getOpResultUnits( arg1, arg2 );
break; break;
case TR_OP_LESS_EQUAL: case TR_OP_LESS_EQUAL:
result = AS_DOUBLE( arg1 ) <= AS_DOUBLE( arg2 ) ? 1 : 0; result = AS_DOUBLE( arg1 ) <= AS_DOUBLE( arg2 ) ? 1 : 0;
break; break;
case TR_OP_GREATER_EQUAL: case TR_OP_GREATER_EQUAL:
result = AS_DOUBLE( arg1 ) >= AS_DOUBLE( arg2 ) ? 1 : 0; result = AS_DOUBLE( arg1 ) >= AS_DOUBLE( arg2 ) ? 1 : 0;
break; break;
case TR_OP_LESS: case TR_OP_LESS:
result = AS_DOUBLE( arg1 ) < AS_DOUBLE( arg2 ) ? 1 : 0; result = AS_DOUBLE( arg1 ) < AS_DOUBLE( arg2 ) ? 1 : 0;
break; break;
case TR_OP_GREATER: case TR_OP_GREATER:
result = AS_DOUBLE( arg1 ) > AS_DOUBLE( arg2 ) ? 1 : 0; result = AS_DOUBLE( arg1 ) > AS_DOUBLE( arg2 ) ? 1 : 0;
break; break;
case TR_OP_EQUAL: case TR_OP_EQUAL:
if( !arg1 || !arg2 ) if( !arg1 || !arg2 )
result = arg1 == arg2 ? 1 : 0; result = arg1 == arg2 ? 1 : 0;
@ -1237,6 +1241,7 @@ void UOP::Exec( CONTEXT* ctx )
else else
result = arg1->EqualTo( ctx, arg2 ) ? 1 : 0; result = arg1->EqualTo( ctx, arg2 ) ? 1 : 0;
break; break;
case TR_OP_NOT_EQUAL: case TR_OP_NOT_EQUAL:
if( !arg1 || !arg2 ) if( !arg1 || !arg2 )
result = arg1 != arg2 ? 1 : 0; result = arg1 != arg2 ? 1 : 0;
@ -1245,12 +1250,15 @@ void UOP::Exec( CONTEXT* ctx )
else else
result = arg1->NotEqualTo( ctx, arg2 ) ? 1 : 0; result = arg1->NotEqualTo( ctx, arg2 ) ? 1 : 0;
break; break;
case TR_OP_BOOL_AND: case TR_OP_BOOL_AND:
result = AS_DOUBLE( arg1 ) != 0.0 && AS_DOUBLE( arg2 ) != 0.0 ? 1 : 0; result = AS_DOUBLE( arg1 ) != 0.0 && AS_DOUBLE( arg2 ) != 0.0 ? 1 : 0;
break; break;
case TR_OP_BOOL_OR: case TR_OP_BOOL_OR:
result = AS_DOUBLE( arg1 ) != 0.0 || AS_DOUBLE( arg2 ) != 0.0 ? 1 : 0; result = AS_DOUBLE( arg1 ) != 0.0 || AS_DOUBLE( arg2 ) != 0.0 ? 1 : 0;
break; break;
default: default:
result = 0.0; result = 0.0;
break; break;

View File

@ -694,6 +694,7 @@ void DRC_RULES_PARSER::parseConstraint( DRC_RULE* aRule )
} }
break; break;
case T_min: case T_min:
token = NextTok(); token = NextTok();