ANN: Simple components v1.4

From: Dmitry A. Kazakov (mailbox_at_dmitry-kazakov.de)
Date: 02/22/04


Date: Sun, 22 Feb 2004 14:01:14 +0100


http://www.dmitry-kazakov.de/ada/components.htm

Changes:

1. The packages rooted in Parsers provide infix expressions syntax
analyzers. Parsers can be used for syntax analysis of infix expressions,
i.e. ones containing infix (dyadic), prefix and postfix operators,
brackets, function calls, array indices etc. The approach presented does
not require any grammar put down to generate scanner and analyzer. Nor any
code generation steps are required. An object-oriented approach is used
instead. The lexical procedures are dispatching, so that implementations
may be provided through overriding them. Parsers can be used both for
immediate one-pass code interpretation and for parsing tree building.
Parser automatically detects the expression end allowing its easy
integration. Operator precedence is expressed in a native way by setting
priorities controlling association with the operands. Associations with the
left and right side operands are controlled independently. Commutative
operators and their inverses can be optimized when necessary. Especial
attention is paid to error handling allowing generating very precise error
messages and source code references. Samples from a small console
calculator to a complete parsing tree generator for Ada 95 expressions
illustrate examples of use;

2. The package Generic_Segmented_Stack provides a specialization of the
generic stack package;

3. Random access to generic stacks (Get / Put);
 
4. Strings edit facilities;
 
5. Tables management package.

-- 
Regards,
Dmitry A. Kazakov
www.dmitry-kazakov.de


Relevant Pages

  • Re: packages revisited
    ... portable per-package aliases. ... expressions qualified with packages, e.g. foo::. ... Currently they just change package and readtable ... So, you can qualify ...
    (comp.lang.lisp)
  • Re: Endian-Independent Rep Clauses
    ... "Robert I. Eachus" writes: ... and uses static universal math based on Boolean'Pos ... >> expressions for bit numbers, ... package body DA.Digital is ...
    (comp.lang.ada)
  • Re: Seeking cheaper alternative to Visual Parse++
    ... With TextTransformer you can create LLparsers with LLlook ... expressions, because these expressions - in contrast to Perl ... The supporting source code for generated parsers is complete. ...
    (comp.compilers)
  • Re: Simple arithmetic parser example
    ... read up on "recursive descent parsers". ... looks quite simple although the recursivity may be a bad idea ... for long expressions. ... have to push and pop state using an explicit stack anyway. ...
    (comp.lang.c)