Sha256: 061d13d0f8ccb2aa7971cb267ec53c1e1e6ca3d148ce6bdb25587022fee268b2

Contents?: true

Size: 860 Bytes

Versions: 38

Compression:

Stored size: 860 Bytes

Contents

# -*- coding: utf-8 -*- #
# frozen_string_literal: true
#
# adapted from lustre.rf (adapted from ocaml.rb), hence some ocaml-ism migth remains
module Rouge
  module Lexers
    load_lexer 'lustre.rb'

    class Lutin < Lustre
      title "Lutin"
      desc 'The Lutin programming language (Verimag)'
      tag 'lutin'
      filenames '*.lut'
      mimetypes 'text/x-lutin'

      def self.keywords
        @keywords ||= Set.new %w(
          let in node extern system returns weak strong assert raise try catch
          trap do exist erun run type ref exception include false true 
        )
      end

      def self.word_operators
        @word_operators ||= Set.new %w(
           div and xor mod or not nor if then else pre) 
      end

      def self.primitives
        @primitives ||= Set.new %w(int real bool trace loop fby)
      end
    end
  end
end

Version data entries

38 entries across 38 versions & 2 rubygems

Version Path
rouge-3.26.0 lib/rouge/lexers/lutin.rb
rouge-3.25.0 lib/rouge/lexers/lutin.rb
rouge-3.24.0 lib/rouge/lexers/lutin.rb
rouge-3.23.0 lib/rouge/lexers/lutin.rb
rouge-3.22.0 lib/rouge/lexers/lutin.rb
rouge-3.21.0 lib/rouge/lexers/lutin.rb
rouge-3.20.0 lib/rouge/lexers/lutin.rb
rouge-3.19.0 lib/rouge/lexers/lutin.rb
rouge-3.18.0 lib/rouge/lexers/lutin.rb
rouge-3.17.0 lib/rouge/lexers/lutin.rb
rouge-3.16.0 lib/rouge/lexers/lutin.rb
rouge-3.15.0 lib/rouge/lexers/lutin.rb
rouge-3.14.0 lib/rouge/lexers/lutin.rb
rouge-3.13.0 lib/rouge/lexers/lutin.rb
rouge-3.12.0 lib/rouge/lexers/lutin.rb
rouge-3.11.1 lib/rouge/lexers/lutin.rb
rouge-3.11.0 lib/rouge/lexers/lutin.rb
rouge-3.10.0 lib/rouge/lexers/lutin.rb