[antlr-interest] VC 7.0 antlr.dll to special ATTN of Ric Klaren and Terence Parr
Alexander Lenski
alenski at dca.net
Sun Feb 9 23:50:03 PST 2003
Skipped content of type multipart/alternative-------------- next part --------------
1. Notes for the ANTLR DLL target ( MSVC 7.0, Unmanaged DLL ) by Alexander Lenski:
1.1 Project settings ("create new project" dialogs)
- Win32 project
- Application Settings
- Application type
- DLL
- Additional options
- Export symbols
1.2 Project properties (change defaults to)
- Configuration Properties
- C/C++
- General
- Additional Include Directories
- drive:\antlr-2.7.2\lib\cpp
- Preprocessor
- Preprocessor Definitions
- WIN32;_DEBUG;_WINDOWS;_USRDLL;ANTLR_EXPORTS;ANTLR_CXX_SUPPORTS_NAMESPACE
- Code Generation
- Runtime Library
- Multi-threaded Debug DLL (/MDd)
- Enable Function-Level Linking:
- Yes
- Language
- Enable Run-Time Type Info
- Yes
- Precompiled Headers
- Create/Use Precompiled Headers
- Not Using Precompiled Headers
1.3 Some notes on the code change related to the DLL export
- See the ASTFactory.hpp for the factory_type, factory_descriptor
and factory_descriptor_list related defs.
- SemanticException.hpp is not included in any of the antlr files,
the SemanticException is not exported. I added the include
in the CharScaner.hpp.
- ParserInputState::~ParserInputState must be virtual to be properly
exported.
- Check files (e.g. with the WinDiff) for details and other changes.
2 Requests by Alexander Lenski
- Please, (as a min) add the
//!!!
//Get number of non-consumed tokens:
public:
virtual unsigned int entries() const;
with the
//!!!
//Get number of non-consumed tokens:
unsigned int TokenBuffer::entries() const
{ return queue.entries() - markerOffset;
}
highly useful function to the TokenBuffer.
Please, in addition (as a max) make all data members of the
TokenBuffer protected (as it is done with the InputBuffer)
instead of private, add the
//!!!
//Get number of non-consumed chars:
public:
virtual unsigned int entries() const;
with the
//!!!
//Get number of non-consumed chars:
unsigned int InputBuffer::entries() const
{ return queue.entries() - markerOffset;
}
to the InputBuffer too.
These changes make specialization of the buffers possible.
- About the ! suffix (currently not implemented in full) for AST
construction rules
- Please, clarify your intentions related to the !.
- Please, consider addition of one more option for the C++ code gen to set
DLL export/import customizable spec in all antlr-generated classes in the form
class CUST_API SomeClass...
-------------- next part --------------
A non-text attachment was scrubbed...
Name: antlr-2.7.2.zip
Type: application/x-zip-compressed
Size: 83834 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/antlr-interest/attachments/20030210/2c45fced/antlr-2.7.2.bin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: lib.zip
Type: application/x-zip-compressed
Size: 654541 bytes
Desc: not available
Url : http://www.antlr.org/pipermail/antlr-interest/attachments/20030210/2c45fced/lib.bin
More information about the antlr-interest
mailing list