From 1c1a826513432ac93f02e855cb8c83c0ed574fa7 Mon Sep 17 00:00:00 2001 From: Brian Shu Date: Wed, 4 Aug 2021 19:23:41 -0400 Subject: [PATCH 1/3] added lua support --- lib/kernel/comby_kernel.mli | 2 ++ lib/kernel/matchers/engine.ml | 1 + lib/kernel/matchers/languages.ml | 25 +++++++++++++++++++++++++ lib/kernel/matchers/languages.mli | 1 + lib/kernel/matchers/types.ml | 1 + test/common/dune | 1 + 6 files changed, 31 insertions(+) diff --git a/lib/kernel/comby_kernel.mli b/lib/kernel/comby_kernel.mli index 4c5f7f7a..9a68e15f 100644 --- a/lib/kernel/comby_kernel.mli +++ b/lib/kernel/comby_kernel.mli @@ -653,6 +653,7 @@ module Matchers : sig module Fsharp : Language.S module Pascal : Language.S module Julia : Language.S + module Lua : Language.S module Fortran : Language.S module Haskell : Language.S module HCL : Language.S @@ -716,6 +717,7 @@ module Matchers : sig module Fsharp : Matcher.S module Pascal : Matcher.S module Julia : Matcher.S + module Lua : Matcher.S module Fortran : Matcher.S module Haskell : Matcher.S module HCL : Matcher.S diff --git a/lib/kernel/matchers/engine.ml b/lib/kernel/matchers/engine.ml index e7aa406f..4b437d8f 100644 --- a/lib/kernel/matchers/engine.ml +++ b/lib/kernel/matchers/engine.ml @@ -78,6 +78,7 @@ module Make (Make : Types.Language.S -> Types.Metasyntax.S -> Types.External.S - module Fsharp = Make (Fsharp) (Metasyntax.Default) (External.Default) module Pascal = Make (Pascal) (Metasyntax.Default) (External.Default) module Julia = Make (Julia) (Metasyntax.Default) (External.Default) + module Lua = Make (Lua) (Metasyntax.Default) (External.Default) module Fortran = Make (Fortran) (Metasyntax.Default) (External.Default) module Haskell = Make (Haskell) (Metasyntax.Default) (External.Default) module HCL = Make (HCL) (Metasyntax.Default) (External.Default) diff --git a/lib/kernel/matchers/languages.ml b/lib/kernel/matchers/languages.ml index 3ec462a2..bf6eb9bb 100644 --- a/lib/kernel/matchers/languages.ml +++ b/lib/kernel/matchers/languages.ml @@ -789,6 +789,31 @@ module Julia = struct end end +module Lua = struct + module Info = struct + let name = "Lua" + let extensions = [".lua"] + end + + module Syntax = struct + include Generic.Syntax + + let user_defined_delimiters = + Generic.Syntax.user_defined_delimiters + @ + [ "if", "end" + ; "for", "end" + ; "function", "end" + ; "do", "end" + ; "while", "end" + ; "until", "end" + ] + let comments = + [ Until_newline "--" + ] + end +end + module Matlab = struct module Info = struct let name = "MATLAB" diff --git a/lib/kernel/matchers/languages.mli b/lib/kernel/matchers/languages.mli index c6237381..4de14076 100644 --- a/lib/kernel/matchers/languages.mli +++ b/lib/kernel/matchers/languages.mli @@ -43,6 +43,7 @@ module Reason : Language.S module Fsharp : Language.S module Pascal : Language.S module Julia : Language.S +module Lua : Language.S module Fortran : Language.S module HCL : Language.S module Haskell : Language.S diff --git a/lib/kernel/matchers/types.ml b/lib/kernel/matchers/types.ml index 0f67d003..f2cf0600 100644 --- a/lib/kernel/matchers/types.ml +++ b/lib/kernel/matchers/types.ml @@ -288,6 +288,7 @@ module Engine = struct module Fsharp : Matcher.S module Pascal : Matcher.S module Julia : Matcher.S + module Lua : Matcher.S module Fortran : Matcher.S module Haskell : Matcher.S module HCL : Matcher.S diff --git a/test/common/dune b/test/common/dune index aa83b0c7..7c037390 100644 --- a/test/common/dune +++ b/test/common/dune @@ -25,6 +25,7 @@ test_c_style_comments test_nested_comments test_c + test_lua test_bash test_go test_c_separators From dd7557db43cb56bfb259b8b1bc69c7ccecdc3320 Mon Sep 17 00:00:00 2001 From: Brian Shu Date: Wed, 4 Aug 2021 19:37:13 -0400 Subject: [PATCH 2/3] updated test --- lib/kernel/matchers/engine.ml | 1 + test/common/test_cli_list.ml | 1 + 2 files changed, 2 insertions(+) diff --git a/lib/kernel/matchers/engine.ml b/lib/kernel/matchers/engine.ml index 4b437d8f..1ccf11c5 100644 --- a/lib/kernel/matchers/engine.ml +++ b/lib/kernel/matchers/engine.ml @@ -116,6 +116,7 @@ module Make (Make : Types.Language.S -> Types.Metasyntax.S -> Types.External.S - ; (module GraphQL) ; (module Dhall) ; (module Julia) + ; (module Lua) ; (module Kotlin) ; (module Latex) ; (module Lisp) diff --git a/test/common/test_cli_list.ml b/test/common/test_cli_list.ml index 5a7971e5..62ec846a 100644 --- a/test/common/test_cli_list.ml +++ b/test/common/test_cli_list.ml @@ -32,6 +32,7 @@ let%expect_test "list_languages" = -matcher .gql GraphQL -matcher .dhall Dhall -matcher .jl Julia + -matcher .lua Lua -matcher .kt Kotlin -matcher .tex LaTeX -matcher .lisp Lisp From 3223f1907c865af69aa0d98d302393bb09dfc718 Mon Sep 17 00:00:00 2001 From: Brian Shu Date: Wed, 4 Aug 2021 19:41:15 -0400 Subject: [PATCH 3/3] remove test for now --- test/common/dune | 1 - 1 file changed, 1 deletion(-) diff --git a/test/common/dune b/test/common/dune index 7c037390..aa83b0c7 100644 --- a/test/common/dune +++ b/test/common/dune @@ -25,7 +25,6 @@ test_c_style_comments test_nested_comments test_c - test_lua test_bash test_go test_c_separators