LuaEclipse integrating tools in Lua development Luís Eduardo Jason Santos Lua Workshop 2009.
-
Upload
gavin-ryan -
Category
Documents
-
view
212 -
download
0
Transcript of LuaEclipse integrating tools in Lua development Luís Eduardo Jason Santos Lua Workshop 2009.
LuaEclipse
integrating tools in Lua development
Luís Eduardo Jason SantosLuís Eduardo Jason Santos Lua Workshop 2009Lua Workshop 2009
Special ThanksSpecial ThanksThe Lua TeamThe Lua Team
IdeaisIdeais
Andre Carregal and the Kepler ProjectAndre Carregal and the Kepler Project
Fábrica DigitalFábrica Digital
FINEP/SEBRAEFINEP/SEBRAE
IT Quality SystemsIT Quality Systems
Move NetworksMove Networks
Anywhere TechAnywhere Tech
Comunidade LuaComunidade Lua
LuaEclipse
Luís Eduardo Jason SantosLuís Eduardo Jason Santos Lua Workshop 2009Lua Workshop 2009
LuaEclipseLuaEclipse
An integrated An integrated
development environment development environment built on the Eclipse built on the Eclipse
platformplatform
The platform
Some members of the Eclipse Foundation
The Eclipse platformThe Eclipse platform
Strong presence in several Strong presence in several areas areas
- SOA orchestration- SOA orchestration
- Java development- Java development
- web and script langugages- web and script langugages
- C/C++ development- C/C++ development
- mobile platforms- mobile platforms(including (including linux mobile and symbian)linux mobile and symbian)
- microcontrollers- microcontrollers
LuaEclipse – What it is?LuaEclipse – What it is?
IDE - Integrated IDE - Integrated Development EnvironmentDevelopment Environment
What it is not...What it is not...
LuaEclipse is not aLuaEclipse is not aCode editorCode editor
- like scite, gedit, - like scite, gedit, notepad++, ultraedit, vi, etc.notepad++, ultraedit, vi, etc.
What is it?What is it?
IDE - Integrated IDE - Integrated Development Environment Development Environment
usually have:usually have:- code editor- code editor
- compiler/interpreter- compiler/interpreter
- integrated development tools- integrated development tools
- debugger- debugger
Modern IDEsModern IDEs
Popular toolsPopular tools- context detection- context detection
- dependency analyzer- dependency analyzer
- refactoring tools- refactoring tools
- builders and- builders anddeployment toolsdeployment tools
- version control integration- version control integration
LuaEclipse - MotivationLuaEclipse - Motivation
HistoricalHistorical- - corporate worldcorporate world origins origins
ContextContext- lua as an - lua as an extension extension languagelanguage
LuaEclipse - MotivationLuaEclipse - Motivation
Main issuesMain issues- - integrationintegration with host with host
application application toolchaintoolchain
- keep contact with - keep contact with development teams development teams cultureculture
OriginsOrigins
2003
LuaEclipse 0.5LuaEclipse 0.5
Eclipse 2.1
IdeaisDanilo Tuler
OriginsOrigins
LuaEclipse 1.0LuaEclipse 1.0
Eclipse 3.2
Danilo Tuler
2003 2004 2005 2006 2007 2008
Guilherme Martins
Thiago Ponte
André Carregal
OriginsOrigins
LuaEclipse 1.1LuaEclipse 1.1
Eclipse 3.2/3.3
2004 2005 2006 2007 2008
Guilherme Martins
Thiago Ponte
André Carregal
Jason Santos
Lua 5.1
OriginsOrigins
LuaEclipse 1.2LuaEclipse 1.2
Eclipse 3.3
2005 2006 2007 2008
Jason Santos
Guilherme Martins
André Carregal
Edgard Arakaki
Lua 5.1
2009
LuaDoc
LuaProfiler
OriginsOrigins
LuaEclipse 1.3betaLuaEclipse 1.3beta
Eclipse 3.4
2005 2006 2007 2008
Jason Santos
André Carregal
Lua 5.1
2009
LuaDoc
LuaProfiler
RemDebug
2005 2006 2007 2008 20092003 2004
LuaEclipse LuaEclipse 0.50.5
Eclipse 2.1 3.0 3.1 3.2 3.3 3.4 3.5
1.01.0 1.11.1 1.21.2 1.31.3 1.3.11.3.1
In the paralel universe...In the paralel universe...
2007 2008 2009
Jason Santos
Edgard ArakakiLuaEclipse 2.xLuaEclipse 2.x
Based on DLTKRequires Eclipse 3.3
design2.x2.x
2007 2008 2009
2.0alpha2.x2.x
Back to the real worldBack to the real world
2005 2006 2007 2008 20092003 2004
LuaEclipse LuaEclipse 0.50.5
Eclipse 2.1 3.0 3.1 3.2 3.3 3.4 3.5
Jason SantosInvestimento da FINEPInvestimento da FINEP
- descrição do projeto feita em 2005- início do Kepler Mobile- branch 2.x congelado na versão alpha
1.01.0 1.11.1 1.21.2 1.31.3 1.3.11.3.1
Edgard Arakaki
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
"Herrick Muhlestein, et al."www.movenetworks.com
LuaEclipse 1.3.1LuaEclipse 1.3.1
Eclipse 3.4
2005 2006 2007 2008
Jason Santos
André CarregalLua 5.1
2009
LuaDoc
LuaProfiler
RemDebug
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Code highlightCode highlight Code completionCode completion generated from a generated from a customizable Lua Statecustomizable Lua State
Documentation reference Documentation reference (using LuaDoc)(using LuaDoc)
Integrated DebuggerIntegrated Debugger Integrated ProfilerIntegrated Profiler (using (using LuaProfiler)LuaProfiler)
Execution using a Execution using a system installed interpretersystem installed interpreter
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
IDE Features IDE Features use use differentdifferent integration integration formsforms
Code-highlight
Syntax errors
Lua 5.1 parser(JFlex)
loadstring()LuaJava
Execution
Profiler
Java Launcher LuaBinaries
Java Launcher LuaProfiler
DebuggerJava Remdebug
ClientSockets
Reference LuaJava LuaDoc*
RemDebug*
Code-completion New LuaStateLuaJava
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Code Code highlighthighlight
CompilatioCompilation errors on n errors on savingsaving
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Auto-Auto-completecomplete
Comment Comment and and function function foldingfolding
2009 - O LuaEclipse 1.3.x2009 - O LuaEclipse 1.3.x
Referência Referência de funções de funções do manual do manual de de referência referência de Lua 5.1de Lua 5.1
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Sumário do Sumário do LuaProfilerLuaProfiler
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Integrated Integrated debugger:debugger:
Stack Stack controlcontrol
Inspection Inspection of local of local and global and global variablesvariables
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Integrated Integrated debugger:debugger:
Stack Stack controlcontrol
Inspection Inspection of local of local and global and global variablesvariables
2009 - LuaEclipse 1.3.x2009 - LuaEclipse 1.3.x
Integrated Integrated debugger:debugger:
Stack Stack controlcontrol
Inspection Inspection of local of local and global and global variablesvariables
LuaEclipse 1.3.x - problemsLuaEclipse 1.3.x - problems
ComplexityComplexity 9357 lines of code9357 lines of code 128 Java classes128 Java classes Several non-integrated forms of Several non-integrated forms of implementing featuresimplementing features
Parser is impossible to extendParser is impossible to extend Doesn't use DLTKDoesn't use DLTK
2009 - O LuaEclipse 2.02009 - O LuaEclipse 2.0
DLTK implementa DLTK implementa Code highlight, Code highlight, code completion,code completion, referências de referências de documentação e erros de compilaçãodocumentação e erros de compilação
AST montada usando um parser em AST montada usando um parser em LuaLua
RefactoringRefactoring e formatadores escritos e formatadores escritos em Luaem Lua
Debugger Debugger integradointegrado Profiler Profiler integrado (usando integrado (usando LuaProfiler)LuaProfiler)
Execução utilizando LuaJava além do Execução utilizando LuaJava além do interpretador instalado no sistemainterpretador instalado no sistema
Java Launcher
Java RemdebugClient
LuaProfiler
Sockets RemDebug*
2009 - LuaEclipse 2.02009 - LuaEclipse 2.0
Code-highlight
Syntax errors
DLTK
LuaJava
Execution
Profiler
Debugger
References
Greater DLTK Greater DLTK integrationintegration
Incremental Incremental parsers written in parsers written in LuaLua
Code-completion
Lua AST
Parser in Lua
Metalua* LEG
LuaBinaries
outros
Built-in interpreterJava Launcher
2010 - LuaEclipse 2.12010 - LuaEclipse 2.1
Ability to publish, retrieve and rate e Ability to publish, retrieve and rate e avaliar code snippets and 'recipes' from avaliar code snippets and 'recipes' from the internet – straight from the IDEthe internet – straight from the IDE
LuaRocks – LuaRocks – Integration of dependency Integration of dependency installationinstallation
MoonMonkeyMoonMonkey – ability to extend and – ability to extend and automate the IDE in Lua automate the IDE in Lua
LuaEclipse 2.x - problemsLuaEclipse 2.x - problems
ManpowerManpower
LuaEclipse 2.x - problemasLuaEclipse 2.x - problemas
ManpowerManpower ManpowerManpower ManpowerManpower
ExpectationsExpectations
Create new development opportunities Create new development opportunities Enhance user experienceEnhance user experience Raise productivityRaise productivity Reduce development costsReduce development costs Bring the Lua community closerBring the Lua community closer Speed up evolutionSpeed up evolution
Contact/downloadsContact/downloads
Website
http://luaeclipse.luaforge.net
SVNSVN
https://svn.anyware-tech.com/luaeclipse/luaeclipsehttps://svn.anyware-tech.com/luaeclipse/luaeclipse
Update-sitesUpdate-sites
http://luaeclipse.luaforge.net/preview/update-site/preview/update-site
Luís Eduardo Jason Santos <[email protected]>Luís Eduardo Jason Santos <[email protected]>