• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 5
  • 3
  • Tagged with
  • 10
  • 10
  • 5
  • 5
  • 5
  • 4
  • 4
  • 3
  • 3
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
1

Code optimization and detection of script conflicts in video games

Yang, Yi. January 2009 (has links)
Thesis (M. Sc.)--University of Alberta, 2009. / Title from PDF file main screen (viewed on Sept. 8, 2009). "A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the degree of Master of Science, Department of Computing Science, University of Alberta." Includes bibliographical references.
2

Using Describers to simplify ScriptEase

Desai, Neesha. January 2009 (has links)
Thesis (M. Sc.)--University of Alberta, 2009. / Title from PDF file main screen (viewed on Oct. 2, 2009). "A thesis submitted to the Faculty of Graduate Studies and Research in partial fulfillment of the requirements for the degree of Master of Science, Department of Computing Science, University of Alberta." Includes bibliographical references.
3

[en] CONVERTING REGEXES TO PEGS / [pt] CONVERSÃO DE REGEXES PARA PARSING EXPRESSION GRAMMARS

MARCELO OIKAWA 28 January 2011 (has links)
[pt] Expressões regulares são um formalismo utilizado para descrever linguagens regulares e compõem a base de diversas bibliotecas de casamento de padrão. No entanto, existem determinados padrões úteis que são complexos ou impossíveis de serem descritos com expressões regulares puras. Devido a essas limitações, linguagens de script modernas disponibilizam bibliotecas de casamento de padrões baseadas em regexes, isto é, extensões de expressões regulares compostas, principalmente, por construções ad-hoc que focam em problemas específicos. Apesar de serem muito úteis na prática, os regexes possuem implementações complexas e distantes do formalismo original de expressões regulares. Parsing Expression Grammars (PEG) são uma alternativa formal para reconhecer padrões e possuem mais expressividade que expressões regulares sem necessitar de contruções ad-hoc. O objetivo deste trabalho é estudar formas de conversão de regexes para PEGs. Para isso, estudamos as implementações atuais de regexes e mostramos a conversão de algumas construções para PEGs. Por fim, apresentamos uma implementação da conversão de regexes para PEGs para a linguagem Lua. / [en] Regular expressions are a formalism used to describe regular languages and form the basis of several pattern-matching libraries. However, many interesting patterns either are difficult to describe or cannot be described by pure regular expressions. Because of these limitations, modern scripting languages have pattern matching libraries based on regexes, ie, extensions of regular expressions mainly composed by a set of ad-hoc constructions that focus on specific problems. Although very useful in practice, these implementations are complex and distant from the original formalism of regular expressions. Parsing Expression Grammars (PEG) are a formal alternative to recognize patterns and it is much more expressive than pure regular expressions and does not need use ad-hoc constructions. The goal of this work is to study the convertion of regexes to PEGs. To accomplish this task, we studied the current implementations of regexes and show how to convert some constructions to PEGs. Finally, we present an implementation that convert regexes to PEGs for the Lua language.
4

Qualitative Analysis of the Usability of Three Contemporary Scripting Languages: Perl, Python and Tcl.

Wang, Lingyun 01 August 2001 (has links) (PDF)
The subject of this thesis is a qualitative analysis of the usability of three contemporary programming languages: Perl, Python, and Tcl. The relative usability of these languages was assessed by implementing two representative applications — a paint program and a chat program — in all three languages; using PSP to collect data on program development; and then comparing development times, defect counts, and defect fix times. Overall, Python was the easiest of the three languages to use, especially for new users. Perl is the hardest, and Tcl is somewhere between. Specifically, Perl's basic language constructs are the hardest to learn and to use. Python's are the easiest. Tcl's are closer to Python's. Python's and Tcl's mechanisms for supporting OO are much easier to learn for new users than Perl's. Python's Tk libraries are easier to use than Perl's and Tcl's. Tcl's [Incr Widget] (megawidgets) library is by far the hardest to master. Perl's Tk library is somewhere in between. Perl's I/O and Socket libraries are much harder to use than Python's and Tcl's. The primary recommendations of this study are as follows: For Perl, a better OO support will reduce a significant number of OO-related defects, especially to new users. For Tcl, Tcl's [Incr Tcl] megawidget library should wrap the standard raw Tk widgets into [Incr Tk] classes, to prevent a significant number of defects from mixture uses of raw Tk widgets and [incr Tk] megawidgets classes. Tcl's eventloop mechanism is a good model for handling non-blocking sockets and I/Os. Both Perl and Python should also provide such an easy model.
5

[en] A STUDY N APIS FOR SCRIPTING LANGUAGES / [pt] ESTUDO SOBRE APIS DE LINGUAGENS DE SCRIPT

HISHAM HASHEM MUHAMMAD 26 January 2007 (has links)
[pt] Um cenário comum atualmente é o de aplicações desenvolvidas usando duas linguagens de programação a fim de otimizar partes onde o desempenho é crítico e permitir extensibilidade através de scripts escritos pelo usuário. Há várias formas de se obter esse tipo de interoperabilidade; idealmente, entretanto, uma linguagem deve prover uma interface de acesso externo (foreign language interface, FLI) que permita ao programador receber e enviar tanto chamadas como dados para outra linguagem. Este trabalho discute as principais questões envolvendo o projeto de APIs para integração de ambientes de execução de linguagens em aplicações C. Apresentamos os principais problemas enfrentados na interação entre código executando em um ambiente com características inerentemente dinâmicas como o de uma linguagem de script com código C. Comparamos aqui as abordagens empregadas por cinco linguagens no tratamento da comunicação entre os espaços de dados de C e do ambiente de execução embutido e as conseqüências destas abordagens no gerenciamento de memória, bem como no compartilhamento de código entre a aplicação C e o da linguagem de script. Ilustramos as diferenças das APIs destas linguagens e o impacto destas no código resultante de uma aplicação C através de um estudo de caso. Diferentes linguagens de script são embutidas como plugins de uma mesma biblioteca, que por sua vez expõe a aplicações clientes uma API genérica de scripting. Assim, o código de cada plugin permite observar de forma clara e isolada os procedimentos adotados em cada linguagem para chamada de funções, registro de funçoes C e conversão de dados entre os ambientes. / [en] Applications written in two programming languages, in order to optimize parts where performance is critical or to obtain extensibility through userwritten scripts, are commonplace nowadays. There are several ways to obtain this kind of interoperability; ideally, however, a language should provide a foreign language interface (FLI), allowing the programmer to send and receive both data and function calls to the external language. This work discusses the main issues involving the design of APIs for the integration of language environments within C applications. We present the main problems faced in the interaction between code executed in an environment with inherently dynamic characteristics such as a scripting language and C code. We compare the approaches employed by five languages when handling communication between the data spaces of C and the embedded runtime environment and the consequences of these approaches in memory management, as well as sharing of code between the C application and that from the scripting language. We illustrate the differences of the APIs of those languages and their impact in the resulting code of a C application through a case study. Different scripting languages were embedded as plugins for a library, which on its turn exposes to client applications a generic scripting API. This way, the code of each plugin allows us to observe in a clear and isolated way the procedures adopted by each language for function calls, registration of C functions and conversion of data between the environments.
6

[pt] ANALIZANDO O USO DE MEMORIA EM LUA / [en] PROFILING MEMORY IN LUA

PABLO MARTINS MUSA 16 July 2020 (has links)
[pt] Inchaço de memória e um problema que ocorre quando a memória consumida por um programa excede a expectativa do programador. Em muitos casos, o inchaço de memória prejudica o desempenho ou, até mesmo, interrompe a execução de aplicações. Detectar e consertar inchaços de memória é uma tarefa difícil para programadores e, portanto, eles costumam usar ferramentas para identificar e consertar problemas desta natureza. Nas últimas duas décadas, muitos trabalhos e ferramentas foram desenvolvidos com o intuito de ajudar programadores a abordar problemas de inchaço de memória, entre eles perfiladores de memória. Apesar de perfiladores de memória terem sido muito estudados nos últimos anos, existe uma lacuna em relação a linguagens de script. Nessa dissertação, nós estudamos perfiladores de memória para linguagens de script. Primeiro, nos propomos uma classificação que divide as ferramentas em manual e automática baseada em como elas são usadas pelos programadores. Em seguida, após estudar ferramentas disponíveis em três linguagens de script diferentes, nós experimentamos algumas das técnicas estudadas ao construir dois perfiladores de memória automáticos para ajudar programadores Lua a resolver inchaços de memória. Finalmente, nós avaliamos ambas as ferramentas com relação a facilidade de integração ao programa, a utilidade dos relatórios para o entendimento de programas desconhecidos e para a localização de inchaços de memória e ao custo de desempenho que elas geram. / [en] Memory bloat is a software problem that happens when the memory consumption of a program exceeds the programmer s expectations. In many cases, memory bloat hurts performance or even crashes applications. Detecting and fixing memory bloat problems is a difficult task for programmers and, thus, they usually need tools to identify and fix these problems. The past two decades produced an extensive research and many tools to help programmers tackle memory bloat, including memory profilers. Although memory profilers have been largely studied in the last years, there is a gap regarding scripting languages. In this thesis, we study memory profilers in scripting languages. First, we propose a classification in which we divide memory profilers in manual and automatic, based on how the programmer uses the memory profiler. Then, after reviewing memory profilers available in three different scripting languages, we experiment some of the studied techniques by implementing two automatic memory profilers to help Lua programmers deal with memory bloat. Finally, we evaluate our tools regarding how easy it is to incorporate them to a program, how useful their reports are to understand an unknown program and track memory bloats, and how much overhead they impose.
7

A performance and installation research in web server solutions for small e-commerce systems. / En prestanda och installations forskning i webb server lösningar för mindre e-handel system.

Shirazi, Erfan, Håkansson, Mattias, Abels, Christian January 2004 (has links)
This thesis investigates two different web server solutions. One is a commercial, proprietary solution known as the Windows solution that consists of Windows Server 2003, IIS and ASP. The other is a free, open source solution consisting of FreeBSD, Apache and PHP. The both solutions had the database MySQL as a common component. The hypothesis that was used in this investigation is as follows: IIS on Windows Server is not better than Apache on FreeBSD for e-commerce systems. To answer the hypothesis two empirical comparisons were conducted. One was a response time experiment testing two symmetrical web shops developed for the both solutions. For this response time test a stress test application was developed. The second comparison was a case study in the ease of installation of the two different solutions. The third empirical research method was a survey that was conducted among Swedish web hotel administrators. The survey identifies various factors that play a part when choosing one of the solutions. Open source users prefer performance, security and costs of software while Windows users prefer required knowledge, usability and compatibility. By analysing our result it is shown that the hypothesis is verified proving that an open source solution reports better performance because it has lower response times than the Windows solution. The results from the case study show that Windows is the easiest solution to install. / Den här uppsatsen undersöker två olika webbservrar lösningar. En är kommersiell patentskyddad lösning känd som Windows lösningen som består av Windows Server 2003, IIS och ASP. Den andra lösningen är en gratis open source lösning som består av FreeBSD, Apache och PHP. Båda lösningarna har databasen MySQL som en jämensam komponent. Hypotesen som användes i denna forskning är; IIS på Windows Server är inte bättre än Apache på FreeBSD för e-handel system. För att kunna besvara hypotesen gjordes två empirisk jämförelsen. En var respons tid experiment som testade två symmetriska webb shops som var utvecklad av oss för bägge lösningarna. För detta experiment utvecklades en stress test program. Den andra jämförelsen var en fallstudie i lätthet av installation av dessa två lösningar. Den tredje forsknings metoden är en undersökning bland svensk webb hotell administratörer. Undersökningen identifierar olika faktorer som spelar roll när man väljer en av lösningarna. Open source användare föredrar prestanda, säkerhet och kostnad av mjukvara medan Windows användare föredrar obligatorisk kunskap, användbarhet och jämförbarhet. Genom analys av våra resultat har vi visat att vår hypotes är verifierad och detta bevisar att open source lösningen har bättre prestanda genom att den har lägre respons tid än Windows lösningen. Resultatet av fallstudien visar att Windows är lättare att installera.
8

[en] LUACHARM: A HYBRID MODEL USING SCRIPTING LANGUAGES FOR PARALEL PROGRAMMING / [pt] LUACHARM: UM MODELO HÍBRIDO UTILIZANDO LINGUAGENS DE SCRIPT PARA PROGRAMAÇÃO PARALELA

THIAGO COSTA PONTE 12 June 2017 (has links)
[pt] Nos últimos anos, as linguagens de script ganharam muita importância em diversas áreas da computação. Uma das áreas onde essas linguagens ainda são pouco exploradas é na área de computação paralela. A computação paralela sempre foi fortemente associada a computação científica, mas recentemente ela ganhou uma nova importância com a popularização de processadores multi-core. Com esse crescimento se torna necessário o surgimento de novos paradigmas de programação paralela para facilitar o desenvolvimento e dinamizar as aplicações, e linguagens de script podem ser usadas para isso, trazendo dinamismo, simplicidade e flexibilidade às aplicações. Esta dissertação visa estudar um modelo híbrido de programação entre duas linguagens de programação, Lua e Charm plus plus. / [en] Recently, scripting languages have become very important in many fields of computer science. One area in which these languages have not been explored is paralel programming. Paralel programming has always been strongly associated with scientific usage, but recently, with the growth in popularity of multi core systems, it has gained a new field of action. With this change, the development of new programming paradigms of paralel programming become necessary in order to make development easier and applications more dynamic. Scripting languages may be used for this, bringing dynamics, flexibility and simplicity to aplications. This dissertation aims to study a hybrid programming model with two programming languages, Charm plus plus and Lua.
9

[en] TYPED LUA: AN OPTIONAL TYPE SYSTEM FOR LUA / [pt] TYPED LUA: UM SISTEMA DE TIPOS OPCIONAL PARA LUA

ANDRE MURBACH MAIDL 14 October 2015 (has links)
[pt] Linguagens dinamicamente tipadas, tais como Lua, não usam tipos estáticos em favor de simplicidade e exibilidade, porque a ausência de tipos estáticos significa que programadores não precisam se preocupar em abstrair tipos que devem ser validados por um verificador de tipos. Por outro lado, linguagens estaticamente tipadas ajudam na detecção prévia de diversos bugs e também ajudam na estruturação de programas grandes. Tais pontos geralmente são vistos como duas vantagens que levam programadores a migrar de uma linguagem dinamicamente tipada para uma linguagem estaticamente tipada, quando os pequenos scripts deles evoluem para programas complexos. Sistemas de tipos opcionais nos permitem combinar tipagem dinâmica e estática na mesma linguagem, sem afetar a semântica original da linguagem, tornando mais fácil a evolução de código tipado dinamicamente para código tipado estaticamente. Desenvolver um sistema de tipos opcional para uma linguagem dinamicamente tipada é uma tarefa desafiadora, pois ele deve ser o mais natural possível para os programadores que já estão familiarizados com essa linguagem. Neste trabalho nós apresentamos e formalizamos Typed Lua, um sistema de tipos opcional para Lua, o qual introduz novas características para tipar estaticamente alguns idiomas e características de Lua. Embora Lua compartilhe várias características com outras linguagens dinamicamente tipadas, em particular JavaScript, Lua também possui várias características não usuais, as quais não estão presentes nos sistemas de tipos dessas linguagens. Essas características incluem funções com aridade flexível, atribuições múltiplas, funções que são sobrecarregadas no número de valores de retorno e a evolução incremental de registros e objetos. Nós discutimos como Typed Lua tipa estaticamente essas características e também discutimos nossas decisões de projeto. Finalmente, apresentamos uma avaliação de resultados, a qual obtivemos ao usar Typed Lua para tipar código Lua existente. / [en] Dynamically typed languages such as Lua avoid static types in favor of simplicity and exibility, because the absence of static types means that programmers do not need to bother with abstracting types that should be validated by a type checker. In contrast, statically typed languages provide the early detection of many bugs, and a better framework for structuring large programs. These are two advantages of static typing that may lead programmers to migrate from a dynamically typed to a statically typed language, when their simple scripts evolve into complex programs. Optional type systems allow combining dynamic and static typing in the same language, without affecting its original semantics, making easier this code evolution from dynamic to static typing. Designing an optional type system for a dynamically typed language is challenging, as it should feel natural to programmers that are already familiar with this language. In this work we present and formalize the design of Typed Lua, an optional type system for Lua that introduces novel features to statically type check some Lua idioms and features. Even though Lua shares several characteristics with other dynamically typed languages such as JavaScript, Lua also has several unusual features that are not present in the type system of these languages. These features include functions with exible arity, multiple assignment, functions that are overloaded on the number of return values, and the incremental evolution of record and object types. We discuss how Typed Lua handles these features and our design decisions. Finally, we present the evaluation results that we achieved while using Typed Lua to type existing Lua code.
10

An investigation into the feasibility of monitoring a call centre using an emotion recognition system

Stoop, Werner 04 June 2010 (has links)
In this dissertation a method for the classification of emotion in speech recordings made in a customer service call centre of a large business is presented. The problem addressed here is that customer service analysts at large businesses have to listen to large numbers of call centre recordings in order to discover customer service-related issues. Since recordings where the customer exhibits emotion are more likely to contain useful information for service improvement than “neutral” ones, being able to identify those recordings should save a lot of time for the customer service analyst. MTN South Africa agreed to provide assistance for this project. The system that has been developed for this project can interface with MTN’s call centre database, download recordings, classify them according to their emotional content, and provide feedback to the user. The system faces the additional challenge that it is required to classify emotion notwith- standing the fact that the caller may have one of several South African accents. It should also be able to function with recordings made at telephone quality sample rates. The project identifies several speech features that can be used to classify a speech recording according to its emotional content. The project uses these features to research the general methods by which the problem of emotion classification in speech can be approached. The project examines both a K-Nearest Neighbours Approach and an Artificial Neural Network- Based Approach to classify the emotion of the speaker. Research is also done with regard to classifying a recording according to the gender of the speaker using a neural network approach. The reason for this classification is that the gender of a speaker may be useful input into an emotional classifier. The project furthermore examines the problem of identifying smaller segments of speech in a recording. In the typical call centre conversation, a recording may start with the agent greeting the customer, the customer stating his or her problem, the agent performing an action, during which time no speech occurs, the agent reporting back to the user and the call being terminated. The approach taken by this project allows the program to isolate these different segments of speech in a recording and discard segments of the recording where no speech occurs. This project suggests and implements a practical approach to the creation of a classifier in a commercial environment through its use of a scripting language interpreter that can train a classifier in one script and use the trained classifier in another script to classify unknown recordings. The project also examines the practical issues involved in implementing an emotional clas- sifier. It addresses the downloading of recordings from the call centre, classifying the recording and presenting the results to the customer service analyst. AFRIKAANS : n Metode vir die klassifisering van emosie in spraakopnames in die oproepsentrum van ’n groot sake-onderneming word in hierdie verhandeling aangebied. Die probleem wat hierdeur aangespreek word, is dat kli¨entediens ontleders in ondernemings na groot hoeveelhede oproepsentrum opnames moet luister ten einde kli¨entediens aangeleenthede te identifiseer. Aangesien opnames waarin die kli¨ent emosie toon, heel waarskynlik nuttige inligting bevat oor diensverbetering, behoort die vermo¨e om daardie opnames te identifiseer vir die analis baie tyd te spaar. MTN Suid-Afrika het ingestem om bystand vir die projek te verleen. Die stelsel wat ontwikkel is kan opnames vanuit MTN se oproepsentrum databasis verkry, klassifiseer volgens emosionele inhoud en terugvoering aan die gebruiker verskaf. Die stelsel moet die verdere uitdaging kan oorkom om emosie te kan klassifiseer nieteenstaande die feit dat die spreker een van verskeie Suid-Afrikaanse aksente het. Dit moet ook in staat wees om opnames wat gemaak is teen telefoon gehalte tempos te analiseer. Die projek identifiseer verskeie spraak eienskappe wat gebruik kan word om ’n opname volgens emosionele inhoud te klassifiseer. Die projek gebruik hierdie eienskappe om die algemene metodes waarmee die probleem van emosie klassifisering in spraak benader kan word, na te vors. Die projek gebruik ’n K-Naaste Bure en ’n Neurale Netwerk benadering om die emosie van die spreker te klassifiseer. Navorsing is voorts gedoen met betrekking tot die klassifisering van die geslag van die spreker deur ’n neurale netwerk. Die rede vir hierdie klassifisering is dat die geslag van die spreker ’n nuttige inset vir ’n emosie klassifiseerder mag wees. Die projek ondersoek ook die probleem van identifisering van spraakgedeeltes in ’n opname. In ’n tipiese oproepsentrum gesprek mag die opname begin met die agent wat die kli¨ent groet, die kli¨ent wat sy of haar probleem stel, die agent wat ’n aksie uitvoer sonder spraak, die agent wat terugrapporteer aan die gebruiker en die oproep wat be¨eindig word. Die benadering van hierdie projek laat die program toe om hierdie verskillende gedeeltes te isoleer uit die opname en om gedeeltes waar daar geen spraak plaasvind nie, uit te sny. Die projek stel ’n praktiese benadering vir die ontwikkeling van ’n klassifiseerder in ’n kommersi¨ele omgewing voor en implementeer dit deur gebruik te maak van ’n programeer taal interpreteerder wat ’n klassifiseerder kan oplei in een program en die opgeleide klassifiseerder gebruik om ’n onbekende opname te klassifiseer met behulp van ’n ander program. Die projek ondersoek ook die praktiese aspekte van die implementering van ’n emosionele klassifiseerder. Dit spreek die aflaai van opnames uit die oproep sentrum, die klassifisering daarvan, en die aanbieding van die resultate aan die kli¨entediens analis, aan. Copyright / Dissertation (MEng)--University of Pretoria, 2010. / Electrical, Electronic and Computer Engineering / unrestricted

Page generated in 0.0349 seconds