Module Name:    othersrc
Committed By:   agc
Date:           Tue Apr 25 20:03:40 UTC 2023

Modified Files:
        othersrc/external/bsd/elex/bin: Makefile
        othersrc/external/bsd/elex/dist: Makefile
Added Files:
        othersrc/external/bsd/elex/dist/tests: 31.expected 31.in 32.expected
            32.in json.lex

Log Message:
Add an example json lexer, and some tests for it.


To generate a diff of this commit:
cvs rdiff -u -r1.2 -r1.3 othersrc/external/bsd/elex/bin/Makefile
cvs rdiff -u -r1.1 -r1.2 othersrc/external/bsd/elex/dist/Makefile
cvs rdiff -u -r0 -r1.1 othersrc/external/bsd/elex/dist/tests/31.expected \
    othersrc/external/bsd/elex/dist/tests/31.in \
    othersrc/external/bsd/elex/dist/tests/32.expected \
    othersrc/external/bsd/elex/dist/tests/32.in \
    othersrc/external/bsd/elex/dist/tests/json.lex

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: othersrc/external/bsd/elex/bin/Makefile
diff -u othersrc/external/bsd/elex/bin/Makefile:1.2 othersrc/external/bsd/elex/bin/Makefile:1.3
--- othersrc/external/bsd/elex/bin/Makefile:1.2	Fri Feb 24 23:07:54 2023
+++ othersrc/external/bsd/elex/bin/Makefile	Tue Apr 25 20:03:39 2023
@@ -143,3 +143,11 @@ t: ${PROG}
 	env LD_LIBRARY_PATH=${LIB_ELEX_DIR} ./${PROG} -g -f ${DIST}/tests/30.lex ${DIST}/tests/21.in > 30.out
 	diff ${DIST}/tests/30.expected 30.out
 	rm -f 30.out
+	@echo "31. json"
+	env LD_LIBRARY_PATH=${LIB_ELEX_DIR} ./${PROG} -f ${DIST}/tests/json.lex ${DIST}/tests/31.in > 31.out
+	diff ${DIST}/tests/31.expected 31.out
+	rm -f 31.out
+	@echo "32. more json"
+	env LD_LIBRARY_PATH=${LIB_ELEX_DIR} ./${PROG} -f ${DIST}/tests/json.lex ${DIST}/tests/32.in > 32.out
+	diff ${DIST}/tests/32.expected 32.out
+	rm -f 32.out

Index: othersrc/external/bsd/elex/dist/Makefile
diff -u othersrc/external/bsd/elex/dist/Makefile:1.1 othersrc/external/bsd/elex/dist/Makefile:1.2
--- othersrc/external/bsd/elex/dist/Makefile:1.1	Thu Dec  9 04:15:26 2021
+++ othersrc/external/bsd/elex/dist/Makefile	Tue Apr 25 20:03:39 2023
@@ -1,6 +1,7 @@
 PROG=	elex
 SRCS+=	agcre.c
 SRCS+=	elex.c
+SRCS+=	striter.c
 SRCS+=	main.c
 MKMAN=	no
 WARNS=	5

Added files:

Index: othersrc/external/bsd/elex/dist/tests/31.expected
diff -u /dev/null othersrc/external/bsd/elex/dist/tests/31.expected:1.1
--- /dev/null	Tue Apr 25 20:03:40 2023
+++ othersrc/external/bsd/elex/dist/tests/31.expected	Tue Apr 25 20:03:40 2023
@@ -0,0 +1,65 @@
+[6] 1 '{'
+[1] 10 '"glossary"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 7 '"title"'
+[9] 1 ':'
+[1] 18 '"example glossary"'
+[8] 1 ','
+[1] 10 '"GlossDiv"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 7 '"title"'
+[9] 1 ':'
+[1] 3 '"S"'
+[8] 1 ','
+[1] 11 '"GlossList"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 12 '"GlossEntry"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 4 '"ID"'
+[9] 1 ':'
+[1] 6 '"SGML"'
+[8] 1 ','
+[1] 8 '"SortAs"'
+[9] 1 ':'
+[1] 6 '"SGML"'
+[8] 1 ','
+[1] 11 '"GlossTerm"'
+[9] 1 ':'
+[1] 38 '"Standard Generalized Markup Language"'
+[8] 1 ','
+[1] 9 '"Acronym"'
+[9] 1 ':'
+[1] 6 '"SGML"'
+[8] 1 ','
+[1] 8 '"Abbrev"'
+[9] 1 ':'
+[1] 15 '"ISO 8879:1986"'
+[8] 1 ','
+[1] 10 '"GlossDef"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 6 '"para"'
+[9] 1 ':'
+[1] 74 '"A meta-markup language, used to create markup languages such as DocBook."'
+[8] 1 ','
+[1] 14 '"GlossSeeAlso"'
+[9] 1 ':'
+[4] 1 '['
+[1] 5 '"GML"'
+[8] 1 ','
+[1] 5 '"XML"'
+[5] 1 ']'
+[7] 1 '}'
+[8] 1 ','
+[1] 10 '"GlossSee"'
+[9] 1 ':'
+[1] 8 '"markup"'
+[7] 1 '}'
+[7] 1 '}'
+[7] 1 '}'
+[7] 1 '}'
+[7] 1 '}'
Index: othersrc/external/bsd/elex/dist/tests/31.in
diff -u /dev/null othersrc/external/bsd/elex/dist/tests/31.in:1.1
--- /dev/null	Tue Apr 25 20:03:40 2023
+++ othersrc/external/bsd/elex/dist/tests/31.in	Tue Apr 25 20:03:40 2023
@@ -0,0 +1,22 @@
+{
+    "glossary": {
+        "title": "example glossary",
+		"GlossDiv": {
+            "title": "S",
+			"GlossList": {
+                "GlossEntry": {
+                    "ID": "SGML",
+					"SortAs": "SGML",
+					"GlossTerm": "Standard Generalized Markup Language",
+					"Acronym": "SGML",
+					"Abbrev": "ISO 8879:1986",
+					"GlossDef": {
+                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
+						"GlossSeeAlso": ["GML", "XML"]
+                    },
+					"GlossSee": "markup"
+                }
+            }
+        }
+    }
+}
Index: othersrc/external/bsd/elex/dist/tests/32.expected
diff -u /dev/null othersrc/external/bsd/elex/dist/tests/32.expected:1.1
--- /dev/null	Tue Apr 25 20:03:40 2023
+++ othersrc/external/bsd/elex/dist/tests/32.expected	Tue Apr 25 20:03:40 2023
@@ -0,0 +1,335 @@
+[6] 1 '{'
+[1] 9 '"web-app"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 9 '"servlet"'
+[9] 1 ':'
+[4] 1 '['
+[6] 1 '{'
+[1] 14 '"servlet-name"'
+[9] 1 ':'
+[1] 10 '"cofaxCDS"'
+[8] 1 ','
+[1] 15 '"servlet-class"'
+[9] 1 ':'
+[1] 26 '"org.cofax.cds.CDSServlet"'
+[8] 1 ','
+[1] 12 '"init-param"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 31 '"configGlossary:installationAt"'
+[9] 1 ':'
+[1] 18 '"Philadelphia, PA"'
+[8] 1 ','
+[1] 27 '"configGlossary:adminEmail"'
+[9] 1 ':'
+[1] 15 '"k...@pobox.com"'
+[8] 1 ','
+[1] 26 '"configGlossary:poweredBy"'
+[9] 1 ':'
+[1] 7 '"Cofax"'
+[8] 1 ','
+[1] 30 '"configGlossary:poweredByIcon"'
+[9] 1 ':'
+[1] 19 '"/images/cofax.gif"'
+[8] 1 ','
+[1] 27 '"configGlossary:staticPath"'
+[9] 1 ':'
+[1] 17 '"/content/static"'
+[8] 1 ','
+[1] 24 '"templateProcessorClass"'
+[9] 1 ':'
+[1] 27 '"org.cofax.WysiwygTemplate"'
+[8] 1 ','
+[1] 21 '"templateLoaderClass"'
+[9] 1 ':'
+[1] 31 '"org.cofax.FilesTemplateLoader"'
+[8] 1 ','
+[1] 14 '"templatePath"'
+[9] 1 ':'
+[1] 11 '"templates"'
+[8] 1 ','
+[1] 22 '"templateOverridePath"'
+[9] 1 ':'
+[1] 2 '""'
+[8] 1 ','
+[1] 21 '"defaultListTemplate"'
+[9] 1 ':'
+[1] 18 '"listTemplate.htm"'
+[8] 1 ','
+[1] 21 '"defaultFileTemplate"'
+[9] 1 ':'
+[1] 21 '"articleTemplate.htm"'
+[8] 1 ','
+[1] 8 '"useJSP"'
+[9] 1 ':'
+[3] 5 'false'
+[8] 1 ','
+[1] 17 '"jspListTemplate"'
+[9] 1 ':'
+[1] 18 '"listTemplate.jsp"'
+[8] 1 ','
+[1] 17 '"jspFileTemplate"'
+[9] 1 ':'
+[1] 21 '"articleTemplate.jsp"'
+[8] 1 ','
+[1] 23 '"cachePackageTagsTrack"'
+[9] 1 ':'
+[2] 3 '200'
+[8] 1 ','
+[1] 23 '"cachePackageTagsStore"'
+[9] 1 ':'
+[2] 3 '200'
+[8] 1 ','
+[1] 25 '"cachePackageTagsRefresh"'
+[9] 1 ':'
+[2] 2 '60'
+[8] 1 ','
+[1] 21 '"cacheTemplatesTrack"'
+[9] 1 ':'
+[2] 3 '100'
+[8] 1 ','
+[1] 21 '"cacheTemplatesStore"'
+[9] 1 ':'
+[2] 2 '50'
+[8] 1 ','
+[1] 23 '"cacheTemplatesRefresh"'
+[9] 1 ':'
+[2] 2 '15'
+[8] 1 ','
+[1] 17 '"cachePagesTrack"'
+[9] 1 ':'
+[2] 3 '200'
+[8] 1 ','
+[1] 17 '"cachePagesStore"'
+[9] 1 ':'
+[2] 3 '100'
+[8] 1 ','
+[1] 19 '"cachePagesRefresh"'
+[9] 1 ':'
+[2] 2 '10'
+[8] 1 ','
+[1] 21 '"cachePagesDirtyRead"'
+[9] 1 ':'
+[2] 2 '10'
+[8] 1 ','
+[1] 26 '"searchEngineListTemplate"'
+[9] 1 ':'
+[1] 26 '"forSearchEnginesList.htm"'
+[8] 1 ','
+[1] 26 '"searchEngineFileTemplate"'
+[9] 1 ':'
+[1] 22 '"forSearchEngines.htm"'
+[8] 1 ','
+[1] 22 '"searchEngineRobotsDb"'
+[9] 1 ':'
+[1] 19 '"WEB-INF/robots.db"'
+[8] 1 ','
+[1] 14 '"useDataStore"'
+[9] 1 ':'
+[3] 4 'true'
+[8] 1 ','
+[1] 16 '"dataStoreClass"'
+[9] 1 ':'
+[1] 24 '"org.cofax.SqlDataStore"'
+[8] 1 ','
+[1] 18 '"redirectionClass"'
+[9] 1 ':'
+[1] 26 '"org.cofax.SqlRedirection"'
+[8] 1 ','
+[1] 15 '"dataStoreName"'
+[9] 1 ':'
+[1] 7 '"cofax"'
+[8] 1 ','
+[1] 17 '"dataStoreDriver"'
+[9] 1 ':'
+[1] 46 '"com.microsoft.jdbc.sqlserver.SQLServerDriver"'
+[8] 1 ','
+[1] 14 '"dataStoreUrl"'
+[9] 1 ':'
+[1] 61 '"jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon"'
+[8] 1 ','
+[1] 15 '"dataStoreUser"'
+[9] 1 ':'
+[1] 4 '"sa"'
+[8] 1 ','
+[1] 19 '"dataStorePassword"'
+[9] 1 ':'
+[1] 20 '"dataStoreTestQuery"'
+[8] 1 ','
+[1] 20 '"dataStoreTestQuery"'
+[9] 1 ':'
+[1] 36 '"SET NOCOUNT ON;select test='test';"'
+[8] 1 ','
+[1] 18 '"dataStoreLogFile"'
+[9] 1 ':'
+[1] 38 '"/usr/local/tomcat/logs/datastore.log"'
+[8] 1 ','
+[1] 20 '"dataStoreInitConns"'
+[9] 1 ':'
+[2] 2 '10'
+[8] 1 ','
+[1] 19 '"dataStoreMaxConns"'
+[9] 1 ':'
+[2] 3 '100'
+[8] 1 ','
+[1] 25 '"dataStoreConnUsageLimit"'
+[9] 1 ':'
+[2] 3 '100'
+[8] 1 ','
+[1] 19 '"dataStoreLogLevel"'
+[9] 1 ':'
+[1] 7 '"debug"'
+[8] 1 ','
+[1] 14 '"maxUrlLength"'
+[9] 1 ':'
+[2] 3 '500'
+[7] 1 '}'
+[7] 1 '}'
+[8] 1 ','
+[6] 1 '{'
+[1] 14 '"servlet-name"'
+[9] 1 ':'
+[1] 12 '"cofaxEmail"'
+[8] 1 ','
+[1] 15 '"servlet-class"'
+[9] 1 ':'
+[1] 28 '"org.cofax.cds.EmailServlet"'
+[8] 1 ','
+[1] 12 '"init-param"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 10 '"mailHost"'
+[9] 1 ':'
+[1] 7 '"mail1"'
+[8] 1 ','
+[1] 18 '"mailHostOverride"'
+[9] 1 ':'
+[1] 7 '"mail2"'
+[7] 1 '}'
+[7] 1 '}'
+[8] 1 ','
+[6] 1 '{'
+[1] 14 '"servlet-name"'
+[9] 1 ':'
+[1] 12 '"cofaxAdmin"'
+[8] 1 ','
+[1] 15 '"servlet-class"'
+[9] 1 ':'
+[1] 28 '"org.cofax.cds.AdminServlet"'
+[7] 1 '}'
+[8] 1 ','
+[6] 1 '{'
+[1] 14 '"servlet-name"'
+[9] 1 ':'
+[1] 13 '"fileServlet"'
+[8] 1 ','
+[1] 15 '"servlet-class"'
+[9] 1 ':'
+[1] 27 '"org.cofax.cds.FileServlet"'
+[7] 1 '}'
+[8] 1 ','
+[6] 1 '{'
+[1] 14 '"servlet-name"'
+[9] 1 ':'
+[1] 12 '"cofaxTools"'
+[8] 1 ','
+[1] 15 '"servlet-class"'
+[9] 1 ':'
+[1] 33 '"org.cofax.cms.CofaxToolsServlet"'
+[8] 1 ','
+[1] 12 '"init-param"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 14 '"templatePath"'
+[9] 1 ':'
+[1] 17 '"toolstemplates/"'
+[8] 1 ','
+[1] 5 '"log"'
+[9] 1 ':'
+[2] 1 '1'
+[8] 1 ','
+[1] 13 '"logLocation"'
+[9] 1 ':'
+[1] 39 '"/usr/local/tomcat/logs/CofaxTools.log"'
+[8] 1 ','
+[1] 12 '"logMaxSize"'
+[9] 1 ':'
+[1] 2 '""'
+[8] 1 ','
+[1] 9 '"dataLog"'
+[9] 1 ':'
+[2] 1 '1'
+[8] 1 ','
+[1] 17 '"dataLogLocation"'
+[9] 1 ':'
+[1] 36 '"/usr/local/tomcat/logs/dataLog.log"'
+[8] 1 ','
+[1] 16 '"dataLogMaxSize"'
+[9] 1 ':'
+[1] 2 '""'
+[8] 1 ','
+[1] 17 '"removePageCache"'
+[9] 1 ':'
+[1] 39 '"/content/admin/remove?cache=pages&id="'
+[8] 1 ','
+[1] 21 '"removeTemplateCache"'
+[9] 1 ':'
+[1] 43 '"/content/admin/remove?cache=templates&id="'
+[8] 1 ','
+[1] 20 '"fileTransferFolder"'
+[9] 1 ':'
+[1] 54 '"/usr/local/tomcat/webapps/content/fileTransferFolder"'
+[8] 1 ','
+[1] 15 '"lookInContext"'
+[9] 1 ':'
+[2] 1 '1'
+[8] 1 ','
+[1] 14 '"adminGroupID"'
+[9] 1 ':'
+[2] 1 '4'
+[8] 1 ','
+[1] 12 '"betaServer"'
+[9] 1 ':'
+[3] 4 'true'
+[7] 1 '}'
+[7] 1 '}'
+[5] 1 ']'
+[8] 1 ','
+[1] 17 '"servlet-mapping"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 10 '"cofaxCDS"'
+[9] 1 ':'
+[1] 3 '"/"'
+[8] 1 ','
+[1] 12 '"cofaxEmail"'
+[9] 1 ':'
+[1] 21 '"/cofaxutil/aemail/*"'
+[8] 1 ','
+[1] 12 '"cofaxAdmin"'
+[9] 1 ':'
+[1] 10 '"/admin/*"'
+[8] 1 ','
+[1] 13 '"fileServlet"'
+[9] 1 ':'
+[1] 11 '"/static/*"'
+[8] 1 ','
+[1] 12 '"cofaxTools"'
+[9] 1 ':'
+[1] 10 '"/tools/*"'
+[7] 1 '}'
+[8] 1 ','
+[1] 8 '"taglib"'
+[9] 1 ':'
+[6] 1 '{'
+[1] 12 '"taglib-uri"'
+[9] 1 ':'
+[1] 11 '"cofax.tld"'
+[8] 1 ','
+[1] 17 '"taglib-location"'
+[9] 1 ':'
+[1] 25 '"/WEB-INF/tlds/cofax.tld"'
+[7] 1 '}'
+[7] 1 '}'
+[7] 1 '}'
Index: othersrc/external/bsd/elex/dist/tests/32.in
diff -u /dev/null othersrc/external/bsd/elex/dist/tests/32.in:1.1
--- /dev/null	Tue Apr 25 20:03:40 2023
+++ othersrc/external/bsd/elex/dist/tests/32.in	Tue Apr 25 20:03:40 2023
@@ -0,0 +1,88 @@
+{"web-app": {
+  "servlet": [   
+    {
+      "servlet-name": "cofaxCDS",
+      "servlet-class": "org.cofax.cds.CDSServlet",
+      "init-param": {
+        "configGlossary:installationAt": "Philadelphia, PA",
+        "configGlossary:adminEmail": "k...@pobox.com",
+        "configGlossary:poweredBy": "Cofax",
+        "configGlossary:poweredByIcon": "/images/cofax.gif",
+        "configGlossary:staticPath": "/content/static",
+        "templateProcessorClass": "org.cofax.WysiwygTemplate",
+        "templateLoaderClass": "org.cofax.FilesTemplateLoader",
+        "templatePath": "templates",
+        "templateOverridePath": "",
+        "defaultListTemplate": "listTemplate.htm",
+        "defaultFileTemplate": "articleTemplate.htm",
+        "useJSP": false,
+        "jspListTemplate": "listTemplate.jsp",
+        "jspFileTemplate": "articleTemplate.jsp",
+        "cachePackageTagsTrack": 200,
+        "cachePackageTagsStore": 200,
+        "cachePackageTagsRefresh": 60,
+        "cacheTemplatesTrack": 100,
+        "cacheTemplatesStore": 50,
+        "cacheTemplatesRefresh": 15,
+        "cachePagesTrack": 200,
+        "cachePagesStore": 100,
+        "cachePagesRefresh": 10,
+        "cachePagesDirtyRead": 10,
+        "searchEngineListTemplate": "forSearchEnginesList.htm",
+        "searchEngineFileTemplate": "forSearchEngines.htm",
+        "searchEngineRobotsDb": "WEB-INF/robots.db",
+        "useDataStore": true,
+        "dataStoreClass": "org.cofax.SqlDataStore",
+        "redirectionClass": "org.cofax.SqlRedirection",
+        "dataStoreName": "cofax",
+        "dataStoreDriver": "com.microsoft.jdbc.sqlserver.SQLServerDriver",
+        "dataStoreUrl": "jdbc:microsoft:sqlserver://LOCALHOST:1433;DatabaseName=goon",
+        "dataStoreUser": "sa",
+        "dataStorePassword": "dataStoreTestQuery",
+        "dataStoreTestQuery": "SET NOCOUNT ON;select test='test';",
+        "dataStoreLogFile": "/usr/local/tomcat/logs/datastore.log",
+        "dataStoreInitConns": 10,
+        "dataStoreMaxConns": 100,
+        "dataStoreConnUsageLimit": 100,
+        "dataStoreLogLevel": "debug",
+        "maxUrlLength": 500}},
+    {
+      "servlet-name": "cofaxEmail",
+      "servlet-class": "org.cofax.cds.EmailServlet",
+      "init-param": {
+      "mailHost": "mail1",
+      "mailHostOverride": "mail2"}},
+    {
+      "servlet-name": "cofaxAdmin",
+      "servlet-class": "org.cofax.cds.AdminServlet"},
+ 
+    {
+      "servlet-name": "fileServlet",
+      "servlet-class": "org.cofax.cds.FileServlet"},
+    {
+      "servlet-name": "cofaxTools",
+      "servlet-class": "org.cofax.cms.CofaxToolsServlet",
+      "init-param": {
+        "templatePath": "toolstemplates/",
+        "log": 1,
+        "logLocation": "/usr/local/tomcat/logs/CofaxTools.log",
+        "logMaxSize": "",
+        "dataLog": 1,
+        "dataLogLocation": "/usr/local/tomcat/logs/dataLog.log",
+        "dataLogMaxSize": "",
+        "removePageCache": "/content/admin/remove?cache=pages&id=",
+        "removeTemplateCache": "/content/admin/remove?cache=templates&id=",
+        "fileTransferFolder": "/usr/local/tomcat/webapps/content/fileTransferFolder",
+        "lookInContext": 1,
+        "adminGroupID": 4,
+        "betaServer": true}}],
+  "servlet-mapping": {
+    "cofaxCDS": "/",
+    "cofaxEmail": "/cofaxutil/aemail/*",
+    "cofaxAdmin": "/admin/*",
+    "fileServlet": "/static/*",
+    "cofaxTools": "/tools/*"},
+ 
+  "taglib": {
+    "taglib-uri": "cofax.tld",
+    "taglib-location": "/WEB-INF/tlds/cofax.tld"}}}
Index: othersrc/external/bsd/elex/dist/tests/json.lex
diff -u /dev/null othersrc/external/bsd/elex/dist/tests/json.lex:1.1
--- /dev/null	Tue Apr 25 20:03:40 2023
+++ othersrc/external/bsd/elex/dist/tests/json.lex	Tue Apr 25 20:03:40 2023
@@ -0,0 +1,22 @@
+%type STRING	1
+%type NUMBER	2
+%type BOOLEAN	3
+%type NULLTYPE	3
+%type LBRACKET	4
+%type RBRACKET	5
+%type LBRACE	6
+%type RBRACE	7
+%type COMMA	8
+%type COLON	9
+
+<INITIAL>"(\\.|\\u[0-9a-fA-F]{1,4}|[^"])*"</>	{ return STRING; }
+<INITIAL>[0-9]+(\\.[0-9])?([eE][\u002b|\u002d][0-9]+)?</>	{ return NUMBER; }
+<INITIAL>(true|false)\></>				{ return BOOLEAN; }
+<INITIAL>null\></>					{ return NULLTYPE; }
+<INITIAL>\u005b</>					{ return LBRACKET; }
+<INITIAL>\u005d</>					{ return RBRACKET; }
+<INITIAL>\u007b</>					{ return LBRACE; }
+<INITIAL>\u007d</>					{ return RBRACE; }
+<INITIAL>\u002c</>					{ return COMMA; }
+<INITIAL>\u003a</>					{ return COLON; }
+<INITIAL>([ \t\n]+)</>					{ }

Reply via email to