SlideShare a Scribd company logo
1 of 17
Download to read offline
1. DATOS INFORMATIVOS
1.1 Nombre: Gabriel Solano
1.2 Carrera: Sistemas
1.3 Nivel: 5to
1.4 Tema: Compiladores
1.5 Fecha: 21/04/2017
2. DESCRIPCION
DECOMPILADORES
Instalación Vb Decompiler lite
1) Descargar de la página Oficial el programa https://www.vb-
decompiler.org/download.htm Descomprimir y ejecutar el instalador
2) Next
3) Aceptar los términos y condiciones
4) Dar un directorio o dejarlo por defecto
5) Dar click en Next hasta elegir el Idioma, el cual pondremos Español
6) Click en Install
7) Dejar activada la casilla de Launch VB Decompiler si necesitas utilizarlo.
8) Interfaz
PROGRAMAS A DECOMPILAR
CALCULADORA
CODIGO FUENTE CALCULADORA
VERSION 5.00
Begin VB.Form Form1 Caption = "Calculadora by marco" ScaleMode = 1 AutoRedraw = False
FontTransparent = True BorderStyle = 4 'Fixed ToolWindow 'Icon = n/a LinkTopic = "Form1"
MaxButton = 0 'False MinButton = 0 'False ClientLeft = 45 ClientTop = 285 ClientWidth = 3975
ClientHeight = 3195 ShowInTaskbar = 0 'False StartUpPosition = 3 'Windows Default Begin
CommandButton salir Caption = "Salir" Left = 2160 Top = 2520 Width = 1695 Height = 495
TabIndex = 11 End Begin CommandButton new Caption = "Nuevo calculo" Left = 120 Top =
2520 Width = 1695 Height = 495 TabIndex = 10 End Begin CommandButton dividir Caption =
"/" Left = 3240 Top = 1800 Width = 615 Height = 495 TabIndex = 9 BeginProperty Font Name =
"MS Sans Serif" Size = 13.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False
Strikethrough = 0 'False EndProperty End Begin CommandButton por Caption = "x" Left = 2160
Top = 1800 Width = 615 Height = 495 TabIndex = 8 BeginProperty Font Name = "MS Sans Serif"
Size = 13.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0
'False EndProperty End Begin CommandButton restar Caption = "-" Left = 1200 Top = 1800
Width = 615 Height = 495 TabIndex = 7 BeginProperty Font Name = "MS Sans Serif" Size = 13.5
Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False
EndProperty End Begin CommandButton sumar Caption = "+" Left = 120 Top = 1800 Width =
615 Height = 495 TabIndex = 6 BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset
= 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End
Begin TextBox res Left = 1680 Top = 1080 Width = 1215 Height = 405 TabIndex = 5
BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0
'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin TextBox can2 Left = 1680
Top = 600 Width = 1215 Height = 405 TabIndex = 4 BeginProperty Font Name = "MS Sans Serif"
Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0
'False EndProperty End Begin TextBox can1 Left = 1680 Top = 120 Width = 1215 Height = 405
TabIndex = 3 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400
Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin Label
Label3 Caption = "Resultado" Left = 240 Top = 1200 Width = 1095 Height = 255 TabIndex = 2
BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0
'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin Label Label2 Caption =
"Cantidad2" Left = 240 Top = 720 Width = 1095 Height = 615 TabIndex = 1 BeginProperty Font
Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0
'False Strikethrough = 0 'False EndProperty End Begin Label Label1 Caption = "Cantidad1" Left
= 240 Top = 240 Width = 1215 Height = 495 TabIndex = 0 BeginProperty Font Name = "MS Sans
Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough =
0 'False EndProperty End End Attribute VB_Name = "Form1"
MATRIZ NXM
CODIGO FUENTE MATRIZ
Begin VB.Form Form2
Caption = "Determinante 3*3 y 2*2"
ScaleMode = 1
AutoRedraw = False
FontTransparent = True
Picture = "Form2.frx":0
BorderStyle = 1 'Fixed Single
Icon = "Form2.frx":B179
LinkTopic = "Form2"
MaxButton = 0 'False
MinButton = 0 'False
ClientLeft = 5415
ClientTop = 3330
ClientWidth = 8805
ClientHeight = 4575
StartUpPosition = 2 'CenterScreen
Begin TextBox e5
Left = 5400
Top = 3840
Width = 735
Height = 375
Enabled = 0 'False
TabIndex = 17
End
Begin TextBox e1
Left = 3720
Top = 3360
Width = 495
Height = 375
TabIndex = 16
End
Begin TextBox e2
Left = 4320
Top = 3360
Width = 495
Height = 375
TabIndex = 15
End
Instalación Java Decompiler
1) Descargar programa con crack y ejecutar el instalador
2) Escoger el Idioma del paquete de instalación y click en Next.
3) Aceptar términos y Condiciones
4) Dar next hasta la ruta, cambiarlo en caso de ser necesario, caso contrario dejar
en default
5) Descarmcar la casilla de intalacion de Firefox Downloader y next
6) Click en Install
7) Interfaz del programa
PROGRAMAS A DESCOMPILAR
VARIABLES PARA UNA DERIVADA
CODIGO FUENTE VARIABLE
package org.nfunk.jep;
import java.util.Observable;
public class Variable
extends Observable
{
protected String name;
private Object value;
private boolean isConstant = false;
private boolean validValue = false;
protected Variable(String paramString)
{
this.name = paramString;
this.value = null;
this.validValue = false;
}
protected Variable(String paramString, Object paramObject)
{
this.name = paramString;
this.value = paramObject;
this.validValue = (paramObject != null);
}
public String getName()
{
return this.name;
}
public boolean isConstant()
{
return this.isConstant;
}
public void setIsConstant(boolean paramBoolean)
{
this.isConstant = paramBoolean;
}
public Object getValue()
{
return this.value;
}
public boolean hasValidValue()
{
return this.validValue;
}
public void setValidValue(boolean paramBoolean)
{
if (isConstant()) {
return;
}
this.validValue = paramBoolean;
}
public boolean setValue(Object paramObject)
{
if (!setValueRaw(paramObject)) {
return false;
}
setChanged();
notifyObservers(paramObject);
return true;
}
protected boolean setValueRaw(Object paramObject)
{
if (this.isConstant) {
return false;
}
this.validValue = true;
this.value = paramObject;
return true;
}
public String toString()
{
if ((!this.validValue) || (this.value == null)) {
return this.name + ": null";
}
if (this.isConstant) {
return this.name + ": " + this.value.toString() + " (Constant)";
}
return this.name + ": " + this.value.toString();
}
}
MATRIZ
CODIGO FUENTE MATRIZ
public class MatrixEvaluator
implements ParserVisitor, EvaluatorI
{
private Stack stack = new Stack();
private MatrixJep mjep;
public MatrixValueI evaluate(MatrixNodeI paramMatrixNodeI, MatrixJep paramMatrixJep)
throws ParseException
{
this.mjep = paramMatrixJep;
return (MatrixValueI)paramMatrixNodeI.jjtAccept(this, null);
}
public Object eval(Node paramNode)
throws ParseException
{
MatrixValueI localMatrixValueI = (MatrixValueI)paramNode.jjtAccept(this, null);
return localMatrixValueI.copy();
}
public Object visit(SimpleNode paramSimpleNode, Object paramObject)
{
return null;
}
public Object visit(ASTStart paramASTStart, Object paramObject)
{
return null;
}
public Object visit(ASTConstant paramASTConstant, Object paramObject)
{
return ((ASTMConstant)paramASTConstant).getMValue();
}
public Object visit(ASTVarNode paramASTVarNode, Object paramObject)
throws ParseException
{
MatrixVariableI localMatrixVariableI = (MatrixVariableI)paramASTVarNode.getVar();
if (localMatrixVariableI.hasValidValue()) {
return localMatrixVariableI.getMValue();
}
if (!localMatrixVariableI.hasEquation()) {
throw new ParseException("Tried to evaluate a variable with an invalid value but no equation");
}
MatrixValueI localMatrixValueI = (MatrixValueI)localMatrixVariableI.getEquation().jjtAccept(this,
paramObject);
localMatrixVariableI.setMValue(localMatrixValueI);
return localMatrixValueI;
}
public Object visit(ASTFunNode paramASTFunNode, Object paramObject)
throws ParseException
{
MatrixNodeI localMatrixNodeI = (MatrixNodeI)paramASTFunNode;
PostfixMathCommandI localPostfixMathCommandI = paramASTFunNode.getPFMC();
Object localObject1;
if ((localPostfixMathCommandI instanceof MatrixSpecialEvaluationI))
{
localObject1 = (MatrixSpecialEvaluationI)localPostfixMathCommandI;
return ((MatrixSpecialEvaluationI)localObject1).evaluate(localMatrixNodeI, this, this.mjep);
}
if ((localPostfixMathCommandI instanceof CallbackEvaluationI))
{
localObject1 = ((CallbackEvaluationI)localPostfixMathCommandI).evaluate(paramASTFunNode, this);
if ((localObject1 instanceof MatrixValueI)) {
localMatrixNodeI.getMValue().setEles((MatrixValueI)localObject1);
} else {
localMatrixNodeI.getMValue().setEle(0, localObject1);
}
return localMatrixNodeI.getMValue();
}
if ((localPostfixMathCommandI instanceof SpecialEvaluationI)) {
throw new ParseException("Encountered an instance of SpecialEvaluationI");
}
Object localObject2;
if ((localPostfixMathCommandI instanceof BinaryOperatorI))
{
localObject1 = (BinaryOperatorI)localPostfixMathCommandI;
localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject);
MatrixValueI localMatrixValueI1 = (MatrixValueI)paramASTFunNode.jjtGetChild(1).jjtAccept(this,
paramObject);
return ((BinaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(),
(MatrixValueI)localObject2, localMatrixValueI1);
}
if ((localPostfixMathCommandI instanceof UnaryOperatorI))
{
localObject1 = (UnaryOperatorI)localPostfixMathCommandI;
localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject);
return ((UnaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(),
(MatrixValueI)localObject2);
}
if ((localPostfixMathCommandI instanceof NaryOperatorI))
{
localObject1 = (NaryOperatorI)localPostfixMathCommandI;
localObject2 = new MatrixValueI[paramASTFunNode.jjtGetNumChildren()];
for (int k = 0; k < localObject2.length; k++) {
localObject2[k] = ((MatrixValueI)paramASTFunNode.jjtGetChild(k).jjtAccept(this, paramObject));
}
return ((NaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(),
(MatrixValueI[])localObject2);
}
if ((localPostfixMathCommandI instanceof Comparative))
{
localObject1 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject);
localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(1).jjtAccept(this, paramObject);
this.stack.push(localObject1);
this.stack.push(localObject2);
localPostfixMathCommandI.setCurNumberOfParameters(2);
localPostfixMathCommandI.run(this.stack);
localMatrixNodeI.getMValue().setEle(0, this.stack.pop());
return localMatrixNodeI.getMValue();
}
int i = paramASTFunNode.jjtGetNumChildren();
for (int j = 0; j < i; j++)
{
MatrixValueI localMatrixValueI2 = (MatrixValueI)paramASTFunNode.jjtGetChild(j).jjtAccept(this,
paramObject);
if (!localMatrixValueI2.getDim().equals(Dimensions.ONE)) {
throw new ParseException("Arguments of " + paramASTFunNode.getName() + " must be scalers");
}
this.stack.push(localMatrixValueI2.getEle(0));
}
localPostfixMathCommandI.setCurNumberOfParameters(i);
localPostfixMathCommandI.run(this.stack);
localMatrixNodeI.getMValue().setEle(0, this.stack.pop());
return localMatrixNodeI.getMValue();
}
}

More Related Content

Similar to VB Decompiler, Java Decompiler, and Variable Code

Decompiladores
DecompiladoresDecompiladores
Decompiladoresreivax2091
 
Ensambladores y decompiladores (27 de abril 2016)
Ensambladores y decompiladores (27 de abril 2016)Ensambladores y decompiladores (27 de abril 2016)
Ensambladores y decompiladores (27 de abril 2016)pilar menacho
 
Investigación Ensambladores y Decompiladores
Investigación Ensambladores y DecompiladoresInvestigación Ensambladores y Decompiladores
Investigación Ensambladores y DecompiladoresAlexa Chisaguano
 
Poliza de vehiculo
Poliza de vehiculo Poliza de vehiculo
Poliza de vehiculo Jhoan Manuel
 
Programas decompiladores
Programas decompiladoresProgramas decompiladores
Programas decompiladoresZulay Limaico
 
Poliza de vehiculo
Poliza de vehiculoPoliza de vehiculo
Poliza de vehiculoJhoan Manuel
 
Text Editor By Harsh Mathur.
Text Editor By Harsh Mathur.Text Editor By Harsh Mathur.
Text Editor By Harsh Mathur.Harsh Mathur
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightMICTT Palma
 
Reason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiReason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiGrand Parade Poland
 
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docx
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docxbbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docx
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docxikirkton
 
Perkenalan ReasonML
Perkenalan ReasonMLPerkenalan ReasonML
Perkenalan ReasonMLRiza Fahmi
 
Introduction to ReasonML
Introduction to ReasonMLIntroduction to ReasonML
Introduction to ReasonMLRiza Fahmi
 
Ensure code quality with vs2012
Ensure code quality with vs2012Ensure code quality with vs2012
Ensure code quality with vs2012Sandeep Joshi
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docxAustinaGRPaigey
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMichael Dawson
 

Similar to VB Decompiler, Java Decompiler, and Variable Code (20)

Decompiladores
DecompiladoresDecompiladores
Decompiladores
 
Compiladores
CompiladoresCompiladores
Compiladores
 
DECOMPILADORES
DECOMPILADORESDECOMPILADORES
DECOMPILADORES
 
Ensambladores y decompiladores (27 de abril 2016)
Ensambladores y decompiladores (27 de abril 2016)Ensambladores y decompiladores (27 de abril 2016)
Ensambladores y decompiladores (27 de abril 2016)
 
Investigación Ensambladores y Decompiladores
Investigación Ensambladores y DecompiladoresInvestigación Ensambladores y Decompiladores
Investigación Ensambladores y Decompiladores
 
Poliza de vehiculo
Poliza de vehiculo Poliza de vehiculo
Poliza de vehiculo
 
Programas decompiladores
Programas decompiladoresProgramas decompiladores
Programas decompiladores
 
Poliza de vehiculo
Poliza de vehiculoPoliza de vehiculo
Poliza de vehiculo
 
Decompilador
DecompiladorDecompilador
Decompilador
 
Text Editor By Harsh Mathur.
Text Editor By Harsh Mathur.Text Editor By Harsh Mathur.
Text Editor By Harsh Mathur.
 
WP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con SilverlightWP7 HUB_Diseño del interfaz con Silverlight
WP7 HUB_Diseño del interfaz con Silverlight
 
Reason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz StrączyńskiReason - introduction to language and its ecosystem | Łukasz Strączyński
Reason - introduction to language and its ecosystem | Łukasz Strączyński
 
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docx
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docxbbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docx
bbyopenApp_Code.DS_StorebbyopenApp_CodeVBCodeGoogleMaps.docx
 
Perkenalan ReasonML
Perkenalan ReasonMLPerkenalan ReasonML
Perkenalan ReasonML
 
Introduction to ReasonML
Introduction to ReasonMLIntroduction to ReasonML
Introduction to ReasonML
 
Ensure code quality with vs2012
Ensure code quality with vs2012Ensure code quality with vs2012
Ensure code quality with vs2012
 
Vb decompilador
Vb decompiladorVb decompilador
Vb decompilador
 
please code in c#- please note that im a complete beginner- northwind.docx
please code in c#- please note that im a complete beginner-  northwind.docxplease code in c#- please note that im a complete beginner-  northwind.docx
please code in c#- please note that im a complete beginner- northwind.docx
 
Presentation1
Presentation1Presentation1
Presentation1
 
Micro app-framework - NodeLive Boston
Micro app-framework - NodeLive BostonMicro app-framework - NodeLive Boston
Micro app-framework - NodeLive Boston
 

More from Gabriel Solano

Pontificia universidad católica del ecuador sistemas complejos
Pontificia universidad católica del ecuador sistemas complejosPontificia universidad católica del ecuador sistemas complejos
Pontificia universidad católica del ecuador sistemas complejosGabriel Solano
 
Pontificia universidad católica del ecuador algoritmo huffman
Pontificia universidad católica del ecuador algoritmo huffmanPontificia universidad católica del ecuador algoritmo huffman
Pontificia universidad católica del ecuador algoritmo huffmanGabriel Solano
 
Pontificia universidad católica del ecuador calculo de la entropía
Pontificia universidad católica del ecuador calculo de la entropíaPontificia universidad católica del ecuador calculo de la entropía
Pontificia universidad católica del ecuador calculo de la entropíaGabriel Solano
 
Pontificia universidad católica del ecuador ley de la entropia
Pontificia universidad católica del ecuador ley de la entropiaPontificia universidad católica del ecuador ley de la entropia
Pontificia universidad católica del ecuador ley de la entropiaGabriel Solano
 
Pontificia universidad católica del ecuador tutorial de vegas
Pontificia universidad católica del ecuador tutorial de vegasPontificia universidad católica del ecuador tutorial de vegas
Pontificia universidad católica del ecuador tutorial de vegasGabriel Solano
 
Pontificia universidad católica del ecuador virtualizacion
Pontificia universidad católica del ecuador virtualizacionPontificia universidad católica del ecuador virtualizacion
Pontificia universidad católica del ecuador virtualizacionGabriel Solano
 
Pontificia universidad católica del ecuador entropia y neguentropia
Pontificia universidad católica del ecuador entropia y neguentropiaPontificia universidad católica del ecuador entropia y neguentropia
Pontificia universidad católica del ecuador entropia y neguentropiaGabriel Solano
 
Pontificia universidad católica del ecuador segmentacion
Pontificia universidad católica del ecuador segmentacionPontificia universidad católica del ecuador segmentacion
Pontificia universidad católica del ecuador segmentacionGabriel Solano
 
Pontificia universidad católica del ecuador ingenieria en sistemas
Pontificia universidad católica del ecuador ingenieria en sistemasPontificia universidad católica del ecuador ingenieria en sistemas
Pontificia universidad católica del ecuador ingenieria en sistemasGabriel Solano
 
Pontificia universidad católica del ecuador matlab operadores morfológicos
Pontificia universidad católica del ecuador matlab operadores morfológicosPontificia universidad católica del ecuador matlab operadores morfológicos
Pontificia universidad católica del ecuador matlab operadores morfológicosGabriel Solano
 
Pontificia universidad católica del ecuador teoria de juegos ejercicios
Pontificia universidad católica del ecuador teoria de juegos ejerciciosPontificia universidad católica del ecuador teoria de juegos ejercicios
Pontificia universidad católica del ecuador teoria de juegos ejerciciosGabriel Solano
 
Pontificia universidad católica del ecuador filtrado y realzado
Pontificia universidad católica del ecuador filtrado y realzadoPontificia universidad católica del ecuador filtrado y realzado
Pontificia universidad católica del ecuador filtrado y realzadoGabriel Solano
 
Pontificia universidad católica del ecuador matlab imagenes
Pontificia universidad católica del ecuador matlab imagenesPontificia universidad católica del ecuador matlab imagenes
Pontificia universidad católica del ecuador matlab imagenesGabriel Solano
 
Pontificia universidad católica del ecuador toma de decisiones
Pontificia universidad católica del ecuador toma de decisionesPontificia universidad católica del ecuador toma de decisiones
Pontificia universidad católica del ecuador toma de decisionesGabriel Solano
 
Pontificia universidad católica del ecuador teoria de juegos
Pontificia universidad católica del ecuador teoria de juegosPontificia universidad católica del ecuador teoria de juegos
Pontificia universidad católica del ecuador teoria de juegosGabriel Solano
 
Pontificia universidad católica del ecuador matlab 2
Pontificia universidad católica del ecuador matlab 2Pontificia universidad católica del ecuador matlab 2
Pontificia universidad católica del ecuador matlab 2Gabriel Solano
 
Pontificia universidad católica del ecuador trabajo autonomo
Pontificia universidad católica del ecuador trabajo autonomoPontificia universidad católica del ecuador trabajo autonomo
Pontificia universidad católica del ecuador trabajo autonomoGabriel Solano
 
Pontificia universidad católica del ecuador matlab
Pontificia universidad católica del ecuador matlabPontificia universidad católica del ecuador matlab
Pontificia universidad católica del ecuador matlabGabriel Solano
 
Pontificia universidad católica del ecuador manual matlab
Pontificia universidad católica del ecuador manual matlabPontificia universidad católica del ecuador manual matlab
Pontificia universidad católica del ecuador manual matlabGabriel Solano
 

More from Gabriel Solano (20)

Pontificia universidad católica del ecuador sistemas complejos
Pontificia universidad católica del ecuador sistemas complejosPontificia universidad católica del ecuador sistemas complejos
Pontificia universidad católica del ecuador sistemas complejos
 
Pontificia universidad católica del ecuador algoritmo huffman
Pontificia universidad católica del ecuador algoritmo huffmanPontificia universidad católica del ecuador algoritmo huffman
Pontificia universidad católica del ecuador algoritmo huffman
 
Pontificia universidad católica del ecuador calculo de la entropía
Pontificia universidad católica del ecuador calculo de la entropíaPontificia universidad católica del ecuador calculo de la entropía
Pontificia universidad católica del ecuador calculo de la entropía
 
Pontificia universidad católica del ecuador ley de la entropia
Pontificia universidad católica del ecuador ley de la entropiaPontificia universidad católica del ecuador ley de la entropia
Pontificia universidad católica del ecuador ley de la entropia
 
Pontificia universidad católica del ecuador tutorial de vegas
Pontificia universidad católica del ecuador tutorial de vegasPontificia universidad católica del ecuador tutorial de vegas
Pontificia universidad católica del ecuador tutorial de vegas
 
Pontificia universidad católica del ecuador virtualizacion
Pontificia universidad católica del ecuador virtualizacionPontificia universidad católica del ecuador virtualizacion
Pontificia universidad católica del ecuador virtualizacion
 
Pontificia universidad católica del ecuador entropia y neguentropia
Pontificia universidad católica del ecuador entropia y neguentropiaPontificia universidad católica del ecuador entropia y neguentropia
Pontificia universidad católica del ecuador entropia y neguentropia
 
Pontificia universidad católica del ecuador segmentacion
Pontificia universidad católica del ecuador segmentacionPontificia universidad católica del ecuador segmentacion
Pontificia universidad católica del ecuador segmentacion
 
Pontificia universidad católica del ecuador ingenieria en sistemas
Pontificia universidad católica del ecuador ingenieria en sistemasPontificia universidad católica del ecuador ingenieria en sistemas
Pontificia universidad católica del ecuador ingenieria en sistemas
 
Pontificia universidad católica del ecuador matlab operadores morfológicos
Pontificia universidad católica del ecuador matlab operadores morfológicosPontificia universidad católica del ecuador matlab operadores morfológicos
Pontificia universidad católica del ecuador matlab operadores morfológicos
 
Pontificia universidad católica del ecuador teoria de juegos ejercicios
Pontificia universidad católica del ecuador teoria de juegos ejerciciosPontificia universidad católica del ecuador teoria de juegos ejercicios
Pontificia universidad católica del ecuador teoria de juegos ejercicios
 
Pontificia universidad católica del ecuador filtrado y realzado
Pontificia universidad católica del ecuador filtrado y realzadoPontificia universidad católica del ecuador filtrado y realzado
Pontificia universidad católica del ecuador filtrado y realzado
 
Pontificia universidad católica del ecuador matlab imagenes
Pontificia universidad católica del ecuador matlab imagenesPontificia universidad católica del ecuador matlab imagenes
Pontificia universidad católica del ecuador matlab imagenes
 
Pontificia universidad católica del ecuador toma de decisiones
Pontificia universidad católica del ecuador toma de decisionesPontificia universidad católica del ecuador toma de decisiones
Pontificia universidad católica del ecuador toma de decisiones
 
Pontificia universidad católica del ecuador teoria de juegos
Pontificia universidad católica del ecuador teoria de juegosPontificia universidad católica del ecuador teoria de juegos
Pontificia universidad católica del ecuador teoria de juegos
 
Pontificia universidad católica del ecuador matlab 2
Pontificia universidad católica del ecuador matlab 2Pontificia universidad católica del ecuador matlab 2
Pontificia universidad católica del ecuador matlab 2
 
Matrices manual
Matrices manualMatrices manual
Matrices manual
 
Pontificia universidad católica del ecuador trabajo autonomo
Pontificia universidad católica del ecuador trabajo autonomoPontificia universidad católica del ecuador trabajo autonomo
Pontificia universidad católica del ecuador trabajo autonomo
 
Pontificia universidad católica del ecuador matlab
Pontificia universidad católica del ecuador matlabPontificia universidad católica del ecuador matlab
Pontificia universidad católica del ecuador matlab
 
Pontificia universidad católica del ecuador manual matlab
Pontificia universidad católica del ecuador manual matlabPontificia universidad católica del ecuador manual matlab
Pontificia universidad católica del ecuador manual matlab
 

Recently uploaded

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...Soham Mondal
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxupamatechverse
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130Suhani Kapoor
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130Suhani Kapoor
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxpranjaldaimarysona
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...ranjana rawat
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escortsranjana rawat
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile servicerehmti665
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Christo Ananth
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSKurinjimalarL3
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...ranjana rawat
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxupamatechverse
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCall Girls in Nagpur High Profile
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur High Profile
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxwendy cai
 

Recently uploaded (20)

OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
OSVC_Meta-Data based Simulation Automation to overcome Verification Challenge...
 
Introduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptxIntroduction and different types of Ethernet.pptx
Introduction and different types of Ethernet.pptx
 
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
VIP Call Girls Service Hitech City Hyderabad Call +91-8250192130
 
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
VIP Call Girls Service Kondapur Hyderabad Call +91-8250192130
 
Processing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptxProcessing & Properties of Floor and Wall Tiles.pptx
Processing & Properties of Floor and Wall Tiles.pptx
 
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
9953056974 Call Girls In South Ex, Escorts (Delhi) NCR.pdf
 
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
★ CALL US 9953330565 ( HOT Young Call Girls In Badarpur delhi NCR
 
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
(SHREYA) Chakan Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Esc...
 
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
(MEERA) Dapodi Call Girls Just Call 7001035870 [ Cash on Delivery ] Pune Escorts
 
Call Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile serviceCall Girls Delhi {Jodhpur} 9711199012 high profile service
Call Girls Delhi {Jodhpur} 9711199012 high profile service
 
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
Call for Papers - African Journal of Biological Sciences, E-ISSN: 2663-2187, ...
 
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANJALI) Dange Chowk Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICSAPPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
APPLICATIONS-AC/DC DRIVES-OPERATING CHARACTERISTICS
 
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
(ANVI) Koregaon Park Call Girls Just Call 7001035870 [ Cash on Delivery ] Pun...
 
Introduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptxIntroduction to IEEE STANDARDS and its different types.pptx
Introduction to IEEE STANDARDS and its different types.pptx
 
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service NashikCollege Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
College Call Girls Nashik Nehal 7001305949 Independent Escort Service Nashik
 
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur EscortsHigh Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
High Profile Call Girls Nagpur Meera Call 7001035870 Meet With Nagpur Escorts
 
Roadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and RoutesRoadmap to Membership of RICS - Pathways and Routes
Roadmap to Membership of RICS - Pathways and Routes
 
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur EscortsCall Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
Call Girls in Nagpur Suman Call 7001035870 Meet With Nagpur Escorts
 
What are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptxWhat are the advantages and disadvantages of membrane structures.pptx
What are the advantages and disadvantages of membrane structures.pptx
 

VB Decompiler, Java Decompiler, and Variable Code

  • 1. 1. DATOS INFORMATIVOS 1.1 Nombre: Gabriel Solano 1.2 Carrera: Sistemas 1.3 Nivel: 5to 1.4 Tema: Compiladores 1.5 Fecha: 21/04/2017 2. DESCRIPCION DECOMPILADORES Instalación Vb Decompiler lite 1) Descargar de la página Oficial el programa https://www.vb- decompiler.org/download.htm Descomprimir y ejecutar el instalador
  • 2. 2) Next 3) Aceptar los términos y condiciones
  • 3. 4) Dar un directorio o dejarlo por defecto 5) Dar click en Next hasta elegir el Idioma, el cual pondremos Español
  • 4. 6) Click en Install 7) Dejar activada la casilla de Launch VB Decompiler si necesitas utilizarlo.
  • 5. 8) Interfaz PROGRAMAS A DECOMPILAR CALCULADORA
  • 6. CODIGO FUENTE CALCULADORA VERSION 5.00 Begin VB.Form Form1 Caption = "Calculadora by marco" ScaleMode = 1 AutoRedraw = False FontTransparent = True BorderStyle = 4 'Fixed ToolWindow 'Icon = n/a LinkTopic = "Form1" MaxButton = 0 'False MinButton = 0 'False ClientLeft = 45 ClientTop = 285 ClientWidth = 3975 ClientHeight = 3195 ShowInTaskbar = 0 'False StartUpPosition = 3 'Windows Default Begin CommandButton salir Caption = "Salir" Left = 2160 Top = 2520 Width = 1695 Height = 495 TabIndex = 11 End Begin CommandButton new Caption = "Nuevo calculo" Left = 120 Top = 2520 Width = 1695 Height = 495 TabIndex = 10 End Begin CommandButton dividir Caption = "/" Left = 3240 Top = 1800 Width = 615 Height = 495 TabIndex = 9 BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin CommandButton por Caption = "x" Left = 2160 Top = 1800 Width = 615 Height = 495 TabIndex = 8 BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin CommandButton restar Caption = "-" Left = 1200 Top = 1800 Width = 615 Height = 495 TabIndex = 7 BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin CommandButton sumar Caption = "+" Left = 120 Top = 1800 Width = 615 Height = 495 TabIndex = 6 BeginProperty Font Name = "MS Sans Serif" Size = 13.5 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin TextBox res Left = 1680 Top = 1080 Width = 1215 Height = 405 TabIndex = 5 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin TextBox can2 Left = 1680 Top = 600 Width = 1215 Height = 405 TabIndex = 4 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0
  • 7. 'False EndProperty End Begin TextBox can1 Left = 1680 Top = 120 Width = 1215 Height = 405 TabIndex = 3 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 400 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin Label Label3 Caption = "Resultado" Left = 240 Top = 1200 Width = 1095 Height = 255 TabIndex = 2 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin Label Label2 Caption = "Cantidad2" Left = 240 Top = 720 Width = 1095 Height = 615 TabIndex = 1 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End Begin Label Label1 Caption = "Cantidad1" Left = 240 Top = 240 Width = 1215 Height = 495 TabIndex = 0 BeginProperty Font Name = "MS Sans Serif" Size = 9.75 Charset = 0 Weight = 700 Underline = 0 'False Italic = 0 'False Strikethrough = 0 'False EndProperty End End Attribute VB_Name = "Form1" MATRIZ NXM CODIGO FUENTE MATRIZ
  • 8. Begin VB.Form Form2 Caption = "Determinante 3*3 y 2*2" ScaleMode = 1 AutoRedraw = False FontTransparent = True Picture = "Form2.frx":0 BorderStyle = 1 'Fixed Single Icon = "Form2.frx":B179 LinkTopic = "Form2" MaxButton = 0 'False MinButton = 0 'False ClientLeft = 5415 ClientTop = 3330 ClientWidth = 8805 ClientHeight = 4575 StartUpPosition = 2 'CenterScreen Begin TextBox e5 Left = 5400 Top = 3840 Width = 735 Height = 375 Enabled = 0 'False TabIndex = 17 End Begin TextBox e1 Left = 3720 Top = 3360 Width = 495 Height = 375 TabIndex = 16 End
  • 9. Begin TextBox e2 Left = 4320 Top = 3360 Width = 495 Height = 375 TabIndex = 15 End Instalación Java Decompiler 1) Descargar programa con crack y ejecutar el instalador 2) Escoger el Idioma del paquete de instalación y click en Next.
  • 10. 3) Aceptar términos y Condiciones
  • 11. 4) Dar next hasta la ruta, cambiarlo en caso de ser necesario, caso contrario dejar en default 5) Descarmcar la casilla de intalacion de Firefox Downloader y next 6) Click en Install
  • 12. 7) Interfaz del programa
  • 13. PROGRAMAS A DESCOMPILAR VARIABLES PARA UNA DERIVADA CODIGO FUENTE VARIABLE package org.nfunk.jep; import java.util.Observable; public class Variable extends Observable { protected String name; private Object value; private boolean isConstant = false; private boolean validValue = false; protected Variable(String paramString) { this.name = paramString; this.value = null; this.validValue = false; } protected Variable(String paramString, Object paramObject) { this.name = paramString; this.value = paramObject; this.validValue = (paramObject != null); } public String getName() { return this.name; } public boolean isConstant() { return this.isConstant;
  • 14. } public void setIsConstant(boolean paramBoolean) { this.isConstant = paramBoolean; } public Object getValue() { return this.value; } public boolean hasValidValue() { return this.validValue; } public void setValidValue(boolean paramBoolean) { if (isConstant()) { return; } this.validValue = paramBoolean; } public boolean setValue(Object paramObject) { if (!setValueRaw(paramObject)) { return false; } setChanged(); notifyObservers(paramObject); return true; } protected boolean setValueRaw(Object paramObject) { if (this.isConstant) { return false; } this.validValue = true; this.value = paramObject; return true; } public String toString() { if ((!this.validValue) || (this.value == null)) { return this.name + ": null"; } if (this.isConstant) { return this.name + ": " + this.value.toString() + " (Constant)"; } return this.name + ": " + this.value.toString(); } }
  • 15. MATRIZ CODIGO FUENTE MATRIZ public class MatrixEvaluator implements ParserVisitor, EvaluatorI { private Stack stack = new Stack(); private MatrixJep mjep; public MatrixValueI evaluate(MatrixNodeI paramMatrixNodeI, MatrixJep paramMatrixJep) throws ParseException { this.mjep = paramMatrixJep; return (MatrixValueI)paramMatrixNodeI.jjtAccept(this, null); } public Object eval(Node paramNode) throws ParseException { MatrixValueI localMatrixValueI = (MatrixValueI)paramNode.jjtAccept(this, null); return localMatrixValueI.copy(); } public Object visit(SimpleNode paramSimpleNode, Object paramObject) { return null; } public Object visit(ASTStart paramASTStart, Object paramObject) { return null; } public Object visit(ASTConstant paramASTConstant, Object paramObject) { return ((ASTMConstant)paramASTConstant).getMValue(); } public Object visit(ASTVarNode paramASTVarNode, Object paramObject) throws ParseException { MatrixVariableI localMatrixVariableI = (MatrixVariableI)paramASTVarNode.getVar(); if (localMatrixVariableI.hasValidValue()) { return localMatrixVariableI.getMValue(); } if (!localMatrixVariableI.hasEquation()) {
  • 16. throw new ParseException("Tried to evaluate a variable with an invalid value but no equation"); } MatrixValueI localMatrixValueI = (MatrixValueI)localMatrixVariableI.getEquation().jjtAccept(this, paramObject); localMatrixVariableI.setMValue(localMatrixValueI); return localMatrixValueI; } public Object visit(ASTFunNode paramASTFunNode, Object paramObject) throws ParseException { MatrixNodeI localMatrixNodeI = (MatrixNodeI)paramASTFunNode; PostfixMathCommandI localPostfixMathCommandI = paramASTFunNode.getPFMC(); Object localObject1; if ((localPostfixMathCommandI instanceof MatrixSpecialEvaluationI)) { localObject1 = (MatrixSpecialEvaluationI)localPostfixMathCommandI; return ((MatrixSpecialEvaluationI)localObject1).evaluate(localMatrixNodeI, this, this.mjep); } if ((localPostfixMathCommandI instanceof CallbackEvaluationI)) { localObject1 = ((CallbackEvaluationI)localPostfixMathCommandI).evaluate(paramASTFunNode, this); if ((localObject1 instanceof MatrixValueI)) { localMatrixNodeI.getMValue().setEles((MatrixValueI)localObject1); } else { localMatrixNodeI.getMValue().setEle(0, localObject1); } return localMatrixNodeI.getMValue(); } if ((localPostfixMathCommandI instanceof SpecialEvaluationI)) { throw new ParseException("Encountered an instance of SpecialEvaluationI"); } Object localObject2; if ((localPostfixMathCommandI instanceof BinaryOperatorI)) { localObject1 = (BinaryOperatorI)localPostfixMathCommandI; localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject); MatrixValueI localMatrixValueI1 = (MatrixValueI)paramASTFunNode.jjtGetChild(1).jjtAccept(this, paramObject); return ((BinaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(), (MatrixValueI)localObject2, localMatrixValueI1); } if ((localPostfixMathCommandI instanceof UnaryOperatorI)) { localObject1 = (UnaryOperatorI)localPostfixMathCommandI; localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject); return ((UnaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(), (MatrixValueI)localObject2); } if ((localPostfixMathCommandI instanceof NaryOperatorI)) { localObject1 = (NaryOperatorI)localPostfixMathCommandI; localObject2 = new MatrixValueI[paramASTFunNode.jjtGetNumChildren()]; for (int k = 0; k < localObject2.length; k++) { localObject2[k] = ((MatrixValueI)paramASTFunNode.jjtGetChild(k).jjtAccept(this, paramObject)); } return ((NaryOperatorI)localObject1).calcValue(localMatrixNodeI.getMValue(), (MatrixValueI[])localObject2); } if ((localPostfixMathCommandI instanceof Comparative)) { localObject1 = (MatrixValueI)paramASTFunNode.jjtGetChild(0).jjtAccept(this, paramObject); localObject2 = (MatrixValueI)paramASTFunNode.jjtGetChild(1).jjtAccept(this, paramObject); this.stack.push(localObject1); this.stack.push(localObject2); localPostfixMathCommandI.setCurNumberOfParameters(2); localPostfixMathCommandI.run(this.stack); localMatrixNodeI.getMValue().setEle(0, this.stack.pop()); return localMatrixNodeI.getMValue(); } int i = paramASTFunNode.jjtGetNumChildren(); for (int j = 0; j < i; j++) { MatrixValueI localMatrixValueI2 = (MatrixValueI)paramASTFunNode.jjtGetChild(j).jjtAccept(this, paramObject); if (!localMatrixValueI2.getDim().equals(Dimensions.ONE)) { throw new ParseException("Arguments of " + paramASTFunNode.getName() + " must be scalers"); } this.stack.push(localMatrixValueI2.getEle(0)); } localPostfixMathCommandI.setCurNumberOfParameters(i); localPostfixMathCommandI.run(this.stack); localMatrixNodeI.getMValue().setEle(0, this.stack.pop()); return localMatrixNodeI.getMValue(); }
  • 17. }