This program requires SynEdit (http://synedit.sf.net) to compile.
Executable can be found at: http://www.carlo-kok.com/downloads/ifps3/imp.zip
UnitParser v0.4, written by M. Knight.
UnitParser v0.5, updated by NP. v/d Spek, 21-oct-2003
Source Code from Carlo Kok has been used to implement various sections of
UnitParser. Components of ifps3 are used in the construction of UnitParser,
code implementing the class wrapper is taken from Carlo Kok's conv unility
This version works with the newExec source from Carlo Kok's IFPS so now all
identifirs are normal cased.
Licence :
This software is provided 'as-is', without any expressed or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any kind of
application, and to alter it and redistribute it freely, subject to
the following restrictions:
1. The origin of this software must not be misrepresented, you must
not claim that you wrote the original software.
2. Altered source versions must be plainly marked as such, and must
not be misrepresented as being the original software.
3. You may not create a library that uses this library as a main part
of the program and sell that library.
4. You must have a visible line in your programs aboutbox or
documentation that it is made using Innerfuse Script and where
Innerfuse Pascal Script can be found.
5. This notice may not be removed or altered from any source
distribution.
It can currently handle :
- Constants(both with explicit & implicit type),
- Global variables are parsed, but no output is generated for them
As I would need to be able to set their value at startup, or generate
getters & setters for them(need info before I can do this)
- Normal Delphi routines are properly encaptulated
The following different types :
- simple typing ie 'MyInt = Integer;'
- type identity ie 'MyInt = type Integer;' (it drops the 'type' and then
handles it like simple typing)
- method pointers(function pointers are not supported by ifps3)
- Enums ie 'MyEnum = (ab,abc);'
- sets are correctly parsed
- records, and nested records
- classes
- dynamic arrays only (static arrays are not implemented by the ifps3 to my
knowlage)
- On discovering a function marked with the overload directive, it prompts
for a new function name, and then generates wrapper code that maps the
new method name to the original version. Press enter to use the same name
* NVDS> fixed some bug's here.
- Some constant expressions cause the parser to get confused
(<constname>=<constname>). It will then prompt for the correct
Expression type (string, integer, char, boolean, etc)
Todo:
- Add MUCH better error reporting
- Add a symbol table to keep track of dereferenced data types to flag them
as non importable & allow better constant parsing.
- Add support for interfaces to be correctly parsed & generate wrapper
classes for them.
- Combining more then one orginal file to one IFPS-import file.
- Handling constante sets.
- Add correct support to handle Abstract functions and Procedures.
Added in version 0.5 (NVDS):
- Posiblity to see the Orginal soure code, master source code and after converting
the result code files.
- Added the choice of makking a single file or not.
- Created a INI-project file with all the settings.
- Modified files are saved as *.int.
- Fixed the way of handling Overloaded functions.
- Now all identifiers are all normal cased.
Added in version 0.4 :
- Fixed spelling errors in readme.txt & output file
- Fixed parsing of multidimensional arrays & arrays with the size of a type
- Improved error reporting, by default the last 5 tokens are reported. It is
posible to have more tokens listed. The token string is RECONTRUCTED so will
NOT containt any comments, formatting or exact casing.
Added in version 0.31 :
- Fixed error that would result in the files bwing written to in the root
of the drive, if a output dir wasnt supplied.
- Fixed error in code generation when the '-U' flag was used (prevent the
class parent's name from being written).
- Now defaults to '-u' instead of '-UseUnitAtDT'
- Updated readme.txt
Added in version 0.3 :
- Added command line options
- Added the better clas registration code generation (handles forward
declarations)
- now uses the 'conv.ini' file that Carlo Kok's Conv utility does.
- Altered the file BigIni.pas to NOT include references to VCL
Added in version 0.2 (not release to public):
- Added an option that controls how the design time import module is
generated.
Now it is posible to generate design time wrapper units without using the
wrapped unit.
- Fixed a bug in the constant expression parser, #10#13 is now interpreted
as a string instead as a char
- Output files are now generated in the same directory as the file being
wrapped by default.
With the option of forcing all generated files into a spesific folder.
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
Innerfuse Pascal Script 3 是一款免费的用Delphi编写的脚本引擎,IFPS允许你在程序运行时使用Object Pascal语言,是一套能够编译到exe文件的单元,使用脚本引擎的好处:能够让你的程序让用户的自定义而不需要重新编译,你能够发布升级程序只需要发布脚本文件即可。
资源详情
资源评论
资源推荐
收起资源包目录
Innerfuse Pascal Script 1.33 stable (Pascal脚本引擎) (260个子文件)
Help.css 38B
IFPS3CompExec.dcr 17KB
Main.dfm 48KB
ide_editor.dfm 12KB
FormSettings.dfm 2KB
ifps3test1.dfm 2KB
ifps3test1.dfm 2KB
Unit1.dfm 1KB
ifps3test2.dfm 666B
ifps3test2.dfm 615B
ide_debugoutput.dfm 548B
ifps3pkg.dpk 2KB
sample7.dpr 5KB
sample6.dpr 5KB
sample8.dpr 4KB
sample5.dpr 4KB
sample4.dpr 4KB
sample3.dpr 3KB
sample2.dpr 3KB
sample1.dpr 2KB
ifps3_DUnit.dpr 511B
ifps3_DUnit_Auto.dpr 416B
imp.dpr 333B
ide.dpr 309B
ifps3test.dpr 293B
ifps3test.dpr 292B
Project1.dpr 188B
automated.gif 72B
public.gif 69B
private.gif 69B
published.gif 69B
protected.gif 69B
AllIdent.htm 132KB
AllFuncs.htm 67KB
TIFPSPascalCompiler.htm 66KB
ifps3.htm 52KB
TIFPSExec.htm 37KB
TIFPS3CompExec.htm 31KB
AllTypes.htm 30KB
ifpscomp.htm 24KB
ifpiir_DB.htm 23KB
ifpii_DB.htm 22KB
ifps3utl.htm 22KB
AllClass.htm 21KB
AllConst.htm 17KB
TIFPSCompileTimeClass.htm 15KB
TIFPSStack.htm 15KB
TIFPSCustomDebugExec.htm 13KB
ifpii_stdctrls.htm 11KB
ifpiir_stdctrls.htm 11KB
TIFPSInternalProcedure.htm 11KB
TIFPS3DebugCompExec.htm 10KB
TIFPSConstant.htm 9KB
TIFPSInterface.htm 9KB
TIFPSDebugExec.htm 8KB
ifpii_classes.htm 8KB
ifpii_extctrls.htm 8KB
TIFPSRuntimeClass.htm 8KB
ifpiir_classes.htm 8KB
TIFPSType.htm 8KB
ifpiir_extctrls.htm 8KB
TIFPSPreProcessor.htm 8KB
TIfList.htm 8KB
TIFPSPascalCompilerMessage.htm 7KB
AllClasH.htm 7KB
TIFPSAttributeType.htm 7KB
TIfPascalParser.htm 7KB
TIFPSRuntimeAttribute.htm 6KB
TIFPSVar.htm 6KB
AllUnits.htm 6KB
TIFPSParametersDecl.htm 6KB
TIFPSInterfaceMethod.htm 6KB
TIFPSAttributes.htm 6KB
TIFPSAttribute.htm 6KB
TIFTypeRec.htm 6KB
TIFPSValueReplace.htm 6KB
TIFPSRuntimeAttributes.htm 5KB
TIFPSProcVar.htm 5KB
TIFPSPascalPreProcessorParser.htm 5KB
TIFPSLineInfo.htm 5KB
TIFPSRegProc.htm 5KB
TIFPSLineInfoList.htm 5KB
ifpiir_menus.htm 5KB
TIFPS3Plugin.htm 5KB
IFPS3CompExec.htm 5KB
TIFPSAttributeTypeField.htm 5KB
TIFPSBlockInfo.htm 5KB
TIFPSRuntimeClassImporter.htm 5KB
TIFPSDelphiClassItem.htm 5KB
TIFPSDefineStates.htm 5KB
ifpii_forms.htm 5KB
ifpii_graphics.htm 5KB
ifpii_menus.htm 5KB
TIfStringList.htm 5KB
TIFPSValueVar.htm 4KB
ifpiir_controls.htm 4KB
TIFPS3CE_Controls.htm 4KB
TIFPS3CE_StdCtrls.htm 4KB
ifpii_controls.htm 4KB
TIFInternalProcRec.htm 4KB
共 260 条
- 1
- 2
- 3
普通网友
- 粉丝: 882
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0