www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Net IDL v0.0.6 code generator release

reply BCS <BCS pathlink.com> writes:
This is a code generator that facilitates the use of an interface across 
a TCP/IP connection

This program takes a limited form of the D programming language 
interface syntax and generates code for an object implementing the 
interface. This Object allows for an instance of the interface to be 
accessed across a TCP/IP connection.

The included readme has a more verbose explanation. Also the package has 
a larger example.

download:
	www.uidaho.edu/~shro8822/netidl_0_6_sdk.zip

Comments and suggestions welcome.
Jul 12 2006
next sibling parent reply pragma <pragma_member pathlink.com> writes:
In article <e93fnu$1nkb$1 digitaldaemon.com>, BCS says...
This is a code generator that facilitates the use of an interface across 
a TCP/IP connection

This program takes a limited form of the D programming language 
interface syntax and generates code for an object implementing the 
interface. This Object allows for an instance of the interface to be 
accessed across a TCP/IP connection.

The included readme has a more verbose explanation. Also the package has 
a larger example.

download:
	www.uidaho.edu/~shro8822/netidl_0_6_sdk.zip

Comments and suggestions welcome.
Ahh.. so *that's* what you were working on. ;) I have one suggestion: In your grammar, the BaceType type production could be streamlined to use your enum values directly: BaceType = Types.type val ::= "bool" Type.types.type_bool:val | "byte" Type.types.type_void:val | "short" Type.types.type_short:val | "int" Type.types.type_int:val | Granted, its a tradeoff between .bnf readability and code efficency. Clever use of an alias or two might make this easier on the eyes, but I digress. Anyway, this technique should help eliminate the need to re-lookup the values in your backend code. - EricAnderton at yahoo
Jul 13 2006
parent BCS <BCS pathlink.com> writes:
pragma wrote:
 
 
 Ahh.. so *that's* what you were working on. ;)
 
yup <g>
 I have one suggestion: In your grammar, the BaceType type production could be
 streamlined to use your enum values directly:
 
 BaceType = Types.type val
 ::= "bool"  Type.types.type_bool:val |
 "byte"  Type.types.type_void:val | 
 "short"  Type.types.type_short:val |
 "int"  Type.types.type_int:val |
 
 Granted, its a tradeoff between .bnf readability and code efficency. Clever use
 of an alias or two might make this easier on the eyes, but I digress.
 
 Anyway, this technique should help eliminate the need to re-lookup the values
in
 your backend code.
 
done www.uidaho.edu/~shro8822/netidl_0_7_sdk.zip also a few tweaks-n-bug-fixes: --ubyte actually works now --non-implicit in allowed I plan to put up a server based on this soon (I have a port promised to me). I don't know what it will do, but it will serve as a proof of concept. I was thinking of somthing like an entropy source. "Randome data!!! Randome data!!! Get it while it's fresh!!!" :-P
Jul 13 2006
prev sibling next sibling parent BCS <BCS pathlink.com> writes:
BCS wrote:
 This is a code generator that facilitates the use of an interface across 
 a TCP/IP connection
 
[...]
 
 The included readme has a more verbose explanation. Also the package has 
 a larger example.
 

 Comments and suggestions welcome.
new version, download: www.uidaho.edu/~shro8822/netidl_0_11_sdk.zip a few bug fixes and a new features or two: --specified Exceptions can now be transported, including type and state information. --Some refactoring of program code --Some refactoring of generated code --Fixed bug in .bnf file (warning Enki 1.1 will generate illegal code with this .bnf file, add a "{}" at the error line)
Jul 18 2006
prev sibling parent BCS <BCS pathlink.com> writes:
version next (v0.0.12)

http://www.uidaho.edu/~shro8822/netidl_0_12_sdk.zip
Aug 01 2006