Dispositivo de traducción de lenguaje de programación
Descripción general
 Mejore la eficiencia al transferir el lenguaje de programación a otros idiomas. ] El medio de análisis de programa 2 encuentra una parte de datos de cadena de caracteres del archivo de programa de entrada 1 y envía los datos de cadena de caracteres al medio de traducción de cadena de caracteres 3. El medio de traducción de cadena de caracteres 3 traduce los datos de cadena de caracteres y envía el resultado de traducción a los medios de análisis de programas 2. El medio de análisis de programa 2 envía esto al medio de conversión de programa 4, y el medio de conversión de programa 4 corrige la parte en la que el programa ha cambiado debido a la traducción. El medio de verificación de programa 5 verifica si hay inconsistencia en el programa emitido por el medio de conversión de programa 4, y cuando hay inconsistencia, muestra una advertencia.
Campo técnico
La presente invención se refiere a un aparato de traducción de lenguaje de programación para traducir un programa informático.
Antecedentes de la técnica
Las redes de computadoras se han desarrollado, y las fuentes del programa están disponibles en todos los países del mundo. Sin embargo, dado que los mensajes y similares se muestran en idiomas extranjeros, sus contenidos son difíciles de comprender, por lo que está aumentando la demanda de traducir la fuente de dichos programas informáticos a sus propios idiomas. Convencionalmente, como un aparato de traducción de dicha fuente de programa informático, hay un aparato de traducción que reconoce una oración de comentario de un programa informático y traduce esa parte, como se describe, por ejemplo, en la Solicitud de Patente Japonesa abierta a inspección pública Nº 4 128926.
Tarea de solución
Sin embargo, en el aparato de traducción como el aparato de traducción convencional descrito anteriormente, incluso si solo se traduce texto de comentario, es útil que los seres humanos lean el programa fuente. Sin embargo, si se crea un módulo de carga a partir del programa y se ejecuta, se ejecuta la declaración de comentario Dado que es irrelevante para el uso del programa, por ejemplo, el mensaje contenido en el programa fuente se mostrará tal como está en un idioma extranjero. Para resolver esto, es suficiente traducir datos de cadenas de caracteres que no sean oraciones de comentarios incluidas en el programa de origen, pero si simplemente se traduce, se incluirá un error como un programa de ejecución Lo haré. Es decir, una cadena de símbolo especial para realizar control y similares puede aparecer en el lenguaje de programación además de los datos de cadena de caracteres. Sin embargo, cuando aparece una cadena de símbolos para control en los datos de cadena de caracteres, la cadena de símbolos permanece sin cambios La traducción puede causar inconsistencia en los resultados de traducción.
Desde ese punto de vista, se ha deseado realizar un aparato de traducción de lenguaje de programación que puede mejorar la eficacia en el caso de incompatibilidad como lenguaje de programación y cuando se transfiere el lenguaje de programación a otros lenguajes.
Solución
Para resolver el problema mencionado anteriormente, la presente invención adopta la siguiente constitución. Es decir, el aparato de traducción de lenguaje de programación de la presente invención comprende medios de análisis de programa para analizar un lenguaje de programación y encontrar una parte de datos de cadena de caracteres, medios de traducción de cadena de caracteres para traducir datos de cadena de caracteres encontrados por los medios de análisis de programa. Un medio de conversión de programa para corregir una parte del programa modificado traduciendo los medios de traducción de columna y los medios de verificación de programa para juzgar si hay inconsistencia en el programa emitido por los medios de conversión de programa Es una característica. Específicamente, cuando se describe un argumento en la cadena de caracteres, la conversión del programa significa si es necesaria o no la reorganización del argumento, y si es necesaria la reorganización, la reorganización de los argumentos Como se muestra en la FIG.
En el aparato de traducción de lenguaje de programación de la presente invención, el medio de análisis de programa encuentra la parte de los datos de cadena de caracteres del lenguaje de programación del archivo de programa de entrada y pasa la parte al medio de traducción de serie de caracteres. El medio de traducción de cadenas de caracteres traduce los datos de la cadena de caracteres y pasa el resultado de la traducción a los medios de análisis del programa. El medio de análisis de programa transfiere el resultado de la traducción a los medios de conversión del programa, y ​​el medio de conversión del programa corrige la parte donde el programa ha cambiado debido a la traducción de la cadena de caracteres. El medio de control del programa juzga si existe alguna incoherencia en el programa con respecto al resultado del programa por los medios de conversión del programa. El proceso de modificación concreto de los medios de conversión del programa es juzgar si es necesaria una reorganización del argumento cuando hay una descripción del argumento en la cadena de caracteres, y si es necesaria la reorganización, Realice la clasificación. Además, la comprobación del programa significa que realiza una visualización de advertencia cuando hay inconsistencia en el programa.
Las realizaciones de la presente invención se describirán en detalle a continuación con referencia a los dibujos. La figura 1 es un diagrama de bloques que muestra una realización de un aparato de traducción de lenguaje de programación de la presente invención. El aparato mostrado en la figura está constituido por un sistema informático y comprende un archivo de programa de entrada 1, un medio de análisis de programa 2, un medio de traducción de cadena de caracteres 3, un medio de conversión de programa 4, un medio de control de programa 5 y un archivo de programa de salida 6. El archivo de programa de entrada 1 es un archivo de programa fuente de lenguaje C o similar almacenado en un dispositivo de almacenamiento de un sistema informático o entrada a través de una línea de comunicación. La figura 2 muestra un ejemplo de este programa fuente.
El medio 2 de análisis de programa tiene la función de analizar el programa fuente, encontrar datos de cadena de caracteres, enviar los datos de cadena de caracteres al medio 3 de traducción de cadena de caracteres y recibir el resultado de la traducción. El medio 3 de traducción de cadena de caracteres es un módulo de función para traducir los datos de cadena de caracteres encontrados por los medios de análisis de programa, y ​​está compuesto por un sistema de traducción automática conocido. Por ejemplo, como se describe en el programa fuente de la figura 2, dado que la porción rodeada por comillas dobles son datos de cadena de caracteres, el medio de análisis de programa 2 envía esta parte al medio 3 de traducción de cadena de caracteres y mediante el medio 3 de traducción de cadena de caracteres Recibe el resultado traducido.
El medio de conversión del programa 4 hace referencia al resultado de la traducción del medio de análisis del programa 2 y corrige la parte en la que el programa ha cambiado. Es decir, es un módulo funcional que cambia partes que no son los datos de cadena de caracteres del programa. El medio de comprobación del programa 5 es un módulo funcional que verifica si hay inconsistencias en el programa en función del resultado traducido y advierte al usuario mediante una visualización en una unidad de visualización o similar que no se muestra en el caso en que se encuentran puntos inconsistentes. . El archivo de programa de salida 6 es un archivo de programa de fuente generado por el aparato de traducción de lenguaje de programación.
A continuación, se describirá el funcionamiento del aparato de traducción de lenguaje de programación de esta realización. Primero, se describirá un ejemplo específico usando el ejemplo de programa mostrado en la figura 2. En este ejemplo específico, el medio de análisis de programa 2 extrae la porción de cadena de caracteres de la línea 26. Es decir, el análisis del programa significa 2 extractos: 'Atacaste% s por% s. // N' rodeado por comillas dobles.
La figura 3 es un diagrama para explicar la traducción de la porción de cadena de caracteres, (a) (d) que muestra el resultado del procesamiento de los medios de análisis del programa 2, los medios de verificación del programa 5. Aquí, (a) es la porción de cadena de caracteres primero extraída. Dado que el símbolo de designación de conversión (% s) se incluye en esta cadena de caracteres, el medio de análisis de programa 2 rodea esta parte con un símbolo de designación no traducido (en este caso, se supone que es //) Además, se realiza un etiquetado capaz de identificar de manera única el orden (en este caso, ## 1 ##, ## 2 ##). Este resultado es (b).
El medio 2 de análisis de programa envía este resultado al medio 3 de traducción de cadena de caracteres que lo traduce y devuelve el resultado. Este resultado es (c). El medio de análisis de programa 2 envía este resultado a los medios de conversión de programa 4. El medio de conversión de programa 4 sabe que el orden de las etiquetas del resultado ha sido cambiado, reorganiza el orden de los argumentos de lectura, y elimina la porción de etiqueta. En este caso, es correcto que el orden del monstruo y el arma se inviertan, por lo que el medio de conversión del programa 4 reorganiza estos dos. Este resultado es (d).
De esta manera, el archivo de programa se traduce, y el archivo de programa de la figura 2 es el siguiente. La figura 4 muestra el resultado de salida del archivo de programa de la figura 2. El medio 4 de conversión del programa transfiere el resultado de la traducción al medio 5 de verificación del programa. El medio de verificación del programa 5 verifica si hay inconsistencias en el programa dependiendo del resultado traducido y le da una advertencia al usuario si se encuentra una incoherencia. En el ejemplo de la figura 4, dado que el tamaño de la matriz en la segunda fila es insuficiente, se producen errores de datos en las filas 14ª y 15ª. Es decir, aunque se declara como 6 caracteres en la segunda línea, dado que tiene 8 caracteres (2 caracteres de byte × 4) en las líneas 14 y 15, el medio 5 de comprobación del programa reconoce un error. Y el contenido del error se muestra en una unidad de visualización (no se muestra) para advertir al usuario.
A continuación, se describirá un flujo de procesamiento de cada configuración para realizar tal operación. La figura 5 es un diagrama de flujo de la operación. Primero, en el paso S1, el medio de análisis de programa 2 abre el archivo de programa de entrada 1. Luego, en el paso S2, se verifica si el final del archivo está presente o no. Si no es el final, el proceso pasa al paso S3. En el paso S3, el medio de análisis de programa 2 lee un carácter del archivo de programa de entrada 1, y en el paso S4 se comprueba si este carácter es el comienzo de los datos de cadena de caracteres (constante de cadena de caracteres).
En el paso S4, si no se trata de datos de cadena de caracteres, el carácter de lectura se envía tal como está (paso S5), y el proceso vuelve al paso S2. Por otro lado, si se trata de datos de cadena de caracteres en el paso S4, se lee hasta el final de los datos de cadena de caracteres (etapa S6). Es decir, en el paso S3, en el paso S6 de la figura 2, en el caso del archivo de programa de la figura 2, la lectura comienza desde 't' del primer 'typedef' y hasta '// n' rodeado por la última comilla doble.
En la siguiente etapa S7, el medio de análisis de programa 2 verifica si el símbolo de designación de conversión está incluido o no en los datos de cadena de caracteres. Aquí, el símbolo de designación de conversión significa, por ejemplo,% s,% d, etc. en lenguaje C, y un valor que se sustituirá después de que los datos de la cadena de caracteres se puedan describir como un argumento. Si hay un símbolo de designación de conversión en el paso S7, el proceso pasa al paso S8, y si no hay un símbolo de designación de conversión, el proceso pasa al paso S16 que se describirá más adelante. En el paso S8, el medio de análisis de programa 2 agrega un identificador (etiqueta) al símbolo de designación de conversión, y el medio de traducción de cadena de caracteres 3 lo rodea con un símbolo de designación no traducido para no realizar el procesamiento de traducción. En el ejemplo anterior, el identificador es ## 1 ## etc., y el símbolo de designación no traducido es //.
En el paso S9, el medio 3 de traducción de cadena de caracteres realiza un proceso de traducción. En el paso S10, el medio de conversión del programa 4 verifica si el orden de las etiquetas del resultado de la traducción ha cambiado, y si ha cambiado, el medio de conversión del programa 4 pasa al paso S11, de lo contrario avanza al paso S12. En el paso S11, el medio de conversión de programa 4 lee los argumentos después de la constante de cadena de caracteres y los reorganiza. Esta es la reorganización de 'monstruo' y 'arma' en el ejemplo anterior. En el paso S12, el medio 4 de conversión del programa elimina la etiqueta del resultado de la traducción y emite el resultado. Luego, el proceso vuelve al paso S2.
En el paso S13, dado que el archivo se cierra en el paso S2, el medio de análisis de programa 2 cierra el archivo. En el paso S14, el medio de verificación de programa 5 verifica si hay contradicción en el programa emitido por el medio de conversión de programa 4, y si no hay inconsistencia, el proceso de traducción del lenguaje de programación finaliza. Por otro lado, si hay inconsistencia en el programa en el paso S14, el proceso pasa al paso S15, y en el paso S15, se visualiza un mensaje de advertencia. En el ejemplo anterior, se muestra un mensaje que indica que hay un error en las líneas 14 y 15 del programa. En el paso S16, dado que no existe un símbolo de designación de conversión en la constante de cadena de caracteres en el paso S7, el medio 3 de traducción de cadena de caracteres realiza el proceso de traducción tal como está.
Debe observarse que el aparato de traducción del lenguaje de programación de la presente invención no está limitado a la realización anterior. En la realización, se ejemplifica el procesamiento de la traducción de la frase en inglés a la oración en japonés. Sin embargo, al cambiar la secuencia de caracteres, la traducción significa 3, procesamiento de la traducción de la oración japonesa al inglés, traducción a otros idiomas, etc. . Además, el lenguaje de programación al que se aplica la presente invención puede aplicarse no solo al lenguaje C, sino también a los idiomas para todos los programas informáticos. Además, en la realización anterior, se indica un error del número de caracteres como una comprobación de los medios de comprobación del programa 5, pero la presente invención no se limita a esto, y se realiza una verificación de las discrepancias en diversos programas.
Efecto de la invención
Como se describió anteriormente, de acuerdo con el aparato de traducción de lenguaje de programación de la presente invención, es posible traducir los datos de cadena de caracteres en el programa, corregir la parte modificada por el resultado de la traducción y verificar adicionalmente el programa en busca de inconsistencia. , De modo que se puede obtener un resultado de traducción que no cause incoherencia como lenguaje de programación y que el trabajo manual se reduzca considerablemente cuando el idioma de programación se transfiere a otro idioma.
Además, si hay una descripción de argumento en la cadena de caracteres, se verifica si la reestructuración del argumento es necesaria como resultado de la traducción, y si es necesario reorganizar los argumentos, el argumento se reorganiza Por lo tanto, incluso cuando es necesario reorganizar los argumentos de una función específica, la reorganización se realiza automáticamente, se pueden obtener resultados de traducción precisos como un programa y se puede reducir el trabajo manual.
Breve descripción de los dibujos La figura 1 es un diagrama de bloques de un aparato de traducción de lenguaje de programación de la presente invención.
La figura 2 es un diagrama que muestra un ejemplo de un programa de fuente en el aparato de traducción de lenguaje de programación de la presente invención.
La figura 3 es un diagrama explicativo de la traducción de una porción de cadena de caracteres procesada por el aparato de traducción de lenguaje de programación de la presente invención.
La figura 4 es un diagrama que muestra un resultado de salida de un archivo de programa en el aparato de traducción de lenguaje de programación de la presente invención.
La figura 5 es un diagrama de flujo de operación del aparato de traducción de lenguaje de programación de la presente invención.
1 archivo de programa de entrada
2 Medios de análisis del programa
3 traducción de cadena significa
4 medios de conversión del programa
5 Verificación del programa significa
6 Archivo de programa de salida
Reclamo
Un medio de traducción de cadenas de caracteres para traducir datos de cadenas de caracteres encontrados por dichos medios de análisis de programas, y medios para traducir datos de cadenas de caracteres encontrados por dichos medios de análisis de programas, Un medio de conversión de programa para corregir una parte en la que el programa ha cambiado, y un medio de verificación de programa para juzgar si hay inconsistencia en el programa emitido por dicho medio de conversión de programa.
2. El aparato de traducción de lenguaje de programación de acuerdo con la reivindicación 1, en donde, cuando hay una descripción de un argumento en la cadena de caracteres, el medio de conversión de programa juzga si es necesario o no reorganizar el argumento como un resultado de traducción, y reordenamiento Cuando es necesario, reorganiza los argumentos en cuestión.
Dibujo :
Application number :1997-016405
Inventors :沖電気工業株式会社
Original Assignee :介弘達哉、山本秀樹、松下久明