Solidity Parsing Using SmaCC: Challenges and Irregularities
Autor: | Stéphane Ducasse, Henrique Rocha, Marcus Denker, Jason Lecerf |
---|---|
Přispěvatelé: | Analyses and Languages Constructs for Object-Oriented Application Evolution (RMOD), Inria Lille - Nord Europe, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Centre de Recherche en Informatique, Signal et Automatique de Lille - UMR 9189 (CRIStAL), Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS)-Centrale Lille-Université de Lille-Centre National de la Recherche Scientifique (CNRS), Laboratoire d'Intégration des Systèmes et des Technologies (LIST (CEA)), Direction de Recherche Technologique (CEA) (DRT (CEA)), Commissariat à l'énergie atomique et aux énergies alternatives (CEA)-Commissariat à l'énergie atomique et aux énergies alternatives (CEA), pharo, Laboratoire d'Intégration des Systèmes et des Technologies (LIST) |
Jazyk: | angličtina |
Rok vydání: | 2017 |
Předmět: |
0301 basic medicine
Parsing [INFO.INFO-PL]Computer Science [cs]/Programming Languages [cs.PL] Grammar Computer science Programming language Solidity media_common.quotation_subject 020206 networking & telecommunications 02 engineering and technology computer.software_genre SmaCC Popularity Parser 03 medical and health sciences Ethereum 030104 developmental biology TheoryofComputation_MATHEMATICALLOGICANDFORMALLANGUAGES Blockchain Rule-based machine translation 0202 electrical engineering electronic engineering information engineering Pharo computer media_common |
Zdroj: | Proceedings of the 12th Edition of the International Workshop on Smalltalk Technologies Proceedings of the 12th Edition of the International Workshop on Smalltalk Technologies, Sep 2017, Maribor, Slovenia. pp.2:1--2:9, ⟨10.1145/3139903.3139906⟩ IWST |
DOI: | 10.1145/3139903.3139906⟩ |
Popis: | International audience; Solidity is a language used to implement smart contracts on a blockchain platform. Since its initial conception in 2014, Solidity has evolved into one of the major languages for the Ethereum platform as well as other blockchain technologies. Due to its popularity, there are many tools specifically designed to handle smart contracts written in Solidity. However , there is a lack of tools for Pharo to handle Solidity contracts. Therefore, we implemented a parser using SmaCC to serve as a base for further developing Solidity support in Pharo. In this paper we describe the parser creation, the irregularities we found in the Solidity grammar specification, and common practices on how to adapt the grammar to an LR type parser. Our experiences with parsing the Solidity language using SmaCC may help other developers trying to convert similar grammars. |
Databáze: | OpenAIRE |
Externí odkaz: |