Ragel (original) (raw)

About DBpedia

Ragel est un compilateur d'automates finis générant ses sorties en code source dans les langages suivants : C, C++, Objective-C, Java, Go et Ruby. Il supporte la génération de machines à états basées sur des tableaux ou sur des structures de contrôle. Ragel permet également de visualiser les machines générées sous forme de graphe par l'utilisation de Graphviz.

thumbnail

Property Value
dbo:abstract Ragel ist ein von Adrian D. Thurston entwickelter State-Machine Compiler. Er übersetzt Definitionen von Finite-State-Machines (FSM, auch Endlicher Automat genannt) in ausführbaren Programmcode. Dazu können Nichtdeterministische endliche Automaten in der Ragel-eigenen Sprache, deren Operatoren vor allem aus standardisierten regulären Ausdrücken bestehen (ähnlich Konkatenation oder auch Kleenesche und positive Hülle), beschrieben werden. Diese Definitionen werden in den Code der Zielsprache eingebettet. Der Compiler wandelt diese zunächst in deterministische endliche Automaten um, minimiert sie und übersetzt sie anschließend in die Zielsprache. Ragel unterstützt eine Vielzahl von Zielsprachen: C, C++, Assemblersprache, D, Go, Java, Ruby und C#. Der Compiler bietet darüber hinaus verschiedene Optionen um den erzeugten Code zu beeinflussen. Zur Umsetzungen der Übergangstabelle kann z. B. ein Array (table-driven) verwendet werden oder die Zustände werden direkt in Programm code übersetzt (control flow driven). Das Herausstellungsmerkmal Ragels ist, dass es erlaubt Code in der Zielsprache mit Zustandsübergängen zu verknüpfen. Dieser wird vom erzeugten Code automatisch ausgeführt, sobald der entsprechende Übergang stattfindet. Ragel bietet dafür eine Vielzahl von Operatoren, die es ermöglichen Code an verschiedene Übergänge anzuhängen. Dies ermöglicht es neben der reinen Verifizierung bzw. Falsifizierung auch zusätzliche Aufgaben (z. B. das Umwandeln von Zahlen im Dezimalformat in eine Binärform) auszuführen. Ragel ermöglicht zudem eine Visualisierung der Übergangstabelle durch Graphviz: (de) Ragel est un compilateur d'automates finis générant ses sorties en code source dans les langages suivants : C, C++, Objective-C, Java, Go et Ruby. Il supporte la génération de machines à états basées sur des tableaux ou sur des structures de contrôle. Ragel permet également de visualiser les machines générées sous forme de graphe par l'utilisation de Graphviz. (fr) Ragel is a finite-state machine compiler and a parser generator. Initially Ragel supported output for C, C++ and Assembly source code, and was expanded to support several other languages including Objective C, D, Go, Ruby, and Java. Additional language support is also in development. It supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation. (en) Ragel — компилятор конечных автоматов, производящий исходный код на C, C++, C#, Objective-C, D, Java, OCaml, Go и Ruby. (ru)
dbo:genre dbr:Finite-state_machine
dbo:latestPreviewDate 2021-02-16 (xsd:date)
dbo:latestPreviewVersion 7.0.4
dbo:latestReleaseDate 2017-03-24 (xsd:date)
dbo:latestReleaseVersion 6.10
dbo:license dbr:MIT_License dbr:GPL_v2
dbo:operatingSystem dbr:Unix-like dbr:Microsoft_Windows
dbo:programmingLanguage dbr:C++
dbo:thumbnail wiki-commons:Special:FilePath/Visualisierung_Ragel.png?width=300
dbo:wikiPageExternalLink https://www.colm.net/open-source/ragel/ http://www.colm.net/open-source/ragel/
dbo:wikiPageID 8052388 (xsd:integer)
dbo:wikiPageLength 5786 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID 1075736548 (xsd:integer)
dbo:wikiPageWikiLink dbr:Ruby_(programming_language) dbc:Pattern_matching dbr:Regular_expression dbr:Umple dbr:Unix-like dbr:Lexical_analysis dbc:Programming_language_implementation dbr:Compiler dbr:Go_(programming_language) dbr:Graphviz dbr:Control_flow dbr:Thompson's_construction dbr:Comparison_of_parser_generators dbr:Table_(information) dbr:C++ dbr:C_(programming_language) dbr:ASCII dbr:D_(programming_language) dbr:Extended_Backus–Naur_form dbr:Regular_language dbr:HFST dbr:Java_(programming_language) dbr:State_diagram dbr:State_machine dbr:Assembly_Language dbc:Free_compilers_and_interpreters dbc:Parser_generators dbr:Microsoft_Windows dbr:Objective_C dbr:MIT_License dbr:Executable_UML dbr:Finite-state_machine dbr:Text_parsing dbr:Parser_generator dbr:GPL_v2 dbr:Input_validation dbr:File:Visualisierung_Ragel.png
dbp:developer Adrian Thurston (en)
dbp:genre dbr:Compiler dbr:Finite-state_machine
dbp:latestPreviewDate 2021-02-16 (xsd:date)
dbp:latestPreviewVersion 7 (xsd:integer)
dbp:latestReleaseDate 2017-03-24 (xsd:date)
dbp:latestReleaseVersion 6.100000 (xsd:double)
dbp:license "Ragel 6 remains under GPL v2 [generated code] covered by the MIT ". (en) Ragel 7: MIT License (en)
dbp:name Ragel (en)
dbp:operatingSystem dbr:Unix-like dbr:Microsoft_Windows
dbp:programmingLanguage dbr:C++
dbp:website http://www.colm.net/open-source/ragel/
dbp:wikiPageUsesTemplate dbt:Commonscatinline dbt:Infobox_software dbt:Portal dbt:Reflist dbt:Start_date_and_age
dbp:wordnet_type http://www.w3.org/2006/03/wn/wn20/instances/synset-software-noun-1
dcterms:subject dbc:Pattern_matching dbc:Programming_language_implementation dbc:Free_compilers_and_interpreters dbc:Parser_generators
gold:hypernym dbr:Compiler
rdf:type owl:Thing dbo:Software schema:CreativeWork dbo:Work wikidata:Q386724 wikidata:Q7397 yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Writing106359877 yago:WrittenCommunication106349220 yago:Software106566077
rdfs:comment Ragel est un compilateur d'automates finis générant ses sorties en code source dans les langages suivants : C, C++, Objective-C, Java, Go et Ruby. Il supporte la génération de machines à états basées sur des tableaux ou sur des structures de contrôle. Ragel permet également de visualiser les machines générées sous forme de graphe par l'utilisation de Graphviz. (fr) Ragel is a finite-state machine compiler and a parser generator. Initially Ragel supported output for C, C++ and Assembly source code, and was expanded to support several other languages including Objective C, D, Go, Ruby, and Java. Additional language support is also in development. It supports the generation of table or control flow driven state machines from regular expressions and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation. (en) Ragel — компилятор конечных автоматов, производящий исходный код на C, C++, C#, Objective-C, D, Java, OCaml, Go и Ruby. (ru) Ragel ist ein von Adrian D. Thurston entwickelter State-Machine Compiler. Er übersetzt Definitionen von Finite-State-Machines (FSM, auch Endlicher Automat genannt) in ausführbaren Programmcode. Dazu können Nichtdeterministische endliche Automaten in der Ragel-eigenen Sprache, deren Operatoren vor allem aus standardisierten regulären Ausdrücken bestehen (ähnlich Konkatenation oder auch Kleenesche und positive Hülle), beschrieben werden. Diese Definitionen werden in den Code der Zielsprache eingebettet. Der Compiler wandelt diese zunächst in deterministische endliche Automaten um, minimiert sie und übersetzt sie anschließend in die Zielsprache. (de)
rdfs:label Ragel (de) Ragel (fr) Ragel (en) Ragel (ru)
owl:sameAs freebase:Ragel wikidata:Ragel dbpedia-de:Ragel dbpedia-fa:Ragel dbpedia-fr:Ragel dbpedia-ru:Ragel https://global.dbpedia.org/id/39h3z
prov:wasDerivedFrom wikipedia-en:Ragel?oldid=1075736548&ns=0
foaf:depiction wiki-commons:Special:FilePath/Visualisierung_Ragel.png
foaf:homepage http://www.colm.net/open-source/ragel/
foaf:isPrimaryTopicOf wikipedia-en:Ragel
foaf:name Ragel (en)
is dbo:wikiPageWikiLink of dbr:Parsing dbr:Pebble_(watch) dbr:Mongrel_(web_server) dbr:Lemon_(parser_generator) dbr:Lex_(software) dbr:Cloudbleed dbr:Comparison_of_parser_generators dbr:Knot_DNS
is foaf:primaryTopic of wikipedia-en:Ragel