What is Lua? Brandon Burgess Csc 415.

Slides:



Advertisements
Similar presentations
Improving Rotor for Dynamically Typed Languages Fabio Mascarenhas and Roberto Ierusalimschy.
Advertisements

Programming Languages and Paradigms The C Programming Language.
Java Script Session1 INTRODUCTION.
Getting started with ML ML is a functional programming language. ML is statically typed: The types of literals, values, expressions and functions in a.
Lua By: Michael Coffman Peter Sussman. History Lua means ‘moon’ in Portuguese First appeared in 1993 Created by Roberto Ierusalimschy, Luiz Henrique de.
Top-Down Design CSC 161: The Art of Programming Prof. Henry Kautz 9/16/2009.
PHP Functions and Control Structures. 2 Defining Functions Functions are groups of statements that you can execute as a single unit Function definitions.
Chapter 9 Subprogram Control Consider program as a tree- –Each parent calls (transfers control to) child –Parent resumes when child completes –Copy rule.
Python: a modern hybrid A language for scripting and prototyping Balance between extensibility and powerful built-in data structures genealogy: –Setl (NYU,
Principles of Object-Oriented Software Development The language Java.
Grouping Objects 2 Collections and the for-each loop Collections and the while loop.
Squirrel Programming Language By Nandini Bhatta CS537 Summer 2008.
1 Run time vs. Compile time The compiler must generate code to handle issues that arise at run time Representation of various data types Procedure linkage.
Programming Concepts MIT - AITI. Variables l A variable is a name associated with a piece of data l Variables allow you to store and manipulate data in.
Lua Matthew Spain | Kerry Zhao. Agenda Overview of Lua Language Details Application Areas Demo Conclusion.
Copyright © 2003 ProsoftTraining. All rights reserved. Sun Certified Java Programmer Exam Preparation Guide.
Python quick start guide
CSE 380 – Computer Game Programming Scripting and Lua Lua.
3.1 Documentation & Java Language Elements Purpose of documentation Assist the programmer with developing the program Assist other programers who.
Adapted from Prof. Necula UCB CS 1641 Overview of COOL ICOM 4029 Lecture 2 ICOM 4029 Fall 2008.
ASP.NET Programming with C# and SQL Server First Edition Chapter 3 Using Functions, Methods, and Control Structures.
Programming Language C++ Xulong Peng CSC415 Programming Languages.
1 Object Oriented Programming Lecture IX Some notes on Java Performance with aspects on execution time and memory consumption.
Lua: The Programming Language. Some Things that Need to be Said Because of increasing demand for customizable applications, the trend nowadays is to split.
Interpretation Environments and Evaluation. CS 354 Spring Translation Stages Lexical analysis (scanning) Parsing –Recognizing –Building parse tree.
PHP Programming with MySQL Slide 4-1 CHAPTER 4 Functions and Control Structures.
Copyright © 2010 Certification Partners, LLC -- All Rights Reserved Perl Specialist.
C# EMILEE KING. HISTORY OF C# In the late 1990’s Microsoft recognized the need to be able to develop applications that can run on multiple operating system.
Games Development 2 Lua Scripting CO3301 Week 6. Contents Introducing Lua –Comparison with Python Lua Language Overview Interfacing Lua with C++
Fantasy && Smart 吴航.  Some concepts  Differences between Lua & C++  Application.
Java Programming The Language of Now & the Future* Lecture 0 An Introduction to Java Syntax for Non-C Programmers John Morris Department of Electrical.
Copyright © 2003 ProsoftTraining. All rights reserved. Perl Fundamentals.
More Lua. Expressions Arithmetic operators */-+ “real” numbers only ^ exponentiation a%b == a - floor(a/b)*b x%1 gives fractional part, x-x%1 integer.
RUBY by Ryan Chase.
Loops & List Intro2CS – week 3 1. Loops -- Motivation Sometimes we want to repeat a certain set of instructions more than once. The number of repetitions.
Midterm Review Important control structures Functions Loops Conditionals Important things to review Binary Boolean operators (and, or, not) Libraries (import.
Language Find the latest version of this document at
2: Basics Basics Programming C# © 2003 DevelopMentor, Inc. 12/1/2003.
C Language 1 Program Looping. C Language2 Topics Program looping Program looping Relational operators / expressions Relational operators / expressions.
Ada, Scheme, R Emory Wingard. Ada History Department of Defense in search of high level language around Requirements drafted for the language.
Dr. Abdullah Almutairi Spring PHP is a server scripting language, and a powerful tool for making dynamic and interactive Web pages. PHP is a widely-used,
JavaScript, Sixth Edition
Lua for TerraME: A Short Introduction Pedro Ribeiro de Andrade Münster, 2013.
Prepared by Mustafa CAMURLI.  Lua was created in 1993 by Roberto Ierusalimschy, Luiz Henrique de Figueiredo, and Waldemar Celes, members of the Computer.
Lua for TerraME: A Short Introduction Pedro Ribeiro de Andrade São José dos Campos, 2011.
Cody Scoggins, Dion de Jong, Victor Reynolds References:  902/is-lua-interesting-from-a- programming-language-design-
CS314 – Section 5 Recitation 9
CS170 – Week 1 Lecture 3: Foundation Ismail abumuhfouz.
Welcome to Computer Science Jeopardy
بسم الله الرحمن الرحیم.
Lua for TerraME: A Short Introduction
Implementing Chares in a High-Level Scripting Language
.NET and .NET Core 9. Towards Higher Order Pan Wuming 2017.
Arrays, For loop While loop Do while loop
Chapter (3) - Looping Questions.
Tonga Institute of Higher Education
Computer Science Core Concepts
Console.WriteLine(“Good luck!”);
(more) Python.
CISC101 Reminders Assignment 2 due today.
JavaScript CS 4640 Programming Languages for Web Applications
Introduction to Programming
ICOM 4029 Fall 2003 Lecture 2 (Adapted from Prof. Necula UCB CS 164)
Repetition Structures
The Lua Chunk Vault, an enhancement to epics base
CSE 3302 Programming Languages
Web Programming and Design
Python Basics. Topics Features How does Python work Basic Features I/O in Python Operators Control Statements Function/Scope of variables OOP Concepts.
JavaScript CS 4640 Programming Languages for Web Applications
Presentation transcript:

What is Lua? Brandon Burgess Csc 415

Conception Lua was created and is maintained in Brazil Created by a small committee at PUC-Rio’s TecGraf The brainchild of three men’s experience with creating languages In 1993 DEL and Sol were combined to create Lua

Early Years Version 1 - Graphic Metafiles, just-in-time compiler, compiler speed (1994) Version 2 - Extensible extensive language(fall backs) (1995) International Exposure and V3 – Games and Tags (1996-2000) Version 4 – API change (state issues) and For Loops (2000)

Names, Bindings, and Scopes Keywords (false, nil, return) Lua C API, Basic Lua Api (Lua.h), Auxilary library (lauxlib.h) Global or Local local x = 5 local function f() print (x) end f() Prints 5 x = 6 f() Prints 6

Data Types Dynamically Typed Boolean, Number, String, Nil, Function, Userdata, Thread, and Table. Can call functions based in C Objects (table, function, thread, and userdata)

Assignments Blocks and Chunks Comma Separated Assignments( a, b = 10, 2*x) Discarding Excess, Filling with Nil. A=6 A, B = A+2, A  B still equals 6 before A changes to 8

Control Structures While  while exp do block end Repeat  repeat block until exp If  if exp then block {else if} [else] end Numeric For  for name = exp , exp [, exp] do block end Generic For  for namelist in explist do block end

Expressions Supported Operators And and OR ( 10 or 20) vs (10 and 20) Table Constructors a = { [f(1)] = g, “x”, “y”, [20] = 5 }

Object Oriented Tables are All Unique Inheritance (_index) Tablesception Function Table:new (o) O = O or { } setmetatable(o, self) Self._index = self Return O End A = Table:new

Concurrency Coroutines Create Execute Yield Resume

Garbage Collection Mark and Sweep