minor_code_example.txt revision 608:7e06bf1dcb09
142421Syokotapackage @PKGNAME@ ;
242421Syokota
342421Syokotaimport org.omg.CORBA.OMGVMCID ;
442421Syokotaimport org.omg.CORBA.CompletionStatus ;
542421Syokota
642421Syokotaimport org.omg.CORBA.@SYSEX@ ; 
742421Syokota
842421Syokotapublic abstract class StandardException {
942421Syokota    // @SYSEX@ BAD_CONTEXT
1042421Syokota
1142421Syokota    public void IdlContextNotFound( CompletionStatus completed )
1242421Syokota    {
1342421Syokota	throw new BAD_CONTEXT( "IDL context not found", 
1442421Syokota	    OMGVMCID.value + 1, completed ) ;
1542421Syokota    }
1642421Syokota
1742421Syokota    public void IdlContextNotFound( )
1842421Syokota    {
1942421Syokota	IdlContextNotFound( CompletionStatus.COMPLETED_NO ) ;
2042421Syokota    }
2142421Syokota
2242421SyokotaData structures: list[ ... ] vector[ ... ] ( record )
2342421Syokota
2442421Syokotalist[ ( string{exception name} list[ ( string{code name} int{value} string{description} ] ) ]
2542421Syokota			    
2642421SyokotaProcessing:
2742421Syokota    
2848557Sphk
2942421Syokota    open file (fname)
3042421Syokota	fr = new FileReader( fname )
3142421Syokota	br = new BufferedReader( fr )
3242421Syokota	br.readLine() returns null at EOF
3342421Syokota
3442421Syokota    want a BufferedReader
3542421Syokota    
3642421Syokota    while not eol read line
3748104Syokota	if (line start with spaces)
3842421Syokota	    add to current index
3942421Syokota	else
4048104Syokota	    new exception
4148104Syokota
4242421Syokota    create StandardException class
4348104Syokota
4448104Syokota    foreach ( excname vec ) in data
4542421Syokota	add import statement for execname to output 
4642421Syokota
4742421Syokota	foreach ( codename value descr ) in vec 
4842421Syokota	    generate full method
4942421Syokota	    generate short method
5042421Syokota	
5142421Syokota	   
5242421Syokota(define (read-file fname)
5342421Syokota    (begin
5442421Syokota	(let port (open-input-port fname))
5542564Syokota	(let obj  (read port))
5648104Syokota	obj
5742564Syokota    )
5842421Syokota)
5942564Syokota
6042421Syokota    
6142421Syokota    
6242421Syokota