Grammars, ASTs, Linters, and Solhint Plugins
Solidity has become the de-facto standard language of smart contract programming, although this has been challenged over the years with various other languages such as Vyper. The EVM, itself being a unique target with it’s concepts of “gas” and other various builtins, has been very successful as a smart contract programming environment, and to this day still dominates the space of smart contract blockchains, though new paradigms such as Cosmos chains have mounted a valiant challenge.