Ragel State Machine Compiler v.5.23

Advertisement
Advertisement

Ragel State Machine Compiler compiles finite state machines from regular languages into executable C/C++/Objective-C code. Ragel state machines can not only recognize byte sequences as regular expression machines do, but can also execute code at arbitrary points in the recognition of a regular language. Ragel can also be thought of as a finite state transducer compiler where output symbols represent blocks of code that get executed instead of written to the output stream. When you wish to write down a regular language you start with some simple regular language and build a bigger one using the regular language operators union, concatenation, kleene star, intersection and subtraction. This is precisely the way you describe to Ragel how to compile your finite state machines. Ragel also understands operators that embed actions into machines and operators that control any non-determinism in machines. Ragel FSMs are closed under all of Ragels regular language, action specification and priority assignment operators. This property allows arbitrary regular languages to be described. Complexity is limited only by available processing resources. For example, you can make one machine that picks out specially formatted comments in C code, another machine that builds a list all function declarations and a third that identifies string constants then "or" them all together to make a single machine that performs all of these tasks concurrently and independently on one pass of the input. Main features: - Describe arbitrary state machines using regular language operators and/or state tables. - NFA to DFA conversion. - Hopcrofts state minimization. - Embed any number of actions into machines at arbitrary places. - Control non-determinism using priorities on transitions. - Visualize output with Graphviz. - Use byte, double byte or word sized alphabets. - Generate C/C++/Objective-C code with no dependencies. - Choose from table or control flow driven output. Enhancements: - The documentation and the Ruby code generator were improved.

Ragel State Machine Compiler compiles finite ...

 
  • Ragel State Machine Compiler
  • 5.23
  • Adrian Thurston
  • Any Platform
  • GPL
  • 532 Kb
  • 122
 
 

Review Ragel State Machine Compiler

  • captcha
 


Development - Other software of Adrian Thurston

  • Aapl C++ Template Library  v.2.14Aapl is a C++ template library for generic programming. Aapl supports different generic programming paradigms by providing variations of standard data structures. For example, a by-value linked list template may be used to store a user supplied type ...
  • Kelbt  v.0.12Kelbt project can generate backtracking LALR parsers. Standard LALR parser generators emit an error upon encountering a conflict in the parse tables. Kelbt forges onward, generating parsers which handle conflicts by backtracking at runtime. Kelbt is ...
  • Ragel  v.6.5Ragel 6.5 offers users with an effective yet beneficial tool which is designed to compile executable finite state machines from regular languages. Ragel targets C, C++, Objective-C, D, Java and Ruby. Ragel state machines can not only recognize byte ...


Development - New Development software

  • Capsa Network Analyzer Free Edition  v.11.1Free packet sniffer (network analyzer or network sniffer) for network monitoring and troubleshooting. It allows you to monitor network operations, isolate & solve network problems, identify network bottleneck & bandwidth use, and replay packets.
  • DbForge Source Control for SQL Server  v.2.0dbForge Source Control for SQL Server is a SSMS add-in for managing SQL Server database changes in source control. The tool can link your databases to all popular source control systems, and delivers smooth and clear workflow in a familiar interface ...
  • EntityDAC  v.2.2EntityDAC is an ORM for Delphi with LINQ support. It provides a framework that allows performing object-relational mapping of database objects to Delphi classes with full support for encapsulation, inheritance, polymorphism and other OOP features.
  • Net Monitor for Employees Professional  v.5.6.14The Net Monitor for Employees is employee monitoring software that allows you to see screens of remote computers or show your screen to employee. This activity monitoring software allows you to take full control of your employee remote computers.
  • Ragel  v.6.5Ragel 6.5 offers users with an effective yet beneficial tool which is designed to compile executable finite state machines from regular languages. Ragel targets C, C++, Objective-C, D, Java and Ruby. Ragel state machines can not only recognize byte ...
  • Ragnarok Online Client  v.0.0.2Ragnarok Online Client project is a client to the Ragnarok online network. Ragnarok Online Client is a client to the Ragnarok online network, an MMORPG. This project only provides an API to be able to program a client without having to understand the ...