Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 26 Apr 2005 12:10:30 +0100 (BST)
From:      Jan Grant <Jan.Grant@bristol.ac.uk>
To:        Divacky Roman <xdivac02@stud.fit.vutbr.cz>
Cc:        Ron Chen <ron_chen_123@yahoo.com>
Subject:   Re: C-style expression processing...
Message-ID:  <Pine.GSO.4.62.0504261206100.5539@mail.ilrt.bris.ac.uk>
In-Reply-To: <20050425175635.GA7617@stud.fit.vutbr.cz>
References:  <20050425055016.56609.qmail@web41303.mail.yahoo.com> <20050425175635.GA7617@stud.fit.vutbr.cz>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, 25 Apr 2005, Divacky Roman wrote:

> On Sun, Apr 24, 2005 at 10:50:16PM -0700, Ron Chen wrote:
> > Hi,
> > 
> > I am trying to add a new feature in Gridengine
> > (free/opensource) to support ex-LSF users - there are
> > more and more LSF users migrating to Gridengine), and
> > some requested this one:
> > 
> > In LSF, a user can specify from the command line the
> > resource requirements of a batch job:
> > 
> >  (mem >= 100 || pg < 200.0)
> > 
> > Where mem and pg are variables (they changes in time,
> > and the master cluster scheduler has the most
> > up-to-date information). And what I need is to find
> > out whether the expression is true or not.
> > 
> > My question is, is there an expression processing
> > library that can handle complex equations easily?
> 
> you can easily parse it, using yacc/lex... and even hand-writing such parser
> cannot be difficult..

Google for: yacc calculator example.

Rather than doing AST creation or semantic analysis, many introductions 
to yacc show it being used to create simple calculators. You'll probably 
even find one on your system:

	/usr/share/doc/psd/15.yacc/paper.ascii.gz

That probably ought to sort you out.

-- 
jan grant, ILRT, University of Bristol. http://www.ilrt.bris.ac.uk/
Tel +44 (0)117 9287088 (with luck)   http://ioctl.org/jan/
Q: What's yellow and equivalent to the axiom of choice? A: Zorn's lemon.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.GSO.4.62.0504261206100.5539>