Crossroads The ACM Magazine for Students

Sign In

Association for Computing Machinery

Articles Tagged: Processors

Articles & Features

The well-programmed clavier

SECTION: Features

The well-programmed clavier

A look into the workings of the Emmy and Emily Howell programs, including musical examples with pointers to where they can be heard as well as seen.

By David Cope, June 2013

PDF | HTML | In the Digital Library | In the Digital Edition
Tags: Processors, Sound and Music Computing


By Justin Solomon, September 2008

PDF | HTML | In the Digital Library | In the Digital Edition
Tags: General, Processors

Why bison is becoming extinct

At some point in your career, you're going to implement a computer language. You probably won't be implementing Java or C++. You may not even recognize it as a language. Truth be told, there are an awful lot of domain-specific languages, or "little languages" [7] in common use: ¿ configuration files, ¿ HTML/XML documents, ¿ shell scripts, ¿ network protocols, ¿ mail headers, ¿ command-line arguments. The list goes on. A number of programs allow you to write scripts to control their operation; infact, just the other day I downloaded a neural network simulator which provided a little programming language to steer the simulation.How will you implement your language? There's the ad hoc approach, of course, but it's not well suited to languages whose design is complex or frequently changing. You also end up writing code to perform tasks which can be effectively automated.You might also consider using existing languages like Tcl [18] and Python [6]. These languages are designed to either be embedded in an existing application, or easily extended. This is a good solution when it can be used, saving a lot of time and effort. However, there may be concerns about tying your language to one which is itself changing, or the syntax and semantics of your language may not match those of such a "host" language.A third approach is to use compiler tools to implement your language. Most were designed for the implementation of large programming languages, but the same principles and techniques apply equally well to little languages. This article is the story of one such tool -- a parser generator tool -- and more importantly, what sort of tool is going to replace it, and why.

By John Aycock, July 2001

PDF | HTML | In the Digital Library | In the Digital Edition
Tags: Algorithms, Coding Tools and Techniques, Design, Languages, Processors

Protecting Java code via code obfuscation

The Java language is compiled into a platform independent bytecode format. Much of the information contained in the original source code remains in the bytecode, thus decompilation is easy. We will examine how code obfuscation can help protect Java bytecodes.

By Douglas Low, April 1998

PDF | HTML | In the Digital Library | In the Digital Edition
Tags: Design, Java, Languages, Performance, Processors, Theory