首页 > 解决方案 > 使用 => 时如何克服 jBase 中的语法错误

问题描述

我有一个使用逻辑表达式的程序,例如 C = (A => B),但是当我尝试使用 BASIC 编译它时,出现以下错误:

0001 A = 1
0002 B = 2
0003 C = (A => B)


"TEST", 3 (offset 10)  near RESERVED WORD "GT":
C = (A = GT  B)
         ^
        syntax error

1 error was found
jbccom -f -d -aBPX BASIC_91.b failed , command returned a code of 1
jcompile: Returned an error code of 8
 ** Unable to compile source TEST **

我在运行完全相同的环境的不同服务器上拥有相同的程序,即相同的 Linux 版本、相同的 Red Hat 版本、相同的 jBase 版本,并且此代码编译没有问题。

是否存在与一台服务器不同的环境变量或配置项?

jDiag 输出:

            jdiag - jBASE diagnostic '$Revision: 1.15 $'

System Information
==================

System                      : Linux INT-PWS 3.10.0-862.11.6.el7.x86_64.#1 SMP Fri Aug 10 16:55:11 UTC 2018 x86_64
OS Release                  : Red Hat Enterprise Linux Server release 7.5 (Maipo)
UNIX User                   : ch2bri (uid 1013, euid 1013)
Tty name                    : /dev/pts/23
jBASE User (JBCLOGNAME)     : CH2BRI
Time                        : Tue Sep 21 10:33:37 2021

Environment
===========

JBCPORTNO                   : Not Set
JBCRELEASEDIR               : '/home/pw/library5631'
JBCGLOBALDIR                : '/home/pw/library5631'
JBCDATADIR                  : '/home/pw/jbase_data'
HOME                        : '/home/pw/PROD/CH2BRI'
JEDIFILEPATH                : '/home/pw/PROD/CH2BRI'
JEDIFILENAME_MD             : '/home/pw/PROD/CH2BRI_HOME/MD]D'
JEDIFILENAME_SYSTEM         : '/home/pw/SYSTEM]D'
RELEASE Information         : Major 5.6 , Minor 3.1 , Patch 0677 (Change 20365)
Spooler dir (JBCSPOOLERDIR) : '/home/pw/jspooler'
Spooler directory '/home/pw/jspooler' OK
JBCEMULATE                  : 'universe'
Emulation Config file '/home/pw/library5631/config/Config_EMULATE' OK
JBCEMULATE Label 'universe' found in file '/home/pw/library5631/config/Config_EMULATE'

Executable search Path: /home/pw/scripts:/opt/ActivePerl-5.26/bin:/home/pw/PROD/SOURCE/bin:.:/home/pw/library5631/bin:/home/pw/PROD/SOURCE/plugins/bin:/home/pw/PROD/SOURCE/plugins/lib:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
WARNING: Your execute path (PATH) does not contain '/home/pw/PROD/CH2BRI/bin'
Shared Object search path: LD_LIBRARY_PATH=/home/pw/PROD/SOURCE/plugins/lib:/home/pw/library5631/lib:/home/pw/PROD/SOURCE/plugins/bin:/usr/local/libexec:/usr/lib

   Found                    : '/home/pw/library5631/lib/libjbase.so'
   Found                    : '/home/pw/library5631/lib/libjbaseutil.so'
   Found                    : '/home/pw/library5631/lib/libjsub.so'
Object path (JBCOBJECTLIST) : '/home/pw/PROD/SOURCE/lib:/home/pw/PROD/SOURCE/plugins/lib:/home/pw/PROD/SOURCE/plugins/WMShcAPI/lib'
WARNING: Cannot access Object path '/home/pw/PROD/SOURCE/plugins/WMShcAPI/lib', error 2
jBASE Compiler Run-time     : '/home/pw/library5631/config/system.properties'
Program dir (JBCDEV_BIN)    : '/home/pw/PROD/SOURCE/bin'
Program Path '/home/pw/PROD/SOURCE/bin' is in your PATH
Subroutine dir (JBCDEV_LIB) : '/home/pw/PROD/SOURCE/lib'
Subroutine path '/home/pw/PROD/SOURCE/lib' is in JBCOBJECTLIST
Max open files              : 4096

Full Environment
================

        SHELL=/home/pw/library5631/bin/jsh
        _=jdiag
        TERM=vt220
        JBCTERM=vt220
        CBOLD=
        CC=gcc
        CDPATH=.:/home/pw:/home:/home/pw/PROD/CH2BRI
        CHILI=
        CLASSPATH=/home/pw/library5631/jdk/jre/lib/rt.jar
        CNORM=
        CREV=
        EM_TRACELOGS=/home/pw/tmp
        EM_TRACELVL=0x3fdf
        ENV=/home/pw/scripts/.env
        HISTCONTROL=ignoredups
        HISTSIZE=1000
        HOME=/home/pw/PROD/CH2BRI
        HOSTNAME=INT-PWS
        JBASE_LOCALE=en_US
        JBASE_SVR_SESSION=1
        JBCBASETMP=/home/pw/WORKFILES/57988
        JBCDATADIR=/home/pw/jbase_data
        JBCDEV_BIN=/home/pw/PROD/SOURCE/bin
        JBCDEV_LIB=/home/pw/PROD/SOURCE/lib
        JBCEMULATE=universe
        JBCGLOBALDIR=/home/pw/library5631
        JBCLOGNAME=CH2BRI
        JBCNETACCESS=/home/pw/library5631/config
        JBCNETDIR=/home/pw/library5631/config
        JBCOBJECTLIST=/home/pw/PROD/SOURCE/lib:/home/pw/PROD/SOURCE/plugins/lib:/home/pw/PROD/SOURCE/plugins/WMShcAPI/lib
        JBCRELEASEDIR=/home/pw/library5631
        JBCSPOOLERDIR=/home/pw/jspooler
        JBC_ONLINECATALOG=1
        JBC_STDERR=1
        JEDIENABLEQ2Q=1
        JEDIFILENAME_MD=/home/pw/PROD/CH2BRI_HOME/MD]D
        JEDIFILENAME_SYSTEM=/home/pw/SYSTEM]D
        JEDIFILEPATH=/home/pw/PROD/CH2BRI
        JREDIR=/home/pw/library5631/jdk/jre
        JRELIB=/home/pw/library5631/jdk/jrelib:/home/pw/library5631/jdk/jvmlib
        JRFS_LOCALPATH_JQL=1
        JRFS_REMOTE_JQL=1
        LANG=en_AU.UTF-8
        LDR_CNTRL=PREREAD_SHLIB
        LD_LIBRARY_PATH=/home/pw/PROD/SOURCE/plugins/lib:/home/pw/library5631/lib:/home/pw/PROD/SOURCE/plugins/bin:/usr/local/libexec:/usr/lib
        LESSOPEN=||/usr/bin/lesspipe.sh %s
        LIBPATH=/home/pw/PROD/SOURCE/plugins/lib:/home/pw/library5631/lib:/home/pw/PROD/SOURCE/plugins/bin:/usr/local/libexec:/usr/lib
        LOGNAME=ch2bri
        LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=01;05;37;41:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=01;36:*.au=01;36:*.flac=01;36:*.mid=01;36:*.midi=01;36:*.mka=01;36:*.mp3=01;36:*.mpc=01;36:*.ogg=01;36:*.ra=01;36:*.wav=01;36:*.axa=01;36:*.oga=01;36:*.spx=01;36:*.xspf=01;36:
        MAIL=/var/spool/mail/ch2bri
        MAILSENDMINUSR=qa_demo-ch2bri@paperlesswarehousing.com.au
        MANPATH=/usr/share/man:/usr/local/share/man:/usr/local/man
        PATH=/home/pw/scripts:/opt/ActivePerl-5.26/bin:/home/pw/PROD/SOURCE/bin:.:/home/pw/library5631/bin:/home/pw/PROD/SOURCE/plugins/bin:/home/pw/PROD/SOURCE/plugins/lib:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin
        PS1=$USER@INT-PWS:$PWD>
        PWD=/home/pw/PROD/CH2BRI
        PWHOME=/home/pw
        PWMAINACCT=
        QT_GRAPHICSSYSTEM_CHECKED=1
        SHLVL=1
        SSH_CLIENT=172.17.18.35 52444 22
        SSH_CONNECTION=172.17.18.35 52444 192.9.200.206 22
        SSH_TTY=/dev/pts/23
        TZ=Australia/Brisbane
        USER=ch2bri
        XDG_RUNTIME_DIR=/run/user/1013
        XDG_SESSION_ID=331341
        Z_DISABLE_QUEUEING=1
        A__z="*SHLVL
        JBCLKFILE=/home/pw/library5631/tmp/LOCKFILE
        JBCPAUSEFILE=/home/pw/library5631/tmp/PAUSEFILE
        JBCERRFILE=/home/pw/library5631/jbcmessages
        JBASE_DATABASE=default

标签: jbase

解决方案


问题围绕 jBase 的版本。jBase 预编译器的这些问题已在 jBase 5.7 及更高版本的更高版本中得到解决。

升级 jBase 版本更正了该问题。


推荐阅读