www.state-it.info

Gran base de respuestas a las preguntas de los desarrolladores
Header decor

la mejor manera de escribir, el intérprete de javascript-based idioma?

Interface 2017-12-15 00:36:11

Quiero hacer simple el idioma, con la posibilidad de insertar los trozos de js. (Ala jsx)
Como la mejor manera de hacer esto? Como, en general, integran idiomas diferentes el uno en el otro. Por ejemplo html> js, jsx -> js, php> html etc.?

Tomo nota de que la AST de JavaScript'a mí no me necesita, me desea determinar las áreas con él. Es decir, el escape puede ser de alrededor de:

node
- type='block'
- children [
    node
      - type="js"
      - text="return foo"
...


Veo las siguientes rutas:

1) se puede tratar de resolver el problema sin analizar el js, pero esto conduce a problemas.
el Problema

En el caso de html, esto se expresa en el hecho de que el diseño de la <script>console.log('</script>')</script>
Se reconoce, no tanto como me gustaría

Griboks 2017-12-15 10:05:11

Con cuánto tiempo el texto entre comillas se convirtió en un problema para el analizador de?


AlexMaxTM 2017-12-15 10:09:36

Griboks, analizadores son diferentes, y que el código no es siempre un. Como un analizador tomará un невалидный código? <div class="aaa""> - y es que a veces se encuentra.


Griboks 2017-12-15 10:24:02

AlexMaxTM, la verdad. Aquí en js siempre escribo 1+*/2 y se muestra 3.


Interface 2017-12-15 14:24:58

Griboks, en la cuestión de en ninguna parte se dice que en el texto citado problema para el analizador de, pero se mencionó que de manera indiscriminada el js esto será проблеммой. Es decir, si todavía no { analizar js


Total answers: 5

potan 2017-12-18 20:57:13

Usar монодические/combinatorios analizadores. Los ejemplos se presentan usualmente en Haskell, pero el uso de este patrón no es difícil en casi cualquier idioma - es deseable la presencia de cortocircuitos y de la recolección de basura, sin ellos se puede pasar, pero la programación cae difícil.

SimAllll 2017-12-15 00:48:03

Como, en general, integran diferentes idiomas desde el дргуа. Por ejemplo html> js

2 absolutamente independientes de la biblioteca - una para el HTML, otra de algún JS-el motor de arranque con el ribeteado
básicamente funciona la primera, y como encuentra el elemento <script> - arranca la segunda

en php hay alguna al analizar hasta ¡el feni lo que le rodea, aunque html aunque brainfuck, él sólo busca <?php <? ?>, etc.

Stalker_RED 2017-12-15 01:02:57

1. <script>console.log('</script>')</script>Esta construcción, y en el navegador se puede (podía antes?) causar problemas. Sin embargo, no es especialmente difícil escribir un simple analizador, que determina que estas piezas dentro de las comillas.

3. jslint?

Interface 2017-12-15 01:11:26

más detalles acerca de cómo escribir un analizador? Especialmente simple.
No habían comprendido lo de los jslint. Utilizarlo como un analizador de?


Stalker_RED 2017-12-15 02:24:23

Interface, sorri, jslint fue sobre "en vivo незаброшенный analizador"

Sencillo - algo así como: https://jsfiddle.net/g9d14suv/
en realidad el analizador en las filas 4-16
él primitivo, pero el concepto debe ser entendido - перебираем carácter a carácter, y definimos dentro de las comillas es un símbolo, o no.


zoonman 2017-12-15 01:43:43

Lo que buscas se llama AST. acorn y esprima exactamente lo que usted está buscando.
Todavía hay https://developer.mozilla.org/en-US/docs/Mozilla/P...

Te recomiendo tomar https://github.com/syntax-tree/hast y obtener los nodos con JavaScript, y a su vez alimentar a JS AST.

NonameProgrammer 2017-12-18 19:27:27

por Lo que yo entiendo, es necesario hacer su idioma, pero bajo el js? Si es así, puede tratar de hacer el traductor de su idioma (sintaxis) y poner en js. A base de recoger cualquier aplicación de js en el paladar y la lengua. Y añade la sintaxis, o lo que necesites

Preguntas relacionadas:

Footer decor

© www.state-it.info | Base of answers to questions for developers and programmers.