From be3350c620036306fb5f2db3535cb110f187d5e8 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周三, 24 9月 2014 23:46:36 +0800 Subject: [PATCH] Refactor token_t and token_type_t to have scpi_ prefix --- libscpi/src/units.c | 43 ++++++++++++++++++++----------------------- 1 files changed, 20 insertions(+), 23 deletions(-) diff --git a/libscpi/src/units.c b/libscpi/src/units.c index 3583ef5..46698b5 100644 --- a/libscpi/src/units.c +++ b/libscpi/src/units.c @@ -37,9 +37,9 @@ #include <string.h> #include "scpi/parser.h" #include "scpi/units.h" -#include "utils.h" +#include "utils_private.h" #include "scpi/error.h" -#include "scpi/lexer.h" +#include "lexer_private.h" /* @@ -110,7 +110,7 @@ {/* name */ "UP", /* type */ SCPI_NUM_UP}, {/* name */ "DOWN", /* type */ SCPI_NUM_DOWN}, {/* name */ "NAN", /* type */ SCPI_NUM_NAN}, - {/* name */ "INF", /* type */ SCPI_NUM_INF}, + {/* name */ "INFinity", /* type */ SCPI_NUM_INF}, {/* name */ "NINF", /* type */ SCPI_NUM_NINF}, SCPI_SPECIAL_NUMBERS_LIST_END, }; @@ -123,7 +123,7 @@ * @param value resultin value * @return TRUE if str matches one of specs patterns */ -static bool_t translateSpecialNumber(const scpi_special_number_def_t * specs, const char * str, size_t len, scpi_number_parameter_t * value) { +static scpi_bool_t translateSpecialNumber(const scpi_special_number_def_t * specs, const char * str, size_t len, scpi_number_parameter_t * value) { int i; value->value = 0.0; @@ -219,7 +219,7 @@ * @param value preparsed numeric value * @return TRUE if value parameter was converted to base units */ -static bool_t transformNumber(scpi_t * context, const char * unit, size_t len, scpi_number_parameter_t * value) { +static scpi_bool_t transformNumber(scpi_t * context, const char * unit, size_t len, scpi_number_parameter_t * value) { size_t s; const scpi_unit_def_t * unitDef; s = skipWhitespace(unit, len); @@ -249,33 +249,30 @@ * @param mandatory if the parameter is mandatory * @return */ -bool_t SCPI_ParamTranslateNumberVal(scpi_t * context, scpi_parameter_t * parameter) { - token_t token; +scpi_bool_t SCPI_ParamTranslateNumberVal(scpi_t * context, scpi_parameter_t * parameter) { + scpi_token_t token; lex_state_t state; state.buffer = parameter->data.ptr; state.pos = state.buffer; state.len = parameter->data.len; - if (parameter->type == TokDecimalNumericProgramDataWithSuffix) { - SCPI_LexDecimalNumericProgramData(&state, &token); - SCPI_LexWhiteSpace(&state, &token); - SCPI_LexSuffixProgramData(&state, &token); + switch(parameter->type) { + case TokDecimalNumericProgramDataWithSuffix: + lexDecimalNumericProgramData(&state, &token); + lexWhiteSpace(&state, &token); + lexSuffixProgramData(&state, &token); - return transformNumber(context, token.ptr, token.len, ¶meter->number); + return transformNumber(context, token.ptr, token.len, ¶meter->number); + case TokProgramMnemonic: + lexWhiteSpace(&state, &token); + lexCharacterProgramData(&state, &token); - } else if (parameter->type == TokProgramMnemonic) { - SCPI_LexWhiteSpace(&state, &token); - SCPI_LexCharacterProgramData(&state, &token); - - /* convert string to special number type */ - if (translateSpecialNumber(context->special_numbers, token.ptr, token.len, ¶meter->number)) { - /* found special type */ - return TRUE; - } + /* convert string to special number type */ + return translateSpecialNumber(context->special_numbers, token.ptr, token.len, ¶meter->number); + default: + return FALSE; } - - return FALSE; } /** -- Gitblit v1.9.1