Introducing ntt. Modern tools for TTCN-3

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.

Simon, Matthias (Nokia - DE/Ulm) matthias.simon at nokia.com
Mon Feb 22 12:07:03 UTC 2021


> looks interesting, what benefits would I get from using ntt in vim?
Tags files are simple and simple is good. So, you could use just the `ntt tags` command for native TTCN-3 support. This should help you with the templates.

Tags files have one small drawback, though: They lack scope information (local definitions) and TTCN-3 semantics (ambiguous symbols). But if this really justifies a fancy pants language server, depends on how easy the server is to set up and how mature ntt becomes.

So currently you don't get that many benefits. But, I expect the benefits of the TTCN-3 language server will play out in the late game:
* when more features will be integrated into ntt. Like automatic formatting, semantically correct renaming, semantic highlighting, code-smell detection, ...
* when third party software (ctags, highlight.js, ttcn3.vim, ...) requires updates due to new TTCN-3 language features, like map-types, object oriented extension, ...

> In your logo, is that a squirrel?
This is when you ask software engineer to design a logo (https://ahseeit.com//king-include/uploads/2020/12/building-ask-network-engineer-design-frontend-fbyuvakrishnamemes-4688096727.jpg)
It's based on the Go mascot (https://golang.org), because I like Go and ntt is written in it.

Cheers,
Matthias







________________________________________
From: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Sent: Monday, February 22, 2021 11:58 AM
To: Simon, Matthias (Nokia - DE/Ulm)
Cc: openbsc at lists.osmocom.org
Subject: Re: Introducing ntt. Modern tools for TTCN-3

On Thu, Feb 18, 2021 at 01:25:39PM +0000, Simon, Matthias (Nokia - DE/Ulm) wrote:
>       $ ntt tags ./osmo-ttcn3-hacks/bts >TAGS

I use universal-ctags (a spin-off from exuberant-ctags) to produce TTCN3 tags.
However, it misses many template/function definitions that have keywords like
optional, present etc. in them, so half the time my tag jump doesn't work.

> But the most interesting piece is probably the TTCN-3 language server: ntt implements the
> language server protocol. This makes ntt a universal TTCN-3 language plugin for
> virtually any editor or IDE [2].

I use a ttcn.vim syntax file I found somewhere, the header says:
        Maintainer:   Stefan Karlsson <stefan.74 at comhem.se>
It works well.

Never heard of the "language server protocol". All i really need is syntax
highlighting and tags. Otherwise I always use vim's ctrl-p and ctrl-n for auto
completion (and tags to look up argument ordering).

The vim config example on
> [2] https://nokia.github.io/ntt/editors/
looks interesting, what benefits would I get from using ntt in vim?

In your logo, is that a squirrel?

~N



More information about the OpenBSC mailing list