Class: Rouge::Lexers::Ada
- Inherits:
-
RegexLexer
- Object
- Rouge::Lexer
- RegexLexer
- Rouge::Lexers::Ada
- Defined in:
- lib/rouge/lexers/ada.rb
Constant Summary collapse
- ID =
Ada identifiers are Unicode with underscores only allowed as separators.
/\b[[:alpha:]](?:\p{Pc}?[[:alnum:]])*\b/
- NUM =
Numerals can also contain underscores.
/\d(_?\d)*/
- XNUM =
/\h(_?\h)*/
- EXP =
/(E[-+]?#{NUM})?/i
Constants inherited from RegexLexer
Constants included from Token::Tokens
Token::Tokens::Num, Token::Tokens::Str
Instance Attribute Summary
Attributes inherited from Rouge::Lexer
Class Method Summary collapse
-
.idents ⇒ Object
Return a hash mapping lower-case identifiers to token classes.
Methods inherited from RegexLexer
append, #delegate, #goto, #group, #groups, #in_state?, #pop!, prepend, #push, #recurse, replace_state, #reset!, #reset_stack, #stack, start, start_procs, state, #state, #state?, state_definitions, states, #step, #stream_tokens, #token
Methods inherited from Rouge::Lexer
aliases, all, #as_bool, #as_lexer, #as_list, #as_string, #as_token, #bool_option, continue_lex, #continue_lex, debug_enabled?, demo, demo_file, desc, detect?, detectable?, disable_debug!, enable_debug!, filenames, find, find_fancy, guess, guess_by_filename, guess_by_mimetype, guess_by_source, guesses, #hash_option, #initialize, lex, #lex, #lexer_option, #list_option, lookup_fancy, mimetypes, option, option_docs, #reset!, #stream_tokens, #string_option, tag, #tag, title, #token_option, #with
Methods included from Token::Tokens
Constructor Details
This class inherits a constructor from Rouge::Lexer
Class Method Details
.idents ⇒ Object
Return a hash mapping lower-case identifiers to token classes.
23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/rouge/lexers/ada.rb', line 23 def self.idents @idents ||= Hash.new(Name).tap do |h| %w( abort abstract accept access aliased all array at begin body case constant declare delay delta digits do else elsif end exception exit for generic goto if in interface is limited loop new null of others out overriding pragma private protected raise range record renames requeue return reverse select separate some synchronized tagged task terminate then until use when while with ).each {|w| h[w] = Keyword} %w(abs and mod not or rem xor).each {|w| h[w] = Operator::Word} %w( entry function package procedure subtype type ).each {|w| h[w] = Keyword::Declaration} %w( boolean character constraint_error duration float integer natural positive long_float long_integer long_long_float long_long_integer program_error short_float short_integer short_short_integer storage_error string tasking_error wide_character wide_string wide_wide_character wide_wide_string ).each {|w| h[w] = Name::Builtin} end end |