RSSAmplifier

Blog

Java 2 Ada

blog.vacs.frRSS feed ↗20 posts

Latest posts

Implementing a Search Engine Optimization Module for AWA

[Ada/awa-seo-module.jpg](Ada/awa-seo-module.jpg) Introduction The AWA framework (https://github.com/stcarrez/ada-awa) is a web application framework written in Ada. Recently, AWA was awarded the Ada Crate of the Year 2025 (https://www.adacore.com/blog/ada-spark-crate-of-the-year-2025-winners-announced). To improve the visibility of AWA-based applications, I developed an SEO module that enables the…

What's new in Ada Utility Library 2.7.0

[Ada/ada-utility-teletype.jpg](Ada/ada-utility-teletype.jpg) Walking directory trees with support of .gitignore It is sometimes necessary to walk a directory tree while taking into account some inclusion or exclusion patterns or more complex ignore lists. The `Util.Files.Walk` package provides a support to walk such directory tree while taking into account some possible ignore lists such as the…

Unlocking the Power of OpenAI in Ada programs

[Ada/openai-img.jpg](Ada/openai-img.jpg) The OpenAI (https://openai.com/) provides a service that can be queried using REST requests. The service API can be classified as follows: OpenAI's GPT (generative pre-trained transformer) is the well-known text generation based on text inputs. It gives access to several AI models that have been trained to understand natural language and code. Image…

Ada BFD 1.3.0

[Ada/ada-bfd-1.3.jpg](Ada/ada-bfd-1.3.jpg) Integration with Alire For Linux users only, the Ada BFD (https://github.com/stcarrez/ada-bfd) has an associated Alire crate which allows you to use it easily. To get access to the Alire crate, you should add the AWA Alire index (https://github.com/stcarrez/awa-alire-index) in your Alire configuration as follows: ``` alr index…

Reentrant scanner and parser with Aflex and Ayacc

[Aflex and Ayacc](Ada/Aflex-Ayacc-code.jpg) What's new in Aflex 1.6 - Support the flex options `%option output`, `%option nooutput`, `%option yywrap`, `%option noinput`, `%option noyywrap`, `%option unput`, `%option nounput`, `%option bufsize=NNN` to better control the generated `_IO` package. - Aflex (https://github.com/Ada-France/aflex) templates provide more control for tuning the code…

AWA 2.4.0

The framework provides several ready to use and extendable modules that are common to many web applications. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module. AWA simplifies the Web Application development by taking care of user management authentication and by…

Ada development on FreeBSD 13.1

Warning:* this is full of hacks and I don't pretend to provide any complete detailed and completely reproducible steps for getting a new Ada compiler. Before proceeding, make sure you have `gmake` installed because the BSD make uses an old Makefile syntax and is not able to handle GNU specific Makefiles. ``` pkg install gmake ``` Get gcc6-aux from an old FreeBSD installation First step is to get…

IO stream composition and serialization with Ada Utility Library

To be able to provide this IO stream combination, the Ada Utility Library (https://github.com/stcarrez/ada-util) defines two Ada types: the `Input_Stream` and the `Output_Stream` limited interfaces. The `Input_Stream` interface only defines a `Read` procedure and the `Output_Stream` interface defines the `Write`, `Flush` and `Close` procedures. By implementing these interfaces, it is possible to…

Advanced Resource Embedder 1.2.0

[Embedding SQL in binary](Ada/resource-embedder-bin.png) The new release contains the following fixes: - Fix Ada generator to be able to use other binary content types such as `System.Storage_Elements.Storage_Array` - Fix Ada generator to escape special characters in strings Since the previous version, Fabien Chouteau asked to be able to use an Ada system type to represent a binary content. This…

Aflex 1.5 and Ayacc 1.3.0

Aflex Version 1.5.2021 The new release provides the following changes: - Fix crash when the scanner file uses characters in range 128..255, - Fixed various compilation warnings, - Use `gprbuild` to build and support `alr`, - Reduced number of style compilation warnings in generated code To install Aflex, you can use the Alire (https://github.com/alire-project/alire) tool by using: ``` sh alr get…

AWA 2.3.0

The framework provides several ready to use and extendable modules that are common to many web applications. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module. AWA simplifies the Web Application development by taking care of user management authentication and by…

Advanced Resource Embedder 1.1.0

The resource embedder allows to embed files in binaries by producing C, Ada or Go source files that contain the original files. The first version of the tool was representing the file content as an array of bytes. In Ada, they are accessed through an `Ada.Streams.Stream_Element_Array` which is not easy to use when you need the content as a string. The new release introduces the customization of…

Advanced Resource Embedder for Ada, C and Go

The tool is able to apply some transformations on the collected files: it can run a Javascript minifier such as `closure`, it can compress CSS files by running `yui-compressor`, it can compress files by running `gzip` or another compression tool. Once these transformations are executed, it invokes a target generator to produce a source file either in C, Ada or Go language. The generated source…

New release Ada BFD 1.2.0

The new release is a cleanup and update of the library to support newer version of GNU binutils. The main changes are below: Cleanup build process and use gprinstall for installation Fix build with binutils > 2.34 Remove invalid API: `Bfd.Set_Error_Handler` Remove fake API: `Bfd.Symbols.Is_Local_Label_Name` Installation To use the Ada BFD library, you may either build it from the sources…

AWA 2.2.0

The framework provides several ready to use and extendable modules that are common to many web applications. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module. AWA simplifies the Web Application development by taking care of user management authentication and by…

New release of AKT with Fuse support

Data are stored in secure wallets protected and signed by their own AES-256 key. Wallets are protected by a master key using AES-256-CBC and the wallet master key is protected by a user password. The wallet defines up to 7 slots that identify a password key that is able to unlock the master key. To open a wallet, it is necessary to unlock one of these 7 slots by providing the correct password.…

Ada Web Application release 2.1.0

The framework provides several ready to use and extendable modules that are common to many web applications. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module. AWA simplifies the Web Application development by taking care of user management authentication and by…

Easy reading and writing files with Ada Utility Library

The Ada Utility Library provides several simple operations that simplify the reading and writing of files through a single procedure call. These operations are not new since I've implemented most of them 10 years ago!!! Reading a file line by line by using Ada.Text_IO is quite easy but annoying due to the fact that you have to open the file, iterate over the content getting one line at a time and…

Ada Stemmer Library

Stemming is not new as it was first introduced in 1968 by Julie Beth Lovis who was a computational linguist that created the first algorithm known today as the Lovins Stemming algorithm. Her algorithm has significantly influenced other algorithms such as the Porter Stemmer algorithm which is now a common stemming algorithm for English words. These algorithms are specific to the English language…

New version of Ada Web Application

The framework provides several ready to use and extendable modules that are common to many web applications. This includes the login, authentication, users, permissions, managing comments, tags, votes, documents, images. It provides a complete blog, question and answers and a wiki module. AWA simplifies the Web Application development by taking care of user management authentication and by…