LLOOP Index | GSP Language | GSP Library | Framework Classes | Component Classes

LLOOP Overview

LLOOP - Reversible Object-Oriented Parser Generator

LLOOP is a C++ source code generator which can generate standalone object-oriented parsers from a specification language (.gsp files) supporting the Extended BNF notation. The generated parsers are reversible in that the original parsed input can be re-constituted or modified. Check the Technical Specification Sheet for more detailed information on the features mentioned below:

LLOOP is intuitive, easy to learn and use:

Parsers offering high-level and high-quality features:

The GSP Language allows to design projects which are:

Integrated Development Environment

The graphical front-end of the generator also serves as Integrated Development Environment. It allows to manage your development projects, set-up your generation parameters and configure your application build options, all in a technology-independent and cross-platform manner.

The graphical interface allows users to focus exclusively on designing their application. From the build options entered in the entry panels, the generator creates the required Makefile to build your application or library on the requested platform (UNIX or Windows). Generation, compilation, execution and monitoring of all operations is carried out through menus or buttons.

More information

Advanced Command Line Options Support

LLOOP allows to fully automate the management of command line options without any programming, just by providing a formal description of the options. Subsets of options can be defined within another set of options, thereby allowing to structure hierarchically all options.

The following diagram shows what is generated from the option specification(s). This functionality is thoroughly used by the generator itself (gspc.exe) and is therefore illustrated using specification excerpts and resulting generated code and outputs from there. "[...]" stands for information removed for readability purposes:
Options Specification
[...]
symbol MakeExeOption implements option(
          "Executable",
	  "--make-exe", 
	  "Tells whether to generate a makefile that builds an executable",
	  "--make-exe") ;

symbol MakeLibOption implements option(
          "Library",
	  "--make-lib", 
	  "Tells whether to generate a makefile that builds a library",
	  "--make-lib") ;

symbol PlatformOption implements option(
          "Platform",
	  "--platform=<PLATFORM>", 
	  "Gives the name [...]",
	  PlatformName) ;

[...]
symbol AdvancedMakefileOptionSet implements optionset(
          "Advanded Makefile Option Set",
          "Advanded Makefile Option Set",
          gspc_arguments_make.ArgumentMAK) ;

[...]
C++ Parse Code
  gspc_arguments::Parser parser(argc, argv);
  parser.run();
C++ Formatted Usage Function
>gspc --
usage: gspc [ options ]

[...]
  --make-exe                  Executable
  --make-lib                  Library
  --platform=<PLATFORM>       Platform
[...]
C++ Formatted Detailed Help Function
>gspc -h
help:

[...]
  --make-exe                  Tells whether to generate a makefile
                              that builds an executable
  --make-lib                  Tells whether to generate a makefile
                              that builds a library
  --platform=<PLATFORM>       Gives the name of the platform for
                              which the executable or library shall
                              be build.

                              Possible values are
                              'windows', 'unix' and 'all'.
[...]
TCL/TK Forms

Graphical Front End

Check also the following links:

Range of Application and References

The facilities offered by LLOOP make it suitable for a wide range of applications, even for simple operations:

Beside these common applications, LLOOP can also be used for:

References


This file is part of the LLOOP Reversible Object-Oriented Parser Generator. Copyright (c) 2005-2006 Michel MEHL, France. All rights reserved. LLOOP is distributed by the company ERSA SaRL.


Copyright (c) 2005-2006 Michel MEHL, Haguenau, France
LLOOP version 1.1