Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




Lecherito

#22103 voy hasta a pedir vacaciones y estoy rezando para que salga cuando tenga ya mi casa reformada

1 respuesta
SupermaN_CK

#22105 El Diablo 2 nuevo es igual que el original salvo por los gráficos y alguna cosita nueva que han metido y se agradece (alijo más grande, por ejemplo). Los que jugamos al original y le echamos más horas que a ningún juego (como es mi caso) le daremos caña en cuanto salga.

1 respuesta
Ranthas

#22111 Te creía más fuerte hot-dog, ¿tú crees que no me atrae la perspectiva de volver a tirar a la basura miles de horas jugando warlock/druid/warrior? Pues sí, pero hay que resistir la tentación.

2 respuestas
Fyn4r

#22113 hostia es verdad, los putos droods que rotos estaban los hijos de puta xDDDD

1 respuesta
Lecherito

#22113 nano, fue el segundo juego al que le eche tantas horas y he conocido a tanta gente...

El druida lo tengo al 31, subiendolo poco a poco

Ranthas

#22114 Anda que los warlocks sl/sl no iban finos xD

1 respuesta
desu

Avanzando con el mini compilador.

Creo que ya tengo el BNF bien hecho y ando mirando la implementación.

spoiler

Lo jodido que me queda es para cada expresión, y sub expresion con parentesis) necesito un predicado y luego según el bool de DESPUES (problema no esta ants) ir componiéndolos y no se muy bien como hacer esto, lo meto en una lista y luego lo itero simplemente? Lo bueno que tiene la notacion polaca es que al ser (+ 2 1) ya sabes que simbolo operar y puedes componerlo mucho mas facil.

1 respuesta
Fyn4r

#22116 entonces montamos equipo de arenas, RMP en un momento xd

pineda

dadme un rato y me programo algo

B

#22117 pregunta seria ¿para qué necesitas hacer un compilador?

3 respuestas
_Rpv

#22120 para decir que ha hecho un compilador.

2
Fyn4r

#22120 para llegar al mínimo de 3 al mes

3
desu

#22120 Bueno tencicamente diria que es un inteprete mas que compilador, pero yo a estos y el transpiler los llamo todos compilador. De hecho hay cosas de macros y templates que tambien lo meteria.

What problems can the Interpreter design pattern solve? [3]

A grammar for a simple language should be defined
so that sentences in the language can be interpreted.

Tienes un lenguaje que necesitas ejecutar (generar codigo o interpretar) en otro lenguaje.

En mi caso me dan un lenguaje de reglas que se ha inventado un ingeniero industrial que no sabe ni atarse las zapatillas sin cagarse encima y lo tengo que interpretar en la JVM xq es lo que usan mis compis.

1 respuesta
B

#22123 interesante, nunca se me ha dado un caso así, pero trabajando con legacy microsoft es normal

2 respuestas
Wei-Yu

#22124 al final piensa que puede surgir la situación como parte de modernizar un proceso legacy; tienes unas herramientas antiguas que te permitía definir unas reglas o unas operaciones en un pseudolenguaje o alguna historia random y ahora necesitas incorporar esos proceso al resto de infraestructura más o menos moderna que tienes en tu negocio.

Cosas así desde fuera suenan guay pero luego a la hora de picarlo seguro que es un porculo del quince. Que me corrija desu si en su caso no es así pero desde la barra del bar es con la idea que me quedo de situaciones similares.

1 1 respuesta
desu

#22124 lo habitual es lo contrario. Creas un DSL para los usuarios.. Los usuarios usan tu Dsl y tu lo interpretas.

El problema es que ahora tenemos que compartir el dsl y no puedes compartir el intérprete. Por lo tanto tengo que hacer otro.

Lo suyo seria que me den acceso por api a su intérprete y usarlo. Pero bueno, en esta vida la gente prefiere hacer basura y proyectos sobre complejos a ponerse cada uno a hacer lo que les toca.

Hace unas semanas pregunté sobre un tema parecido en el caso de un websercice.

Es una puta basura picarlo.. Estoy mirando también de pasar su lenguaje a Javascript y usar un intérprete que java lleva.. Entonces haría un transpiler a la ts que interpretaría v8 y pillaria el resultado.. Asi me ahorro el intérprete.

https://www.adictosaltrabajo.com/2015/09/21/introduccion-a-nashorn-el-motor-de-javascript-de-java-8/

Como no tengo que hacer mucho trabajo, son unas 200 reglas y me da igual si tarda un poco mas, seguramente hare esto. El interprete lo hare for fun despues XD. De momento he hecho el diseño asi no me da pereza y solo tengo que picarlo.

Lo bueno es que si tengo estas reglas:

char_at(1) == 'T' OR char_at(6) == 'Y'

Puedo hacer js bastante facil haciendo replaces en las strings, cambiando los AND y OR por && ||

const evaluate = (word) => word.charAt(1) == 'T' || word.charAt(6) == 'Y'

Y luego evaluarlo pasandole una word. He leido que va bastante lento este interprete de java, pero como digo prefiero hacer esta guarradinha que funciona y no es codigo dificil de mantener para un pajeet en el futuro que resolverlo bien cuando no hace falta... Aunque resolverlo bien es un buen ejercicio.

1 1 respuesta
eisenfaust

#22048

lenguaje facil (javascript, python): mujeres woke y soyboys
lenguaje medio (java, pascal): gente normal con curro normal
lenguaje dificil (lisp, haskell): nazbols y trans
lenguaje de enfermos mentales (forth, ats): underflow ?

choose wisely

3 respuestas
B

#22125 #22126 gracias por las explicaciones, es muy interesante

#22127 mi main lenguaje es un híbrido de C y Pascal jajajaj ¿cómo lo calificarías?

Ranthas
#22127eisenfaust:

lenguaje medio (java, pascal): gente normal con curro normal

???

1 2 respuestas
Kaledros

#22129 Debe estar enfermo o algo, yo también me he quedado con la misma cara.

Wei-Yu

jaja os ha llamado neurotípicos

4
_Rpv

y los de .net que somos?

3 respuestas
Fyn4r

#22129 ah ahora si que quieres ser una minoría

1 respuesta
Wei-Yu

#22132 yo currando me siento como un cuck porque tengo las manos atadas mientras se follan mi cpu.

Traber

#22132 Los putos amos, abrázame hermano.

1 respuesta
vivora

#22127 Yo que estoy en PHP me pondrías en enfermos mentales?

Leos

A los de php no nos quieren ni etiquetar

2 respuestas
Amazon

#22137 https://www.php.net/manual/es/language.basic-syntax.phptags.php

Ranthas

#22133 Qué te gusta hacer daño

#22137 Merecido lo tenéis

desu

Ya he terminado.

La API:

        JavascriptInterpreter javascriptInterpreter = new JavascriptInterpreter();
        String dsl = "is_char_at_word(word,1) == 'Y'";
        Predicate<String> predicate = javascriptInterpreter.makePredicate(dsl);
        predicate.test("some word");

Si creiais que java daba asco imaginaos interpretar javascript dentro de java.

No se he tardado 3h al final, no se, con un poco mas creo que me hago el interprete a mano y quito la basura de javascript pero bueno. Cest la vie.

No es tan malo en rendimiento como esperas para algo tan peque;o.

este benchmark no me inspiraba confianza XDDDDDDDD

1 1 respuesta