翻訳と辞書
Words near each other
・ Rage of the Gladiator
・ Rage of the Rakasta
・ Rage of the Yeti
・ Rage On
・ Rage Over a Lost Penny
・ Rage Racer
・ Rage Software
・ Rage syndrome
・ Rage to Love
・ Rage Valley
・ Rageade
・ Rageaholic
・ Rageh Daoud
・ Rageh Kan
・ Rageh Omaar
Ragel
・ Ragen's Colts
・ Ragenar
・ Ragenfrid
・ Ragenold of Neustria
・ Ragesh Asthana
・ Rageshree
・ Ragfish
・ Ragga
・ Ragga Bomb
・ Ragga hip hop
・ Ragga jungle
・ Ragga Twins
・ Raggadeath
・ Raggae Moon


Dictionary Lists
翻訳と辞書 辞書検索 [ 開発暫定版 ]
スポンサード リンク

Ragel : ウィキペディア英語版
Ragel

Ragel is a finite-state machine compiler with output support for C, C++, C#, Objective-C, D, Java, OCaml, Go, and Ruby source code.〔
Adrian D. Thurston. "(Parsing Computer Languages with an Automaton Compiled from a Single Regular Expression. )" In: ''11th International Conference on Implementation and Application of Automata (CIAA 2006), Lecture Notes in Computer Science, volume 4094'', p. 285-286, Taipei, Taiwan, August 2006.〕 It supports the generation of table or control flow driven state machines from regular expressions〔Liqun Chen, Chris J. Mitchell, Andrew Martin (2009) ''Trusted Computing: Second International Conference, Trust 2009 Oxford, UK, April 6-8, 2009, Proceedings''. p. 111〕 and/or state charts and can also build lexical analysers via the longest-match method. Ragel specifically targets text parsing and input validation.〔Omar Badreddin (2010) "Umple: a model-oriented programming language." ''Software Engineering, 2010 ACM/IEEE 32nd International Conference on. Vol. 2''. IEEE, 2010.〕
== Overview ==
Ragel 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.
A unique feature of Ragel is that user actions can be associated with arbitrary state machine transitions using operators that are integrated into the regular expressions. Ragel also supports visualization of the generated machine via graphviz.

File:Ragel visualisation.png
The graph represents a state-machine that takes user input as a series of bytes representing ASCII characters and control codes. 48..57 is equivalent to the regular expression () (i.e. any digit), so only sequences beginning with a digit can be recognised. If 10 (line feed) is encountered, we're done. 46 is the decimal point ('.'), 43 and 45 are positive and negative signs ('+', '-') and 69/101 is uppercase/lowercase 'e' (to indicate a number in scientific format). As such it will recognize the following properly:
2
45
055
46.
78.1
2e5
78.3e12
69.0e-3
3e+3

but not:
.3
-5
3.e2
2e5.1


抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)
ウィキペディアで「Ragel」の詳細全文を読む



スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース

Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.