What parsing techniques do you use to support a good language server?

This page summarizes the projects mentioned and recommended in the original post on /r/ProgrammingLanguages

InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • TypeScript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

    The situation I want to avoid is one which I've encountered in some hobby languages that I've tried, which is that any syntax error anywhere in the file causes the entire file to red squiggly. IMO, this is worse than nothing at all. TypeScript handles this problem very well; you can have multiple syntax errors in different places in the file, and each of them will report errors at a local scope. (I assume this has to do with balancing brackets, because unbalanced parenthesis seem like the easiest way to cause non-local syntax errors.) Problem is, at 9.5k lines of imperative code, trying to read the TypeScript parser hasn't made anything click for me.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • bangalang

    I made a toy language awhile back that might help. It's mostly based on the "crafting interpreters" series but more functional (with types). There's a simple language server as well as a debugger. It's all in typescript. Github repo

  • V8

    The official mirror of the V8 Git repository

    It must be a fairly large echo chamber since it has room for Clang, GCC, V8, OpenJDK, Roslyn, etc. (The Zend parser for PHP seems to use some flavor of YACC, but given PHP, I don't know if that strengthens or weakens my point.)

  • JDK

    JDK main-line development https://openjdk.org/projects/jdk

    It must be a fairly large echo chamber since it has room for Clang, GCC, V8, OpenJDK, Roslyn, etc. (The Zend parser for PHP seems to use some flavor of YACC, but given PHP, I don't know if that strengthens or weakens my point.)

  • Roslyn

    The Roslyn .NET compiler provides C# and Visual Basic languages with rich code analysis APIs.

    It must be a fairly large echo chamber since it has room for Clang, GCC, V8, OpenJDK, Roslyn, etc. (The Zend parser for PHP seems to use some flavor of YACC, but given PHP, I don't know if that strengthens or weakens my point.)

  • rust

    Empowering everyone to build reliable and efficient software.

    OK, here's Rust (written in Rust), Go (written in Go), TypeScript (written in TypeScript), Dart (written in Dart), Julia (written in Scheme!).

  • go

    The Go programming language

    OK, here's Rust (written in Rust), Go (written in Go), TypeScript (written in TypeScript), Dart (written in Dart), Julia (written in Scheme!).

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • sdk

    The Dart SDK, including the VM, dart2js, core libraries, and more.

    OK, here's Rust (written in Rust), Go (written in Go), TypeScript (written in TypeScript), Dart (written in Dart), Julia (written in Scheme!).

  • julia

    The Julia Programming Language

    OK, here's Rust (written in Rust), Go (written in Go), TypeScript (written in TypeScript), Dart (written in Dart), Julia (written in Scheme!).

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Boehm Garbage Collector

    9 projects | news.ycombinator.com | 21 Jan 2024
  • Rock v0.2.1, a little native toy language I've made with Rust and LLVM.

    3 projects | /r/ProgrammingLanguages | 20 Apr 2022
  • Designing a Rust -> Rust plugin system

    4 projects | /r/rust | 24 Jan 2022
  • Are Dynamic Languages Going to Replace Static Languages? (2003)

    7 projects | news.ycombinator.com | 4 Aug 2021
  • The Top Programming Languages to Learn in 2024

    7 projects | dev.to | 24 Jun 2024

Did you konow that TypeScript is
the 2nd most popular programming language
based on number of metions?