WO2016199255A1 - 情報処理装置、情報処理方法および情報処理プログラム - Google Patents
情報処理装置、情報処理方法および情報処理プログラム Download PDFInfo
- Publication number
- WO2016199255A1 WO2016199255A1 PCT/JP2015/066791 JP2015066791W WO2016199255A1 WO 2016199255 A1 WO2016199255 A1 WO 2016199255A1 JP 2015066791 W JP2015066791 W JP 2015066791W WO 2016199255 A1 WO2016199255 A1 WO 2016199255A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- code
- information processing
- compression
- compressed
- processing apparatus
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
- G06F8/42—Syntactic analysis
- G06F8/425—Lexical analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3084—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method
- H03M7/3088—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction using adaptive string matching, e.g. the Lempel-Ziv method employing the use of a dictionary, e.g. LZ78
Definitions
- the present invention relates to an information processing apparatus and the like.
- the information processing apparatus When executing a program described in an interpreted program language, the information processing apparatus performs lexical analysis on the source code of the program and assigns internal codes according to the result of the lexical analysis. Then, the information processing apparatus performs sequential processing according to the allocated internal code.
- the source code may be held in a compressed state.
- the information processing apparatus when executing the compressed interpreter format source code, the information processing apparatus performs lexical analysis and internal code assignment after executing a source code decompression process.
- FIG. 1 is a reference diagram showing an interpreter execution sequence.
- the information processing apparatus stores decompressed data obtained by decompressing all compressed data of a source program held in a compressed state in a storage area. Then, the information processing apparatus performs lexical analysis and internal code generation for all the decompressed data stored in the storage area, and further performs syntax analysis and execution of the interpreter for the generated internal code. As a result, the information processing apparatus performs lexical analysis and internal code generation on the decompressed data after decompressing the entire compressed data, and processing from the source code execution instruction to the end of execution takes time. It will take.
- the purpose is to improve the efficiency of interpreter-style source code interpreter execution.
- the information processing apparatus performs a lexical analysis unit that performs lexical analysis on an interpreted source code, and a source code that has been subjected to lexical analysis by the lexical analysis unit, as an internal code and a compressed code.
- a compression unit that compresses using a compression dictionary that associates the source code and an interpreter execution instruction for the source code compressed by the compression unit is received, the compressed source code is converted into internal code based on the compression dictionary And a conversion unit that sequentially executes processing based on the internal code converted by the conversion unit.
- FIG. 1 is a reference diagram showing an interpreter execution sequence.
- FIG. 2 is a diagram illustrating an example of an interpreter execution sequence according to the embodiment.
- FIG. 3 is a diagram illustrating a flow of compression processing according to the embodiment.
- FIG. 4 is a diagram illustrating an example of the data structure of the leaf structure according to the embodiment.
- FIG. 5 is a diagram illustrating an example of the data structure of the internal code correspondence table according to the embodiment.
- FIG. 6 is a diagram illustrating a block configuration example of a compressed file.
- FIG. 7 is a diagram illustrating the flow of the internal code conversion process according to the embodiment.
- FIG. 8 is a block diagram illustrating a functional configuration of the information processing apparatus according to the embodiment.
- FIG. 1 is a reference diagram showing an interpreter execution sequence.
- FIG. 2 is a diagram illustrating an example of an interpreter execution sequence according to the embodiment.
- FIG. 3 is a diagram illustrating a flow of compression processing according to the embodiment.
- FIG. 9 is a block diagram illustrating a functional configuration of the compression unit according to the embodiment.
- FIG. 10 is a block diagram illustrating a functional configuration of the execution unit according to the embodiment.
- FIG. 11 is a diagram illustrating an example of a flowchart of the compression processing according to the embodiment.
- FIG. 12 is a diagram illustrating an example of a flowchart of an execution process according to the embodiment.
- FIG. 13 is a diagram illustrating a hardware configuration of the information processing apparatus according to the embodiment.
- FIG. 14 is a diagram illustrating a configuration example of a program operating on a computer.
- FIG. 2 is a diagram illustrating an example of an interpreter execution sequence according to the embodiment.
- the interpreter compression process lexically analyzes an interpreter-type source program, associates a lexical analysis result with an internal code, assigns a compression code, and saves it in a compressed file.
- the interpreter execution process performs syntax analysis and interpreter execution through internal code conversion while the source program is compressed.
- Lexical analysis means dividing an uncompressed source program into words.
- the word includes a reserved word indicating a reserved word, a variable, a line feed, and a comment.
- the variable includes a variable indicating a numerical value (numerical variable), a constant, and a variable indicating an address (address variable). Examples of numerical variables include int_max and int_min. Examples of the constant include 100 and 1000. Examples of the address variable include proc_abc and sub_a.
- the information processing apparatus compresses the words divided by the lexical analysis using a compression dictionary that associates the internal code with the compression code.
- the internal code here refers to an internal code used when the interpreter is executed. By associating the internal code and the compression code with the compression dictionary, it is possible to convert the compression code into the internal code while the compressed source program remains in a compressed state.
- the information processing apparatus stores the compressed data in the storage area.
- the information processing apparatus converts the compressed data stored in the storage area into an internal code using a compression dictionary that associates the internal code with the compression code. Then, the information processing apparatus performs syntax analysis and interpreter execution on the converted internal code. As a result, when the interpreted source code is held in a compressed state, the execution speed from the interpreter execution instruction to the end of execution can be improved.
- the internal code suitable for the execution of the actual source program does not necessarily match the compression code (compression code) for the purpose of compression, so that the information processing apparatus assigns the code after the lexical analysis is completed. And a correspondence relationship with the internal code suitable for execution is generated in the compression dictionary.
- the information processing apparatus can use the regularity of the source program obtained by the lexical analysis for both the reduction of the file size and the code conversion for executing the program.
- FIG. 3 is a diagram illustrating a flow of compression processing according to the embodiment.
- the information processing device classifies the divided word name for each attribute.
- the information processing apparatus assigns the word names for each classified attribute to the leaves constituting the zelkova tree corresponding to the compression dictionary.
- the reserved word control sentence “IF” is assigned to the third leaf of the zelkova tree.
- the information processing apparatus sets the bit indicating reserved word 1 (control sentence) to “1” (ON) in the third leaf attribute area.
- the information processing apparatus sets a pointer to the area in which the substance of “IF” is stored as the pointer to the third leaf word.
- the pointer indicates, for example, the contents of an internal code correspondence table that associates an entity (content) with an internal code. That is, the pointer associates the compression code with the inner code.
- the information processing device counts the appearance frequency of the character strings and symbols of words according to the classification for each attribute. Then, the information processing apparatus assigns a shorter compression code to a word having a higher appearance frequency according to the classification for each attribute. That is, the information processing apparatus performs entropy encoding with the appearance frequency of words.
- the information processing apparatus sets the compression code assigned to the word in the leaf compression code area corresponding to the word.
- the information processing apparatus sets the code length of the compression code assigned to the word as the leaf compression code length.
- the information processing apparatus performs compression coding of the source code using the generated zelkova tree.
- the information processing apparatus stores the compressed data in a compressed file.
- FIG. 4 is a diagram illustrating an example of the data structure of the leaf structure according to the embodiment.
- the leaf structure stores a leaf indicator, a compression code length, an attribute, a compression code, and a pointer to a word.
- the leaf sign is information that uniquely identifies a leaf.
- the compression code length is the code length of the compression code.
- the attribute is information indicating the attribute of the word.
- the attributes include an 8-bit symbol (comment), a line feed, a reserved word 1 (control statement), a reserved word 2 (operator), a variable 1 (numeric variable), a variable 2 (constant), and a variable 3 (address variable). Each bit is associated with each attribute, and the corresponding bit is set to 1 (ON) according to the attribute of the word.
- FIG. 5 is a diagram illustrating an example of the data structure of the internal code correspondence table according to the embodiment.
- the internal code correspondence table stores contents, byte lengths, and internal codes in association with each other.
- the content is a character string of words.
- the byte length is the byte length of the content.
- the internal code is an internal code associated with the content.
- the internal code is assigned according to the classification for each attribute. For example, if the attribute is reserved word 1 (control statement), it is assigned from “01”, and if the attribute is variable 1 (numeric variable), it is assigned from “10”, and the attribute is reserved word 2 In the case of (operator), it is assigned from “20”. As an example, when the content is “IF”, “01” is assigned as the internal code.
- the internal code correspondence table is created and stored in advance.
- FIG. 6 is a diagram illustrating a block configuration example of a compressed file.
- the compressed file has a header portion and compressed code data.
- the compression code data corresponds to each compression code generated by the information processing apparatus.
- the header part has information such as information for identifying a compression algorithm used for generating a compressed file and parameters used for compression, for example. For example, in the header part, a character string of a word, a word attribute, and an appearance frequency are stored in association with each other. This is because the zelkova tree needs to be generated when the information processing apparatus executes the interpreter.
- FIG. 7 is a diagram illustrating the flow of the internal code conversion process according to the embodiment.
- the information processing apparatus generates a zelkova tree using information stored in the header portion of the compressed file. For example, the information processing apparatus assigns a character string of a word to a leaf constituting a zelkova tree.
- the information processing apparatus sets the word attribute to “1” (ON) in the leaf attribute area.
- the information processing apparatus sets a pointer to the content area that matches the character string of the word stored in the internal code correspondence table as the pointer to the leaf word.
- the information processing apparatus sets the compression code assigned based on the appearance frequency of the word as the leaf compression code, and sets the code length of the compression code as the leaf compression code length. That is, the information processing apparatus performs entropy encoding with the appearance frequency of words, and sets the encoded compression code as a leaf compression code.
- the information processing apparatus uses the generated zelkova tree to internally encode the compressed code data of the compressed file. For example, the information processing apparatus sequentially reads compressed codes from the compressed code data. The information processing apparatus compares the bit string of the read compression code with the bit string of the compression code assigned to the leaf, and specifies the leaf connected to the branch that hits the bit string of the read compression code. The information processing apparatus acquires an internal code corresponding to the content indicated by the pointer to the identified leaf word. That is, the information processing apparatus converts the read compressed code into an internal code.
- the information processing apparatus performs syntax analysis and interpreter execution for each line using the converted internal code.
- One line includes internal codes corresponding to a plurality of compression codes from “new line” to the next “new line”.
- the information processing apparatus directly converts the compressed state into the internal code without expanding the compressed state, thereby improving the execution speed of the interpreter. be able to. That is, the information processing apparatus can improve the execution speed from the interpreter execution instruction to the end of execution.
- the information processing apparatus performs syntax analysis using the attribute of the leaf corresponding to a plurality of compression codes for each line, and executes the interpreter using each internal code corresponding to the plurality of compression codes. Also good. As a result, the information processing apparatus performs the syntax analysis using the leaf attribute, so that the execution speed of the interpreter can be further improved.
- FIG. 8 is a block diagram illustrating a functional configuration of the information processing apparatus according to the embodiment. As illustrated in FIG. 8, the information processing apparatus 100 includes a compression unit 200 and an execution unit 300.
- the compression unit 200 is a processing unit that executes the compression processing shown in FIG.
- the execution unit 300 is a processing unit that executes an interpreter including the internal code conversion process shown in FIG.
- the storage unit 400 stores an internal code correspondence table 410.
- the internal code correspondence table 410 is the same as the data structure shown in FIG.
- FIG. 9 is a block diagram illustrating a functional configuration of the compression unit according to the embodiment.
- the compression unit 200 includes a file read unit 210, a lexical analysis unit 220, an appearance frequency totaling unit 230, a zelkova tree generation unit 240, a compression encoding unit 250, and a file write unit 260.
- the file read unit 210 reads the interpreter source program in the file.
- the file read unit 210 outputs the read source program to the lexical analysis unit 220 and the compression encoding unit 250.
- the lexical analyzer 220 performs lexical analysis on the source program. For example, the lexical analyzer 220 divides the source program for each word. The lexical analyzer 220 classifies the divided words into attributes. Lexical analysis unit 220 outputs the classification for each attribute to appearance frequency totaling unit 230 and zelkova tree generation unit 240.
- the appearance frequency totaling unit 230 totals the appearance frequencies of character strings and symbols of words belonging to the classification according to the classification for each attribute.
- the appearance frequency totaling unit 230 assigns a shorter compression code to the words with higher appearance frequency that are totaled according to the classification for each attribute. That is, the appearance frequency totaling unit 230 performs entropy encoding with the appearance frequency of words.
- the zelkova tree generation unit 240 generates zelkova trees according to attributes. For example, the zelkova tree generation unit 240 assigns the words for each attribute classified by the lexical analyzer 220 to the leaves constituting the zelkova tree. The zelkova tree generation unit 240 sets the attribute of the word to the attribute area corresponding to the word leaf. The zelkova tree generation unit 240 sets a pointer indicating a character string of a word as a pointer to a word corresponding to a word leaf. That is, the zelkova tree generation unit 240 sets a pointer to an area of content that matches the character string of the word stored in the internal code correspondence table 410 as a pointer to the word.
- the zelkova tree generation unit 240 sets the compression code assigned by the appearance frequency totaling unit 230 to the compression code corresponding to the word leaf, and sets the code length of the compression code to the compression code length corresponding to the word leaf. .
- the zelkova tree generation unit 240 outputs the generated zelkova tree to the compression encoding unit 250.
- the compression encoding unit 250 performs compression encoding of the source program using the generated zelkova tree.
- the compression encoding unit 250 outputs the compression code data of the source program to the file write unit 260.
- the file write unit 260 writes the compressed code data of the source program into the compressed file.
- the file write unit 260 writes the character strings and word attributes classified for each attribute by the lexical analyzer 220 together with the appearance frequencies counted by the appearance frequency totaling unit 230 in the header portion of the compressed file.
- FIG. 10 is a block diagram illustrating a functional configuration of the execution unit according to the embodiment.
- the execution unit 300 includes a file read unit 310, a zelkova tree generation unit 320, an internal code conversion unit 330, a syntax analysis unit 340, and an interpreter execution unit 350.
- the file read unit 310 When the file read unit 310 receives an execution instruction for a compressed file, the file read unit 310 reads the compressed file for which the execution instruction has been received. The file read unit 310 outputs the read compressed file to the zelkova tree generation unit 320 and the internal code conversion unit 330.
- the zelkova tree generation unit 320 generates a zelkova tree using information stored in the header portion of the compressed file.
- the information stored in the header part includes a character string, an attribute, and an appearance frequency for each word.
- the zelkova tree generation unit 320 assigns a character string of a word to leaves constituting the zelkova tree.
- the zelkova tree generation unit 320 sets the word attribute to “1” (ON) in the leaf attribute area.
- the zelkova tree generation unit 320 sets a pointer to a content area that matches the character string of the word stored in the internal code correspondence table 410 as a pointer to the leaf word.
- the zelkova tree generation unit 320 sets a compression code assigned based on the appearance frequency of words to the leaf compression code, and sets the code length of the compression code to the leaf compression code length. That is, the zelkova tree generation unit 320 performs entropy coding with the appearance frequency of words, and sets the coded compression code as a leaf compression code. The zelkova tree generation unit 320 outputs the generated zelkova tree to the internal code conversion unit 330.
- the internal code conversion unit 330 performs internal encoding of the compressed code data of the compressed file using the generated zelkova tree. For example, the internal code conversion unit 330 sequentially reads compressed codes from the compressed code data. The internal code conversion unit 330 compares the read bit string of the compression code with the bit string of the compression code assigned to the leaves of the zelkova tree, and specifies the leaf connected to the branch that hits the bit string of the read compression code. The internal code conversion unit 330 acquires an internal code corresponding to the content of the internal code correspondence table 410 indicated by the pointer to the identified leaf word. That is, the internal code conversion unit 330 converts the read compressed code into an internal code. The internal code conversion unit 330 outputs the converted internal code to the syntax analysis unit 340.
- the syntax analysis unit 340 performs syntax analysis using the converted internal code for each line. For example, the syntax analysis unit 340 performs syntax analysis using a plurality of internal codes from the internal code of “new line” to the internal code of the next “new line”. The syntax analysis unit 340 outputs a plurality of internal codes for one line to the interpreter execution unit 350. Note that the syntax analysis unit 340 may perform syntax analysis using leaf attributes corresponding to a plurality of compression codes from “new line” to the next “new line”.
- the interpreter execution unit 350 executes the interpreter by using a plurality of internal codes for one line. Note that the interpreter execution unit 350 uses each internal code corresponding to a plurality of compressed codes for one line when performing parsing using the leaf attributes corresponding to the plurality of compressed codes for one line. The interpreter can be executed.
- FIG. 11 is a diagram illustrating an example of a flowchart of the compression processing according to the embodiment.
- the information processing apparatus 100 determines whether or not a source program has been received (step S11). When determining that the source program is not received (step S11; No), the information processing apparatus 100 repeats the determination process until the source program is received.
- step S11 when it is determined that the source program has been received (step S11; Yes), the information processing apparatus 100 performs lexical analysis on the received source program (step S12).
- the information processing apparatus 100 classifies each lexical (word) subjected to lexical analysis for each attribute (step S13).
- the information processing apparatus 100 totals the appearance frequencies of words belonging to the classification according to the classification for each attribute (step S14).
- the information processing apparatus 100 assigns each word to a compression code according to the appearance frequency (step S15). That is, the information processing apparatus 100 assigns a shorter compressed code to the aggregated words having a higher appearance frequency according to the classification for each attribute.
- the information processing apparatus 100 assigns each word subjected to the lexical analysis to the leaves of the zelkova tree, and sets a compression code, an attribute, and a pointer to the internal code in the assigned zelkova tree leaf (step S16). For example, the information processing apparatus 100 sets the attribute of the word in the attribute area corresponding to the leaf of the word for each word. The information processing apparatus 100 sets a pointer indicating a character string of the word as a pointer to the word corresponding to the word leaf. That is, the information processing apparatus 100 sets a pointer to a content area that matches the character string of the word stored in the internal code correspondence table 410 as the pointer to the word. The information processing apparatus 100 sets the compression code assigned according to the appearance frequency to the compression code corresponding to the word leaf, and sets the code length of the compression code to the compression code length corresponding to the word leaf.
- the information processing apparatus 100 compresses and encodes the received source program with reference to the zelkova tree (step S17).
- the information processing apparatus 100 writes the compressed code data of the source program into the compressed file (step S18).
- the information processing apparatus 100 writes the character string and attribute of each word subjected to lexical analysis together with the appearance frequency in the header portion of the compressed file.
- FIG. 12 is a diagram illustrating an example of a flowchart of the compression processing according to the embodiment.
- the information processing apparatus 100 determines whether or not a compressed file has been received (step S21). If the information processing apparatus 100 determines that the compressed file has not been received (step S21; No), the determination process is repeated until the compressed file is received.
- the information processing apparatus 100 when it is determined that the compressed file has been received (step S21; Yes), the information processing apparatus 100 generates a zelkova tree (step S22). For example, the information processing apparatus 100 generates a zelkova tree using information stored in the header portion of the compressed file.
- the information processing apparatus 100 reads the compressed code from the compressed code data of the compressed file (step S23).
- the information processing apparatus 100 refers to the generated zelkova tree and identifies a leaf that hits the read compression code (step S24).
- the information processing apparatus 100 refers to the internal code correspondence table 410 and converts the identified leaf compression code into an internal code associated with the leaf (step S25). For example, the information processing apparatus 100 acquires an internal code corresponding to the content of the internal code correspondence table 410 indicated by the pointer to the identified leaf word.
- the information processing apparatus 100 parses the syntax for each line based on the converted internal code and executes the interpreter (step S26). For example, the information processing apparatus 100 performs syntax analysis using a plurality of internal codes from the internal code of “new line” to the internal code of the next “new line”. The information processing apparatus 100 executes an interpreter using such a plurality of internal codes. Note that the information processing apparatus 100 may perform syntax analysis for each line based on the attribute of the leaf corresponding to the compression code.
- the information processing apparatus 100 determines whether or not it is the end of the compression code data of the compressed file (step S27). If the information processing apparatus 100 determines that it is not the end of the compressed code data of the compressed file (step S27; No), the information processing apparatus 100 proceeds to step S23 to read the next compressed code.
- step S27 if the information processing apparatus 100 determines that it is the end of the compressed code data of the compressed file (step S27; Yes), it ends the execution process.
- the information processing apparatus 100 performs lexical analysis on the interpreted source code.
- the information processing apparatus 100 compresses the source code that has been subjected to lexical analysis using a compression dictionary that associates an internal code with a compression code.
- the information processing apparatus 100 receives an interpreter execution instruction for the compressed source code
- the information processing apparatus 100 converts the compressed source code into an internal code based on the compression dictionary.
- the information processing apparatus 100 sequentially performs processing based on the converted internal code.
- the information processing apparatus 100 can convert the compression state into the interpreter's internal code by using the compression dictionary that associates the internal code with the compression code without decompressing the compressed source code.
- the information processing apparatus 100 can improve the execution speed of the interpreter of the compressed source code.
- the information processing apparatus 100 generates a tree structure including a compression code corresponding to each word, an attribute, and a pointer to the internal code in a leaf for each word for which lexical analysis has been performed.
- the information processing apparatus 100 executes syntax analysis based on the attribute corresponding to the word registered in the generated tree structure, and executes interpreter processing based on the internal code corresponding to the word. According to such a configuration, the information processing apparatus 100 can quickly determine the compression code and the attribute thereof, so that the parsing can be speeded up.
- the information processing apparatus 100 stores the attribute and the appearance frequency in the source code in the header portion of the compressed file in association with each word for which lexical analysis has been performed on the source code. .
- the information processing apparatus 100 can generate a zelkova tree before executing the interpreter by using information stored in the header portion of the compressed file.
- the information processing apparatus 100 can improve the execution speed of the interpreter of the compressed source code by using the zelkova tree.
- the information processing apparatus 100 generates a zelkova tree as a tree structure corresponding to the compression dictionary.
- the information processing apparatus 100 is not limited to this, and may generate a Huffman tree as a tree structure corresponding to the compression dictionary. That is, the information processing apparatus 100 assigns a word for each attribute to each leaf constituting the Huffman tree corresponding to the compression dictionary, and sets the corresponding word compression code, attribute, and pointer to the word for each leaf. It ’s fine. Then, the information processing apparatus 100 may perform internal coding of the compressed source code using the generated Huffman tree, and perform syntax analysis and interpreter execution using the internal code.
- the information processing apparatus 100 when compressing the source program, the information processing apparatus 100 according to the embodiment writes the compression code data of the source program to the compressed file, and in addition, the word character string and attribute for each word, together with the appearance frequency, Write to the header of the compressed file. Then, when the information processing apparatus 100 executes the compressed source program, the information processing apparatus 100 generates a zelkova tree using information stored in the header portion of the compressed file, and uses the generated zelkova tree to generate a compressed file. The internal encoding of the compressed code data is performed. However, the information processing apparatus 100 is not limited to this.
- the compression code data of the source program is written to the compressed file, and in addition, the zelkova tree and the internal code correspondence table 410 are stored in the compressed file trailer. You may make it write in a part.
- the information processing apparatus 100 does not need to generate a zelkova tree when executing the compressed source program, and can simply encode the subsequent compressed code data by simply reading the zelkova tree. Furthermore, the execution speed of the interpreter can be improved.
- processing procedure, control procedure, specific name, information including various data and parameters shown in the embodiment can be arbitrarily changed unless otherwise specified.
- FIG. 13 is a diagram illustrating a hardware configuration of the information processing apparatus according to the embodiment.
- the computer 500 includes a CPU 501 that executes various arithmetic processes, an input device 502 that receives data input from a user, and a monitor 503.
- the computer 500 also includes a medium reading device 504 that reads a program or the like from a storage medium, an interface device 505 for connecting to another device, and a wireless communication device 506 for connecting to another device wirelessly.
- the computer 500 also includes a RAM 507 that temporarily stores various types of information and a hard disk device 508. Each device 501 to 508 is connected to a bus 509.
- the hard disk device 508 stores, for example, a compression processing program having the same functions as the processing units of the lexical analysis unit 220, the appearance frequency totaling unit 230, the zelkova tree generation unit 240, and the compression encoding unit 250 shown in FIG.
- the hard disk device 508 stores an execution processing program having the same functions as the processing units of the zelkova tree generation unit 320, the internal code conversion unit 330, the syntax analysis unit 340, and the interpreter execution unit 350 shown in FIG. Is done.
- the hard disk device 508 stores various data for realizing an information processing program including a compression processing program and an execution processing program.
- the CPU 501 reads out each program stored in the hard disk device 508, develops it in the RAM 507, and executes it to perform various processes.
- These programs can cause the computer 500 to function as, for example, the lexical analysis unit 220, the appearance frequency counting unit 230, the zelkova tree generation unit 240, and the compression encoding unit 250 illustrated in FIG.
- These programs can cause the computer 500 to function as, for example, the zelkova tree generation unit 320, the internal code conversion unit 330, the syntax analysis unit 340, and the interpreter execution unit 350 illustrated in FIG.
- the computer 500 may read and execute a program stored in a storage medium readable by the computer 500.
- the storage medium readable by the computer 500 corresponds to, for example, a portable recording medium such as a CD-ROM, a DVD disk, a USB (Universal Serial Bus) memory, a semiconductor memory such as a flash memory, a hard disk drive, and the like.
- the program may be stored in a device connected to a public line, the Internet, a LAN (Local Area Network), or the like, and the computer 500 may read and execute the program.
- FIG. 14 is a diagram illustrating a configuration example of a program operating on a computer.
- an OS Operating System
- the CPU 501 operates in accordance with the procedure in accordance with the OS 27 to control and manage the hardware group 26, whereby processing according to the application program 29 and the middleware 28 is executed in the hardware group 26. Further, in the computer 500, the middleware 28 or the application program 29 is read into the RAM 407 and executed by the CPU 501.
- the compression unit 200 When the CPU 501 accepts a word to be encoded, the compression unit 200 performs processing based on at least a part of the middleware 28 or the application program 29 (by controlling the hardware group 26 based on the OS 27). In addition, the information processing function of the execution unit 300 is realized. Each of the information processing functions may be included in the application program 29 itself, or may be a part of the middleware 28 that is executed by being called according to the application program 29.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Evolutionary Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Devices For Executing Special Programs (AREA)
Abstract
Description
図2は、実施例に係るインタープリタ実行のシーケンスの一例を示す図である。図2に示すように、インタープリタ圧縮処理は、インタープリタ形式のソースプログラムを字句解析し、字句解析結果を内部コードと関連付け、圧縮符号を割当て、圧縮ファイルに保存する。そして、インタープリタ実行処理は、ソースプログラムを圧縮された状態のままで、内部コード変換を経て、構文解析およびインタープリタの実行を行う。
図3は、実施例に係る圧縮処理の流れを示す図である。図3では、インタープリタ形式のソースプログラムには、例えば、「・・・IF A=100 THEN C=B ELSE C=D・・・」というデータが含まれる。
図4は、実施例に係る葉の構造体のデータ構造の一例を示す図である。図4に示すように、葉の構造体には、葉の標識と、圧縮符号長と、属性と、圧縮符号と、単語へのポインタとが格納される。葉の標識は、葉を一意に識別する情報である。圧縮符号長は、圧縮符号の符号長である。属性は、単語の属性を示す情報である。属性は、8ビット記号(コメント)、改行、予約語1(制御文)、予約語2(演算子)、変数1(数値変数)、変数2(定数)、変数3(アドレス変数)を含む。各属性には、各ビットが対応付けられ、単語の属性に応じて、対応するビットが1(ON)に設定される。
図5は、実施例に係る内部コード対応表のデータ構造の一例を示す図である。図5に示すように、内部コード対応表は、内容と、バイト長と、内部コードとを対応付けて記憶する。内容は、単語の文字列である。バイト長は、内容のバイト長である。内部コードは、内容に対応付けられる内部コードである。内部コードは、属性毎の分類に応じて、割り当てられる。例えば、属性が予約語1(制御文)である場合には、「01」から割り当てられ、属性が変数1(数値変数)である場合には、「10」から割り当てられ、属性が予約語2(演算子)である場合には、「20」から割り当てられる。一例として、内容が「IF」である場合には、内部コードとして「01」が割り当てられている。なお、内部コード対応表は、予め作成され、記憶される。
図6は、圧縮ファイルのブロック構成例を示す図である。図6に示すように、圧縮ファイルは、ヘッダ部と、圧縮符号データとを有する。圧縮符号データは、情報処理装置が生成した各圧縮符号に対応する。ヘッダ部は、例えば、圧縮ファイルの生成に用いられた圧縮アルゴリズムを識別する情報や、圧縮に用いられたパラメータなどの情報を有する。例えば、ヘッダ部には、単語の文字列と、単語の属性と、出現頻度とが対応付けて格納される。これは、情報処理装置がインタープリタを実行する際に、ケヤキ木の生成が必要であるからである。
図7は、実施例に係る内部コード変換処理の流れを示す図である。図7に示すように、情報処理装置は、圧縮ファイルのヘッダ部に記憶された情報を用いて、ケヤキ木を生成する。例えば、情報処理装置は、単語の文字列を、ケヤキ木を構成する葉に割り当てる。情報処理装置は、葉の属性の領域に、単語の属性を「1」(ON)に設定する。情報処理装置は、葉の単語へのポインタに、内部コード対応表に記憶された、単語の文字列と一致する内容の領域へのポインタを設定する。情報処理装置は、葉の圧縮符号に、単語の出現頻度を基に割り当てた圧縮符号を設定し、葉の圧縮符号長に圧縮符号の符号長を設定する。すなわち、情報処理装置は、単語の出現頻度でエントロピー符号化を行い、符号化された圧縮符号を葉の圧縮符号に設定する。
図8は、実施例に係る情報処理装置の機能構成を示すブロック図である。図8に示すように、この情報処理装置100は、圧縮部200と、実行部300とを有する。
図9は、実施例に係る圧縮部の機能構成を示すブロック図である。図9に示すように、圧縮部200は、ファイルリード部210、字句解析部220、出現頻度集計部230、ケヤキ木生成部240、圧縮符号化部250およびファイルライト部260を有する。
図10は、実施例に係る実行部の機能構成を示すブロック図である。図10に示すように、実行部300は、ファイルリード部310、ケヤキ木生成部320、内部コード変換部330、構文解析部340およびインタープリタ実行部350を有する。
図11は、実施例に係る圧縮処理のフローチャートの一例を示す図である。
図12は、実施例に係る圧縮処理のフローチャートの一例を示す図である。
上記実施例によれば、情報処理装置100は、インタープリタ形式のソースコードに対して、字句解析を行う。情報処理装置100は、字句解析が行われたソースコードを、内部コードと圧縮符号とを関連付ける圧縮辞書を用いて圧縮する。情報処理装置100は、圧縮されたソースコードに対するインタープリタの実行指示を受けた場合に、前記圧縮されたソースコードを前記圧縮辞書に基づいて内部コードに変換する。そして、情報処理装置100は、変換された内部コードに基づいて、順次処理を実行する。かかる構成によれば、情報処理装置100は、圧縮されたソースコードを伸長しなくても、内部コードと圧縮符号とを関連付ける圧縮辞書を用いることで圧縮状態からインタープリタの内部コードに変換できる。この結果、情報処理装置100は、圧縮されたソースコードのインタープリタの実行速度を向上させることができる。
以下、上述の実施形態における変形例の一部を説明する。下記の変形例のみでなく、本発明の本旨を逸脱しない範囲の設計変更は適宜行われうる。
図13は、実施例の情報処理装置のハードウェア構成を示す図である。図13の例が示すように、コンピュータ500は、各種演算処理を実行するCPU501と、ユーザからのデータ入力を受け付ける入力装置502と、モニタ503とを有する。また、コンピュータ500は、記憶媒体からプログラム等を読み取る媒体読取装置504と、他の装置と接続するためのインターフェース装置505と、他の装置と無線により接続するための無線通信装置506とを有する。また、コンピュータ500は、各種情報を一時記憶するRAM507と、ハードディスク装置508とを有する。また、各装置501~508は、バス509に接続される。
200 圧縮部
210 ファイルリード部
220 字句解析部
230 出現頻度集計部
240 ケヤキ木生成部
250 圧縮符号化部
260 ファイルライト部
300 実行部
310 ファイルリード部
320 ケヤキ木生成部
330 内部コード変換部
340 構文解析部
350 インタープリタ実行部
400 記憶部
410 内部コード対応表
Claims (5)
- インタープリタ形式のソースコードに対して、字句解析を行う字句解析部と、
前記字句解析部によって字句解析が行われたソースコードを、内部コードと圧縮符号とを関連付ける圧縮辞書を用いて圧縮する圧縮部と、
前記圧縮部によって圧縮されたソースコードに対するインタープリタの実行指示を受けた場合に、前記圧縮されたソースコードを前記圧縮辞書に基づいて内部コードに変換する変換部と、
前記変換部によって変換された内部コードに基づいて、順次処理を実行する実行部と、
を有することを特徴とする情報処理装置。 - 前記字句解析が行われた単語毎に、各単語に対応する圧縮符号、属性および内部コードへのポインタを葉に含むツリー構造を生成するツリー構造生成部を有し、
前記実行部は、前記ツリー構造生成部によって生成されたツリー構造に登録されている単語に対応する属性をもとに、構文解析を実行し、当該単語に対応する内部コードをもとに、インタープリタ処理を実行する
ことを特徴とする請求項1に記載の情報処理装置。 - 前記ソースコードに対して前記字句解析が行われた単語毎に属性および前記ソースコードにおける出現頻度を対応付けて、圧縮ファイルのヘッダ部に格納する格納部
を有することを特徴とする請求項1または請求項2に記載の情報処理装置。 - コンピュータが、
インタープリタ形式のソースコードに対して、字句解析を行い、
前記字句解析が行われたソースコードを、内部コードと圧縮符号とを関連付ける圧縮辞書を用いて圧縮し、
圧縮されたソースコードに対するインタープリタの実行指示を受けた場合に、前記圧縮されたソースコードを前記圧縮辞書に基づいて内部コードに変換し、
変換された内部コードに基づいて、順次処理を実行する
各処理を実行することを特徴とする情報処理方法。 - コンピュータに、
インタープリタ形式のソースコードに対して、字句解析を行い、
前記字句解析が行われたソースコードを、内部コードと圧縮符号とを関連付ける圧縮辞書を用いて圧縮し、
圧縮されたソースコードに対するインタープリタの実行指示を受けた場合に、前記圧縮されたソースコードを前記圧縮辞書に基づいて内部コードに変換し、
変換された内部コードに基づいて、順次処理を実行する
処理を実行させることを特徴とする情報処理プログラム。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2017523034A JP6428936B2 (ja) | 2015-06-10 | 2015-06-10 | 情報処理装置、情報処理方法および情報処理プログラム |
AU2015398151A AU2015398151B2 (en) | 2015-06-10 | 2015-06-10 | Information processing device, information processing method, and information processing program |
EP15894940.4A EP3309680B1 (en) | 2015-06-10 | 2015-06-10 | Information processing device, information processing method, and information processing program |
PCT/JP2015/066791 WO2016199255A1 (ja) | 2015-06-10 | 2015-06-10 | 情報処理装置、情報処理方法および情報処理プログラム |
US15/834,950 US10684831B2 (en) | 2015-06-10 | 2017-12-07 | Information processing apparatus, information processing method, and recording medium |
AU2019250125A AU2019250125B2 (en) | 2015-06-10 | 2019-10-15 | Information processing apparatus, information processing method, and information processing program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2015/066791 WO2016199255A1 (ja) | 2015-06-10 | 2015-06-10 | 情報処理装置、情報処理方法および情報処理プログラム |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/834,950 Continuation US10684831B2 (en) | 2015-06-10 | 2017-12-07 | Information processing apparatus, information processing method, and recording medium |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2016199255A1 true WO2016199255A1 (ja) | 2016-12-15 |
Family
ID=57503202
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/066791 WO2016199255A1 (ja) | 2015-06-10 | 2015-06-10 | 情報処理装置、情報処理方法および情報処理プログラム |
Country Status (5)
Country | Link |
---|---|
US (1) | US10684831B2 (ja) |
EP (1) | EP3309680B1 (ja) |
JP (1) | JP6428936B2 (ja) |
AU (2) | AU2015398151B2 (ja) |
WO (1) | WO2016199255A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10684831B2 (en) | 2015-06-10 | 2020-06-16 | Fujitsu Limited | Information processing apparatus, information processing method, and recording medium |
CN112416315A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Css代码的压缩方法、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61204741A (ja) * | 1985-03-06 | 1986-09-10 | Nec Corp | ソ−スプログラムの圧縮方法 |
JPH06290021A (ja) * | 1993-03-31 | 1994-10-18 | Nec Software Ltd | ソースプログラム圧縮方法 |
JP2000089965A (ja) * | 1998-09-09 | 2000-03-31 | Toshiba Corp | 言語処理システム、その方法および言語処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Family Cites Families (29)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH021027A (ja) | 1988-05-27 | 1990-01-05 | Hitachi Ltd | 圧縮形式ソースプログラムのコンパイル方式 |
JPH05233791A (ja) | 1992-02-24 | 1993-09-10 | Fujitsu Ltd | 画像形成装置用のテンプレート自動作成装置及びそれを用いた画質改善装置 |
US5590317A (en) | 1992-05-27 | 1996-12-31 | Hitachi, Ltd. | Document information compression and retrieval system and document information registration and retrieval method |
JPH05324730A (ja) | 1992-05-27 | 1993-12-07 | Hitachi Ltd | 文書情報検索装置 |
JP3446256B2 (ja) * | 1993-09-03 | 2003-09-16 | 株式会社日立製作所 | Faシステムの制御方法及び装置 |
US5577135A (en) * | 1994-03-01 | 1996-11-19 | Apple Computer, Inc. | Handwriting signal processing front-end for handwriting recognizers |
US5742828A (en) * | 1994-08-03 | 1998-04-21 | Microsoft Corporation | Compiler and method for evaluation of foreign syntax expressions in source code |
US6088740A (en) * | 1997-08-05 | 2000-07-11 | Adaptec, Inc. | Command queuing system for a hardware accelerated command interpreter engine |
US6061513A (en) * | 1997-08-18 | 2000-05-09 | Scandura; Joseph M. | Automated methods for constructing language specific systems for reverse engineering source code into abstract syntax trees with attributes in a form that can more easily be displayed, understood and/or modified |
CN1148657C (zh) | 1997-10-21 | 2004-05-05 | 富士通株式会社 | 文件处理方法和数据处理装置 |
JP2002067399A (ja) * | 2000-08-28 | 2002-03-05 | Matsushita Electric Ind Co Ltd | 印刷制御装置 |
US6606040B2 (en) * | 2001-02-13 | 2003-08-12 | Mosaid Technologies, Inc. | Method and apparatus for adaptive data compression |
JP2002318696A (ja) * | 2001-04-23 | 2002-10-31 | Mitsubishi Electric Corp | プログラム実行装置および方法 |
FR2828296B1 (fr) * | 2001-08-03 | 2003-12-12 | Trusted Logic | Procede de compression de code objet interprete par factorisation d'expressions arborescentes |
US6765513B2 (en) * | 2002-12-09 | 2004-07-20 | Texas Instruments Incorporated | Decoding bit streams compressed with compression techniques employing variable length codes |
US7788657B2 (en) * | 2004-02-27 | 2010-08-31 | Tvworks, Llc | Targeted runtime compilation |
US7417943B2 (en) * | 2004-08-11 | 2008-08-26 | Sonim Technologies, Inc. | Dynamic compression training method and apparatus |
US20060117307A1 (en) * | 2004-11-24 | 2006-06-01 | Ramot At Tel-Aviv University Ltd. | XML parser |
US7603719B2 (en) * | 2005-01-28 | 2009-10-13 | TVWorks, LLC. | Resource access control |
US20060236319A1 (en) * | 2005-04-15 | 2006-10-19 | Microsoft Corporation | Version control system |
US7703088B2 (en) * | 2005-09-30 | 2010-04-20 | Intel Corporation | Compressing “warm” code in a dynamic binary translation environment |
KR100871298B1 (ko) | 2007-04-09 | 2008-12-01 | 김도진 | 노지 감귤의 당도를 높이기 위한 감귤 보호 막 |
US8863115B2 (en) * | 2008-03-20 | 2014-10-14 | Sap Ag | Execution of program code having language-level integration of program models |
JP5267143B2 (ja) | 2008-03-27 | 2013-08-21 | 富士フイルム株式会社 | 撮像装置およびプログラム |
US8799877B2 (en) * | 2009-03-27 | 2014-08-05 | Optumsoft, Inc. | Interpreter-based program language translator using embedded interpreter types and variables |
US20110219357A1 (en) * | 2010-03-02 | 2011-09-08 | Microsoft Corporation | Compressing source code written in a scripting language |
US9225729B1 (en) * | 2014-01-21 | 2015-12-29 | Shape Security, Inc. | Blind hash compression |
US9430200B1 (en) * | 2015-06-04 | 2016-08-30 | Microsoft Technology Licensing Llc | Cross-library framework architecture feature sets |
WO2016199255A1 (ja) | 2015-06-10 | 2016-12-15 | 富士通株式会社 | 情報処理装置、情報処理方法および情報処理プログラム |
-
2015
- 2015-06-10 WO PCT/JP2015/066791 patent/WO2016199255A1/ja active Application Filing
- 2015-06-10 EP EP15894940.4A patent/EP3309680B1/en active Active
- 2015-06-10 AU AU2015398151A patent/AU2015398151B2/en active Active
- 2015-06-10 JP JP2017523034A patent/JP6428936B2/ja active Active
-
2017
- 2017-12-07 US US15/834,950 patent/US10684831B2/en active Active
-
2019
- 2019-10-15 AU AU2019250125A patent/AU2019250125B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61204741A (ja) * | 1985-03-06 | 1986-09-10 | Nec Corp | ソ−スプログラムの圧縮方法 |
JPH06290021A (ja) * | 1993-03-31 | 1994-10-18 | Nec Software Ltd | ソースプログラム圧縮方法 |
JP2000089965A (ja) * | 1998-09-09 | 2000-03-31 | Toshiba Corp | 言語処理システム、その方法および言語処理プログラムを記録したコンピュータ読み取り可能な記録媒体 |
Non-Patent Citations (1)
Title |
---|
See also references of EP3309680A4 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10684831B2 (en) | 2015-06-10 | 2020-06-16 | Fujitsu Limited | Information processing apparatus, information processing method, and recording medium |
CN112416315A (zh) * | 2020-06-16 | 2021-02-26 | 上海哔哩哔哩科技有限公司 | Css代码的压缩方法、电子设备和存储介质 |
CN112416315B (zh) * | 2020-06-16 | 2024-05-14 | 上海哔哩哔哩科技有限公司 | Css代码的压缩方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
AU2015398151B2 (en) | 2019-07-18 |
US20180095735A1 (en) | 2018-04-05 |
JP6428936B2 (ja) | 2018-11-28 |
AU2015398151A1 (en) | 2018-01-18 |
AU2019250125A1 (en) | 2019-11-07 |
EP3309680A1 (en) | 2018-04-18 |
EP3309680B1 (en) | 2021-04-21 |
EP3309680A4 (en) | 2018-06-06 |
JPWO2016199255A1 (ja) | 2018-03-29 |
US10684831B2 (en) | 2020-06-16 |
AU2019250125B2 (en) | 2020-12-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101841103B1 (ko) | Vlsi 효율적인 허프만 인코딩 장치 및 방법 | |
KR101247075B1 (ko) | 마크업 언어 데이터의 인코딩 | |
WO2019153700A1 (zh) | 编解码方法、装置及编解码设备 | |
CN106407285B (zh) | 一种基于rle和lzw的优化比特文件压缩与解压缩方法 | |
JP2002529849A (ja) | データ処理リソースを供給された内蔵システムにおいて実行可能な中間オブジェクトコードプログラムのためのデータ圧縮方法、および、この方法に対応しかつマルチアプリケーションを備えた内蔵システム | |
US20130021178A1 (en) | Using variable length code tables to compress an input data stream to a compressed output data stream | |
US20160217111A1 (en) | Encoding device and encoding method | |
JP6686639B2 (ja) | 符号化プログラム、符号化装置、符号化方法、復号化プログラム、復号化装置および復号化方法 | |
US20200294629A1 (en) | Gene sequencing data compression method and decompression method, system and computer-readable medium | |
US20200304779A1 (en) | Encoding apparatus and encoding method | |
JP2017073615A (ja) | 符号化プログラム、符号化方法、符号化装置、復号化プログラム、復号化方法および復号化装置 | |
AU2019250125B2 (en) | Information processing apparatus, information processing method, and information processing program | |
JP2017530592A (ja) | 適応率圧縮ハッシュ処理デバイス | |
KR101842420B1 (ko) | 정보 처리 장치 및 데이터 관리 방법 | |
US20160226516A1 (en) | Non-transitory computer-readable recording medium, compression method, decompression method, compression device, and decompression device | |
JP6693549B2 (ja) | 情報処理装置、情報処理方法および情報処理プログラム | |
US8018359B2 (en) | Conversion of bit lengths into codes | |
JP2021145281A (ja) | 圧縮装置、伸張装置及び方法 | |
CN113986820A (zh) | 一种lz4格式文件转换为gzip格式文件的方法 | |
US20070226724A1 (en) | Method and apparatus for firmware execution and provision | |
JP6511752B2 (ja) | 符号化装置、符号化方法、復号装置、復号方法、及び、プログラム | |
Berz et al. | Comparison of lossless data compression methods | |
JP2008257221A (ja) | 信号処理装置 | |
KR101705461B1 (ko) | 문자열 압축 및 해제를 위한 방법 및 장치 | |
JPH0865172A (ja) | データ圧縮装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 15894940 Country of ref document: EP Kind code of ref document: A1 |
|
ENP | Entry into the national phase |
Ref document number: 2017523034 Country of ref document: JP Kind code of ref document: A |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2015894940 Country of ref document: EP |
|
ENP | Entry into the national phase |
Ref document number: 2015398151 Country of ref document: AU Date of ref document: 20150610 Kind code of ref document: A |