gnucap.git - Gnu Circuit Analysis Package

index : gnucap.git
Gnu Circuit Analysis Package
summary refs log tree commit diff
diff options
context:
space:
mode:
authorFelix Salfelder <felix@salfelder.org>2025年10月22日 00:00:00 +0000
committerFelix Salfelder <felix@salfelder.org>2025年10月22日 00:00:00 +0000
commit7e30cf536aa3b0317509e8429f9993f4b4331a42 (patch)
tree73497cf2bdf42cdb31c28a60a42e97821c97afff
parent97912e454f0a493a1afc823024147abdd373a2a4 (diff)
downloadgnucap-7e30cf536aa3b0317509e8429f9993f4b4331a42.tar.gz
default to case noinsensitive
- introduce "command" language - spice units (like acs) - but noinsensitive - make it the default - run ckt tests in acs mode
Diffstat
-rw-r--r--NEWS 1
-rw-r--r--README 11
-rw-r--r--apps/lang_spice.cc 12
-rw-r--r--conf/config.h.in 2
-rw-r--r--include/patchlev.h 2
-rw-r--r--main/main.cc 2
-rw-r--r--tests/Make.test 2
-rwxr-xr-xtests/test 2
8 files changed, 28 insertions, 6 deletions
diff --git a/NEWS b/NEWS
index e1809149..289399d0 100644
--- a/NEWS
+++ b/NEWS
@@ -8,6 +8,7 @@ associated tarball. This file summarizes the important changes.
- cbs improvements
- make node order pluggable
- move to c++14 (due to modelgen-verilog)
+- default to case sensitive, c.f. README
- ..
== 20250731-dev
diff --git a/README b/README
index 0da23480..a891a39a 100644
--- a/README
+++ b/README
@@ -29,6 +29,17 @@ See README.afl
See NEWS
+== Case sensisivity, Oct 2025
+
+Traditionally, Gnucap default input language was set to "acs", which is case
+insensitive. The default language is now "command", it is case sensitive.
+
+The default language is defined in config.h. At startup, another language may
+be selected regardless of this definition, if the old behaviour is desired.
+For example, a "spice batch mode" run would be invoked as follows.
+
+$ gnucap --spice -b my_file.ckt
+
== Structure, since 2013年04月23日
The code is split into sections "include", "lib", "apps", "main", "modelgen"
diff --git a/apps/lang_spice.cc b/apps/lang_spice.cc
index 4e829dd1..0f7c1ae8 100644
--- a/apps/lang_spice.cc
+++ b/apps/lang_spice.cc
@@ -112,6 +112,17 @@ public:
DISPATCHER<LANGUAGE>::INSTALL
da(&language_dispatcher, lang_acs.name(), &lang_acs);
/*--------------------------------------------------------------------------*/
+class LANG_COMMAND : public LANG_SPICE_BASE {
+public:
+ LANG_COMMAND() {}
+ ~LANG_COMMAND() {}
+ std::string name()const override {return "command";}
+ bool case_insensitive()const override {return false;}
+ UNITS units()const override {return uSI;}
+} lang_command;
+DISPATCHER<LANGUAGE>::INSTALL
+ dsa(&language_dispatcher, lang_command.name(), &lang_command);
+/*--------------------------------------------------------------------------*/
DEV_COMMENT p0;
DISPATCHER<CARD>::INSTALL
d0(&device_dispatcher, ";|#|*|'|\"|dev_comment", &p0);
@@ -1069,7 +1080,6 @@ class CMD_SPICE : public CMD {
public:
void do_it(CS&, CARD_LIST* Scope)override {
command("options lang=spice", Scope);
- // lang_spice.set_ground(Scope);
}
} p8;
DISPATCHER<CMD>::INSTALL d8(&command_dispatcher, "spice|`spice", &p8);
diff --git a/conf/config.h.in b/conf/config.h.in
index b7aa490d..627a647d 100644
--- a/conf/config.h.in
+++ b/conf/config.h.in
@@ -5,7 +5,7 @@
#define GNUCAP_PLUGPATH "@pkglibdir_expanded@"
/*--------------------------------------------------------------------------*/
/* user interface preferences */
-#define DEFAULT_LANGUAGE "acs"
+#define DEFAULT_LANGUAGE "command"
/*--------------------------------------------------------------------------*/
/* installation setup */
#if defined(__WIN32__)
diff --git a/include/patchlev.h b/include/patchlev.h
index 0c7ef3ca..78ee988a 100644
--- a/include/patchlev.h
+++ b/include/patchlev.h
@@ -1 +1 @@
-#define PATCHLEVEL "matrix_stamp 2025年08月28日"
+#define PATCHLEVEL "noinsensitive 2025年10月15日"
diff --git a/main/main.cc b/main/main.cc
index 18543d40..40a070c9 100644
--- a/main/main.cc
+++ b/main/main.cc
@@ -92,7 +92,7 @@ static void read_startup_files(void)
OPT::language = language_dispatcher[DEFAULT_LANGUAGE];
for(DISPATCHER<LANGUAGE>::const_iterator
- i=language_dispatcher.begin(); !OPT::language && i!=language_dispatcher.end(); ++i) {untested();
+ i=language_dispatcher.begin(); !OPT::language && i!=language_dispatcher.end(); ++i) {itested();
OPT::language = prechecked_cast<LANGUAGE*>(i->second);
}
}else{untested();
diff --git a/tests/Make.test b/tests/Make.test
index b247d72a..e066b9a1 100644
--- a/tests/Make.test
+++ b/tests/Make.test
@@ -70,7 +70,7 @@ ${gc_out}: ${TARGETDIR}/%.gc.out: prep
grep -v '^stashing\ as' | grep -v 'already\ installed' | grep -v ^make > $@
${ckt_out}: ${TARGETDIR}/%.ckt.out: prep
- @-${TESTENV} ${GNUCAP} ${GNUCAP_ARGS} -b ${srcdir}/$*.ckt |tail -n +12 | \
+ @-${TESTENV} ${GNUCAP} ${GNUCAP_ARGS} --acs -b ${srcdir}/$*.ckt |tail -n +12 | \
grep -v '^stashing\ as' | grep -v 'already\ installed' | grep -v ^make > $@
${PWD}/disciplines.vams:
diff --git a/tests/test b/tests/test
index e8e6fb6a..8c125f9d 100755
--- a/tests/test
+++ b/tests/test
@@ -11,7 +11,7 @@ else
do
echo $ii
echo $ii >>3ドル/2ドル.diffs
- 1ドル -b $ii |tail -n +12 >3ドル/$ii.out
+ 1ドル --acs -b $ii |tail -n +12 >3ドル/$ii.out
diff -u 4ドル/$ii.out 3ドル/$ii.out >>3ドル/2ドル.diffs || echo "**** $ii fails ****"
done
for ii in 2ドル*.gc
generated by cgit v1.2.3 (git 2.25.1) at 2025年11月25日 09:58:59 +0000

AltStyle によって変換されたページ (->オリジナル) /