rf-web/vendor/bundle/gems/rouge-3.12.0/lib/rouge/lexers/lutin.rb

34 lines
860 B
Ruby
Raw Normal View History

2019-10-21 08:18:17 +00:00
# -*- 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