Explore chapters and articles related to this topic
Solving and Parsing Equations
Published in Julio Sanchez, Maria P. Canton, Software Solutions for Engineers and Scientists, 2018
Julio Sanchez, Maria P. Canton
Typically a full-fledged parser, as used in a language compiler or interpreter, creates and manages a data structure that collects and stores all necessary information regarding the identifiers present in the program. This structure is usually called the symbol table. The symbol table is used in locating the data type and actual numerical value of identifiers. For example, in solving the expression: y = x * const_1
Low-Level Primitives
Published in Julio Sanchez, Maria P. Canton, William Perrizo, Space Image Processing, 2018
Julio Sanchez, Maria P. Canton
A typical compiler program creates and manages a data structure that collects and stores all necessary information about the identifiers present in the program. This structure is usually known as the symbol table. The symbol table is used by the parser and the solver to locate the data type and actual numerical value of the identifiers. For example, in solving the expression:
Low-complexity low-memory energy-efficient image coding for wireless image sensor networks
Published in The Imaging Science Journal, 2018
G. Suseela, Y. Asnath Victy Phamila
The proposed MECGR coder codes the symbols using static symbol table. GR code is a listless coder, hence reduces the memory requirement significantly. It also guarantees low energy consumption as it is directly applied to the transformed –quantized coefficients without the need of any special ordering or data structure. Also the coder uses complementary approach for coding the negative values instead of extra bits for representing the sign. Thus, the positive and negative values are coded with equal length and this also reduces the entropy. For a positive integer, the category is coded by ‘1’ prefixed with category number of 0’s and for negative integer it is complemented, which is ‘0’ prefixed with category number of 1’s. The coefficient category list and the pseudo code of the proposed coding algorithm are presented in Tables 1 and 2, respectively. The coder assumes eight different categories of symbols from 0 to 7. If the category is C, it contains 2*2C−1 (2C−1 positive valued elements and 2C−1 negative valued elements) elements and the elements are in arithmetic progression as
Profile-guided optimisation for indirect branches in a binary translator
Published in Connection Science, 2022
Jyun-Siang Huang, Wuu Yang, Yi-Ping You
There are several interesting directions for further studies. Due to the use of the LLVM IR, Rabbit needs to know the locations of functions in the binary code. This is a problem if the binary code is stripped off its symbol table. In that case, Rabbit blindly partitions the binary code into sections and treats the sections as functions. This ad hoc method hurts the performance of the resulting target code. Rabbit actually used several heuristics to locate functions within the binary code. There are works (Alves-Foss & Song, 2019) that attempt to locate functions by analysing the assembly code (which is obtained by disassembling the binary code). It would be interesting to investigate machine-learning techniques for locating functions.
Development of a CNC interpretation service with good performance and variable functionality
Published in International Journal of Computer Integrated Manufacturing, 2022
In general, the mapping process contains two parts: analysis part and synthesis part. The analysis part creates an intermediate representation of the source program in light of language specifications and stores information about the source program in a symbol table. Then, the synthesis part constructs the desired target program from the intermediate representation and information in the symbol table (Aho et al. 2007; Reinhard, Informaticien, and Hack 2013).