libIDL
Details
| Last Update: | 2008-01-29 05:01:10 |
| Version: | 0.8.10 |
| License/Program Type: | LGPL (GNU Lesser General Public License) |
| Publisher: | Andrew T. Veliath |
| Price: | $0.00 |
Description:
libIDL is a library licensed under the GNU LGPL for creating
trees of CORBA Interface Definition Language (IDL) files, which is
a specification for defining portable interfaces. The library was
initially written for ORBit (the ORB from the GNOME project, and
the primary means of libIDL distribution). However, the
functionality was designed to be as reusable and portable as
possible.
It is written in C, and the aim is to retain the ability to
compile it on a system with a standard C compiler. Preprocessed
parser files are included so you are not forced to rebuild the
parser, however an effort is made to keep the parser and lexer
compatible with standard Unix yacc. Currently, flex is required to
generate the lexical
scanner.
With libIDL, you can parse an IDL file which will be
automatically run through the C preprocessor (on systems with one
available), and have detailed error and warning messages displayed.
On a compilation without errors, the tree is returned to the custom
application.
libIDL performs compilation phases from lexical analysis to
nearly full semantic analysis with some optimizations, and will
attempt to generate meaningful errors and warnings for invalid or
deprecated IDL.
libIDL exports functionality used to generate detailed
conforming error and warning messages in gcc-like format, and also
comes with a default backend to generate IDL into a file or string
(useful for customized messages or comments in the output). The IDL
backend is complete enough that most generated IDL can be reparsed
by libIDL without errors. libIDL returns separate syntax and
namespace trees, and includes functionality to hide syntactical
information from the primary tree, while keeping it accessible
through the namespace for type information and name lookup.
Optional extensions to standard IDL can be enabled using parse
flags. These include node properties, embedded code fragments, and
XPIDL. Nodes can also have declarations tags which assign
particular attributions to certain IDL constructs to further
facilitate custom applications.
If you are upgrading to a new version, please see the NEWS file
for any changes which may affect code.
Emacs Syntax Highlighting for IDL Code
If you are using Emacs 20.x and do not have decent syntax
highlighting in your IDL mode, you can use the following Emacs lisp
to add IDL-specific highlighting using font-lock mode:
(font-lock-add-keywords
'idl-mode
`(("^[ ]error[ ]+(.+)" 1 'font-lock-warning-face
prepend)
("^[ ](include)[ ]+(<[^>"n]>?)" 2
'font-lock-string-face)
("^[ ]define[ ]+(sw+)(" 1
'font-lock-function-name-face)
("^[ ](elif|if)>"
("<(defined)>[ ](?(sw+)?" nil nil
(1 'font-lock-reference-face)
(2 'font-lock-variable-name-face nil t)))
("(__declspec)[ ](([^)]+))"
(1 'font-lock-reference-face)
(2 'font-lock-variable-name-face))
("^[ ](sw+)>[ ](sw+)?"
(1 'font-lock-reference-face)
(2 'font-lock-variable-name-face nil t))
("<(raises)>" 1 'font-lock-keyword-face)
("[ ]([A-Za-z][A-Za-z0-9_])[ ](" 1
'font-lock-function-name-face)
("<(any|boolean|char|const|double|enum|fixed|float|interface|long|module|native|octet|Object|sequence|short|string|struct|unsigned|union|void|wchar|wstring)>"
1 'font-lock-type-face)
("<(attribute|case|context|default|exception|FALSE|in|inout|oneway|out|readonly|switch|TRUE|typedef)>"
1 'font-lock-keyword-face)) 'set)
(add-hook 'idl-mode-hook '(lambda () (font-lock-mode
1)))
0 comments
Add to
libIDL Version History
Related Software
|
|
From category: Libraries |
| File::Find::Rule::XPath 0.03 is libraries software developed by Grant McLean. File::Find::Rule::XPath is a Perl module that contains rule to match on XPath expressions. SYNOPSIS use... |
|
|
From category: Libraries |
| Bio::Factory::SequenceFactoryI 1.4 is libraries software developed by Jason Stajich. Bio::Factory::SequenceFactoryI is a Perl interface that allows for generic building of sequences in factories wh... |
|
|
From category: Libraries |
| DUMA stops your program on the exact instruction that overruns (or underruns) a malloc() memory buffer.... |
|
|
From category: Bug-Tracking |
| Bosco 1.2 is bug tracking software developed by Jason Lee. Bosco is a rewrite of the popular Bugzilla defect tracking software in PHP. It is database-independent, and aims to be easy to main... |
|
|
From category: Libraries |
| Ethiopic::Cstocs 0.12 is libraries software developed by Daniel Yacob. Ethiopic::Cstocs is a Perl module for conversions of charset encodings for Ethiopic script. SYNOPSIS use LiveG... |
|
|
From category: Libraries |
| Babelj 0.1 is libraries software developed by Tim Macinta. Babelj is a language server for Java. Babelj allows programs written in practically any language to fully interact with Java. Client libra... |
|
|
From category: Libraries |
| file2menu 1.00 is libraries software developed by Nick Papanotas. file2menu is a class that automatically generates a menu of links. It reads the contents of given directories and all the su... |
|
|
From category: Libraries |
| s11n is a C++ library for easily serializing a wide variety of objects.... |
|
|
From category: Libraries |
| Alvis::Pipeline 0.11 is libraries software developed by Mike Taylor. Alvis::Pipeline is a Perl extension for passing XML documents along the Alvis pipeline. SYNOPSIS use Alvis::Pipel... |
|
|
From category: Assembler-Tools |
| Gambas 1.0.17 is assembler tools software developed by Benoit MINISINI. Gambas is a free development environment based on a Basic interpreter with object extensions, like Visual Basic (but it is NO... |
|
|
From category: Code-Generators |
| cproto 4.7e is code generators software developed by Chin Huang. cproto generates function prototypes for functions defined in the specified C source files to the standard output. The functi... |
|
|
From category: Libraries |
| Convert::UUlib 1.06 is libraries software developed by Marc Lehmann. Convert::UUlib is a Perl interface to the uulib library (a.k.a. uudeview/uuenview). SYNOPSIS use Convert::UUlib \... |
|
|
From category: Libraries |
| DBD::mysql 3.0007 is libraries software developed by Jochen Wiedmann. DBD::mysql is a Perl module with MySQL driver for the Perl5 Database Interface (DBI). SYNOPSIS use DBI;... |
|
|
From category: Libraries |
| File::RdistByRsync 0.3 is libraries software developed by David Muir Sharnoff. File::RdistByRsync is a Perl module that can read rdist distfiles, emulate using rsync. SYNOPSIS... |
|
|
From category: Libraries |
| Conjury::C 1.004 is libraries software developed by James Woodyatt. Conjury::C is a Perl Conjury with C/C++ compilers, linkers and archivers. SYNOPSIS c_object Source => Isou... |
Leave a comment