From 4d39507183e0ace2d73f04817a398e858b66b677 Mon Sep 17 00:00:00 2001 From: Jan Breuer <jan.breuer@jaybee.cz> Date: 周五, 22 3月 2013 01:40:22 +0800 Subject: [PATCH] Update lexer, start of implementing parser --- libscpi/test/test_lexer.c | 22 +++++++++++++--------- 1 files changed, 13 insertions(+), 9 deletions(-) diff --git a/libscpi/test/test_lexer.c b/libscpi/test/test_lexer.c index 47a8dfe..6e593c0 100644 --- a/libscpi/test/test_lexer.c +++ b/libscpi/test/test_lexer.c @@ -44,6 +44,8 @@ case TokProgramExpression: return "TokProgramExpression"; case TokCompoundProgramHeader: return "TokCompoundProgramHeader"; case TokCommonProgramHeader: return "TokCommonProgramHeader"; + case TokCompoundQueryProgramHeader: return "TokCompoundQueryProgramHeader"; + case TokCommonQueryProgramHeader: return "TokCommonQueryProgramHeader"; case TokWhiteSpace: return "TokWhiteSpace"; default: return "TokUnknown"; } @@ -91,7 +93,8 @@ void testWhiteSpace(void) { - TEST_TOKEN(" \t MEA", SCPI_LexWhiteSpace, 0, 4, TokWhiteSpace); + TEST_TOKEN(" \t MEAS", SCPI_LexWhiteSpace, 0, 4, TokWhiteSpace); + TEST_TOKEN("MEAS", SCPI_LexWhiteSpace, 0, 0, TokUnknown); } void testNondecimal(void) { @@ -120,14 +123,15 @@ } void testProgramHeader(void) { - TEST_TOKEN("*IDN? ", SCPI_LexCommonProgramHeader, 0, 4, TokCommonProgramHeader); - TEST_TOKEN("*?; ", SCPI_LexCommonProgramHeader, 0, 0, TokUnknown); - TEST_TOKEN("MEAS:VOLT:DC? ", SCPI_LexCommonProgramHeader, 0, 0, TokUnknown); - TEST_TOKEN("MEAS:VOLT:DC? ", SCPI_LexCompoundProgramHeader, 0, 12, TokCompoundProgramHeader); - TEST_TOKEN(":MEAS:VOLT:DC? ", SCPI_LexCompoundProgramHeader, 0, 13, TokCompoundProgramHeader); - TEST_TOKEN(":MEAS::VOLT:DC? ", SCPI_LexCompoundProgramHeader, 0, 6, TokCompoundProgramHeader); - TEST_TOKEN(":MEAS::VOLT:DC? ", SCPI_LexProgramHeader, 0, 6, TokCompoundProgramHeader); - TEST_TOKEN("*IDN?", SCPI_LexProgramHeader, 0, 4, TokCommonProgramHeader); + TEST_TOKEN("*IDN? ", SCPI_LexProgramHeader, 0, 5, TokCommonQueryProgramHeader); + TEST_TOKEN("*RST ", SCPI_LexProgramHeader, 0, 4, TokCommonProgramHeader); + TEST_TOKEN("*?; ", SCPI_LexProgramHeader, 0, 0, TokUnknown); + TEST_TOKEN("MEAS:VOLT:DC? ", SCPI_LexProgramHeader, 0, 13, TokCompoundQueryProgramHeader); + TEST_TOKEN("CONF:VOLT:DC ", SCPI_LexProgramHeader, 0, 12, TokCompoundProgramHeader); + TEST_TOKEN(":MEAS:VOLT:DC? ", SCPI_LexProgramHeader, 0, 14, TokCompoundQueryProgramHeader); + TEST_TOKEN(":MEAS::VOLT:DC? ", SCPI_LexProgramHeader, 0, 0, TokUnknown); + TEST_TOKEN("*IDN?", SCPI_LexProgramHeader, 0, 5, TokCommonQueryProgramHeader); + TEST_TOKEN("*RST", SCPI_LexProgramHeader, 0, 4, TokCommonProgramHeader); } void testArbitraryBlock(void) { -- Gitblit v1.9.1