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