diff options
-rw-r--r-- | hurd/ada4hurd.mdwn | 63 | ||||
-rw-r--r-- | hurd/documentation.mdwn | 2 | ||||
-rw-r--r-- | hurd/documentation/netfs_ada_results.mdwn | 77 |
3 files changed, 142 insertions, 0 deletions
diff --git a/hurd/ada4hurd.mdwn b/hurd/ada4hurd.mdwn new file mode 100644 index 00000000..784ad7fd --- /dev/null +++ b/hurd/ada4hurd.mdwn @@ -0,0 +1,63 @@ +[[!meta copyright="Copyright © 2015 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +# Ada4Hurd + +## Introduction + +Ada4Hurd provides tools and examples to ease Ada development in Hurd. It is at an early stage. + +### ada2def + + * It is based on the [ASIS](http://libre.adacore.com/tools/gnat-gpl-edition/) standard + * It analyse an Ada specification and generates some .defs file + +### def2ada + + * Using [opentoken](http://stephe-leake.org/ada/opentoken.html) it analyse a .defs file + * it can generate server skeleton + * it can generate a client library for easy connection to the server + +### xmladafs + + * Mainly a translation of xmlfs in Ada + * write capabilities development is undergoing + * use [xmlada](http://libre.adacore.com/tools/xmlada/) + +### hello + + * Hello World example translated in Ada + +### netfs_base + + * Mainly a dummy translator to understand netfs mechanisms + * [[Some results of netfs experimentation|documentation/netfs_ada_results]] + +## Where to find the code + + * Ada4Hurd is a [sourceforge](https://sourceforge.net/projects/ada4hurd/) based project + * Mercurial is used as DVCS + + $ hg clone http://hg.code.sf.net/p/ada4hurd/code ada4hurd-code + +## Build the code + + * Install the build dependencies as root + + $ apt-get install gnat libopentoken4-dev libxmlada5-dev libasis2014-dev + + * Build + + $ cd ada4hurd-code + $ make + + * Play with xmladafs + + $ make trans_on
\ No newline at end of file diff --git a/hurd/documentation.mdwn b/hurd/documentation.mdwn index 944b5c98..a85f4d4f 100644 --- a/hurd/documentation.mdwn +++ b/hurd/documentation.mdwn @@ -88,3 +88,5 @@ is included in the section entitled investigates the mobility aspect of stores and how it can be generalized and used for other applications. The background chapter may be of interest to new developers. + + * [[Ada4Hurd]]: some tools to write translators with Ada
\ No newline at end of file diff --git a/hurd/documentation/netfs_ada_results.mdwn b/hurd/documentation/netfs_ada_results.mdwn new file mode 100644 index 00000000..13029f85 --- /dev/null +++ b/hurd/documentation/netfs_ada_results.mdwn @@ -0,0 +1,77 @@ +[[!meta copyright="Copyright © 2015 Free Software Foundation, Inc."]] + +[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable +id="license" text="Permission is granted to copy, distribute and/or modify this +document under the terms of the GNU Free Documentation License, Version 1.2 or +any later version published by the Free Software Foundation; with no Invariant +Sections, no Front-Cover Texts, and no Back-Cover Texts. A copy of the license +is included in the section entitled +[[GNU Free Documentation License|/fdl]]."]]"""]] + +# Netfs Ada experimentations + +## Rev 05c2ac288ad2 + + * Nothing is implemented in the Netfs\_Implementation package + * node is the translator inode in directory . + +### ls -la . + + * Leads to a call of Validate\_Stat : line 115 of Netfs\_Implementation package + * Returns an error : + * bash: cd: node: Not a directory + +### ls -la node + + * Returns an error : + * ls: cannot access node: Not a directory + * Leads also to a call of Validate\_Stat : line 115 of Netfs\_Implementation package + +### cd node + + * Returns an error : + * bash: cd: node: Not a directory + * Validate\_Stat get called three times + +## Rev 6052185bf877 + + * Only a very simple Validate\_State is implemented + +### ls -la . + + * Leads to a call of Validate\_Stat : line 120 of Netfs\_Implementation package then a call to Check\_Open\_Permissions : line 13 + * Returns this error : + * "ls: cannot access node: Not a directory" + +### ls -la node + + * Returns an error : + * ls: cannot access node: Not a directory + * Leads to a call of Validate\_Stat : line 120 of Netfs\_Implementation package then a call to Check\_Open\_Permissions : line 13 + +### cd node + + * Returns an error : + * bash: cd: node: Not a directory + * Validate\_Stat then Check\_Open\_Permissions sequence is called three times + +## Rev dd3e6b7ea5c7 + + * Check\_Open\_Permissions implemented + +### ls -la . + * No more error : node is displayed as a directory + * Sequence call : validate\_state / check\_open\_permissions / validate\_state + +### ls -la node + + * Returns an error : + * ls: reading directory node: Operation not supported + * call sequence : + * validate\_state + * check\_open\_permissions + * validate\_state + * validate\_state + * check\_open\_permissions + * validate\_state + * get\_dirents line 90 of netfs\_implementation package
\ No newline at end of file |