Entradas

Mostrando entradas de abril, 2020

Lin Clark on WebAssembly

Today I will talk about the podcast “Lin Clark on WebAssembly” by Software Engineering Radio in the year 2018. First they started the interview asking Lin Clark about her life, what she did and what she is actually working on. Then she started talking about WebAssembly, and how it is faster than javascript because this was not created to be so. That’s why WebAssembly optimizes the efficiency of JS when running on browsers.  She said that the original use case of WebAssembly was visualization, but now is being used in other use cases. This language it's not an assembly language because it is targeting a conceptual machine, it’s a compiler target. So we write in a language that compiles to WebAssembly. When using it most people use C/C++ or Rust, those languages are way more subtle to it because they don't have garbash support and using another language will mean writing a garbage collector which I don’t think anyone will want, not even the interviewer. Something that I did

Building Server-Side Web Language Processors

Today I will talk about the article “Building Server-Side Web Language Processors” by Ariel Ortiz. The main topic of this paper is to consider a web approach to compilers design teaching method. First the author introduces todays process of teaching this course, in which students are able to create a very small but yet fully functional compiler at the end of the semester, which the author considers that there is a lot of subjects and concepts left to teach, to solve this Ariel suggests a web-based architecture compiler for this course to be teached. Despite the advantages this course can have by implementing a web approach, the author creates that many of the students by the time they graduate, will become web developers, so this way of teaching compilers design will help students also to understand the web architecture of an application. This concept is basically to have a server that, by establishing rules and apis in order to make the web-based language useful enough, is able

Ruby and the Interpreter Pattern

Today I will talk about the article titled: “Language Design and Implementation using Ruby and the Interpreter Pattern”  by our professor Ariel Ortiz. The article talks about an implementation he made to evaluate different LISP expressions that are given as strings using a framework called S-Expression Interpreter Framework, and gives some examples with Ruby code to demonstrate how it works. The principle for the interpreter pattern is that it's easier to solve some problems by creating a specialized language to understand it, and then express the results in that same language. This is all involved in both the syntactic, but more importantly the semantic analysis of compilers (the phase we are currently working in in our project). It involves a data structure that is called Abstract Syntax Tree (AST Tree), where the different operands and hierarchy of functions are organized in order to create a logic and order to the thinking and executing processes of the machine. After the