pylatexenc Documentation

Size: px
Start display at page:

Download "pylatexenc Documentation"

Transcription

1 pylatexenc Documentation Release 1.2 Philippe Faist Apr 28, 2017

2

3 Contents: 1 Simple Parser for LaTeX Code The main LatexWalker class Exception Classes Macro Definitions Data Node Classes and Helpers Simple Latex to Text Converter Latex to Text Converter Class Known Macros and Environments Encode Unicode to LaTeX 13 4 Indices and tables 15 Python Module Index 17 i

4 ii

5 This package provides simple and heuristic conversion of LaTeX to unicode and vice versa. Quick example: >>> from pylatexenc.latex2text import LatexNodes2Text >>> latex = r"""\textbf{hi there!} Here is \emph{an equation}:... \begin{equation}... \zeta = x + i y... \end{equation}... where $i$ is the imaginary unit.... """ >>> print(latexnodes2text().latex_to_text(latex)) Hi there! Here is an equation: ζ = x + i y where i is the imaginary unit. And the other way around: >>> from pylatexenc.latexencode import utf8tolatex >>> text = u"à votre santé!" >>> print(utf8tolatex(text)) {\`A} votre sant{\'e}! Contents: 1

6 2 Contents:

7 CHAPTER 1 Simple Parser for LaTeX Code The latexwalker module provides a simple API for parsing LaTeX snippets, and representing the contents using a data structure based on nodes classes. LatexWalker will understand the syntax of most common macros. However, latexwalker is NOT a replacement for a full LaTeX engine. (Originally, latexwalker was desigend to extract useful text for indexing for text database searches of LaTeX content.) The main LatexWalker class class pylatexenc.latexwalker.latexwalker(s, macro_dict=none, **flags) A parser which walks through an input stream, parsing it as LaTeX markup. Arguments: s: the string to parse as LaTeX code macro_dict: a context dictionary of known LaTeX macros. By default, the default global macro dictionary default_macro_dict is used. This should be a dictionary where the keys are macro names (see MacrosDef.macname) and values are MacrosDef instances. Additional keyword arguments are flags which influence the parsing. Accepted flags are: keep_inline_math=true False If this option is set to True, then inline math is parsed and stored using LatexMathNode instances. Otherwise, inline math is not treated differently and is simply kept as text. tolerant_parsing=true False If set to True, then the parser generally ignores syntax errors rather than raising an exception. strict_braces=true False This option refers specifically to reading a encountering a closing brace when an expression is needed. You generally won t need to specify this flag, use tolerant_parsing instead. get_latex_braced_group(pos, brace_type= { ) Reads a latex expression enclosed in braces {... }. The first token of s[pos:] must be an opening brace. 3

8 Returns a tuple (node, pos, len), where node is a LatexGroupNode instance, pos is the first char of the expression (which has to be an opening brace), and len is its length, including the closing brace. get_latex_environment(pos, environmentname=none) Reads a latex expression enclosed in a \begin{environment}...\end{environment}. The first token in the stream must be the \begin{environment}. If environmentname is given and nonempty, then additionally a LatexWalkerParseError is raised if the environment in the input stream does not match the provided name. This function will attempt to heuristically parse an optional argument, and possibly a mandatory argument given to the environment. No space is allowed between egin{environment} and an opening square bracket or opening brace. Returns a tuple (node, pos, len) with node being a LatexEnvironmentNode. get_latex_expression(pos, strict_braces=none) Reads a latex expression, e.g. macro argument. This may be a single char, an escape sequence, or a expression placed in braces. This is what TeX calls a token (and not what we call a token... anyway). Returns a tuple (<LatexNode instance>, pos, len). pos is the first char of the expression, and len is its length. get_latex_maybe_optional_arg(pos) Attempts to parse an optional argument. Returns a tuple (groupnode, pos, len) if success, otherwise returns None. get_latex_nodes(pos=0, stop_upon_closing_brace=none, stop_upon_end_environment=none, stop_upon_closing_mathmode=none) Parses latex content stored in self.s into a list of nodes. Returns a tuple (nodelist, pos, len) where nodelist is a list of LatexNode s. If stop_upon_closing_brace is given and set to a character, then parsing stops once the given closing brace is encountered (but not inside a subgroup). The brace is given as a character, ] or }. The returned len includes the closing brace, but the closing brace is not included in any of the nodes in the nodelist. If stop_upon_end_environment is provided, then parsing stops once the given environment was closed. If there is an environment mismatch, then a LatexWalkerParseError is raised except in tolerant parsing mode (see py:meth:parse_flags()). Again, the closing environment is included in the length count but not the nodes. get_token(pos, brackets_are_chars=true, environments=true, keep_inline_math=none) Parse the token in the stream pointed to at position pos. Returns a LatexToken. Raises LatexWalkerEndOfStream if end of stream reached. If brackets_are_chars=false, then square bracket characters count as brace_open and brace_close token types (see LatexToken); otherwise (the default) they are considered just like other normal characters. If environments=false, then begin and end tokens count as regular macro tokens (see LatexToken); otherwise (the default) they are considered as the token types begin_environment and end_environment. If keep_inline_math is not None, then that value overrides that of self.keep_inline_math for the duration of this method call. parse_flags() The parse flags currently set on this object. Returns a dictionary with keys keep_inline_math, tolerant_parsing and strict_braces. 4 Chapter 1. Simple Parser for LaTeX Code

9 Exception Classes class pylatexenc.latexwalker.latexwalkererror Generic exception class raised by this module. class pylatexenc.latexwalker.latexwalkerparseerror(msg, s=none, pos=none) Parse error. The following attributes are available: msg (the error message), s (the parsed string), pos (the position of the error in the string, 0-based index). class pylatexenc.latexwalker.latexwalkerendofstream Reached end of input stream (e.g., end of file). Macro Definitions class pylatexenc.latexwalker.macrosdef(macname, optarg, numargs) Class which stores a Macro syntax. macname stores the name of the macro, without the leading backslash. optarg may be one of True, False, or None. if True, the macro expects as first argument an optional argument in square brackets. Then, numargs specifies the number of additional mandatory arguments to the command, given in usual curly braces (or simply as one TeX token) if False, the macro only expects a number of mandatory arguments given by numargs. The mandatory arguments are given in usual curly braces (or simply as one TeX token) if None, then numargs is a string of either characters { or [, in which each curly brace specifies a mandatory argument and each square bracket specifies an optional argument in square brackets. For example, {{[{ expects two mandatory arguments, then an optional argument in square brackets, and then another mandatory argument. pylatexenc.latexwalker.default_macro_dict The default context dictionary of known LaTeX macros. macname) and the values are MacrosDef instances. The keys are the macro names (MacrosDef. Data Node Classes and Helpers class pylatexenc.latexwalker.latextoken(tok, arg, pos, len, pre_space) Represents a token read from the LaTeX input. This is not the same thing as a LaTeX token, it s just a part of the input which we treat in the same way (e.g. a bunch of content characters, a comment, a macro, etc.) Information about the object is stored into the fields tok and arg. The tok field is a string which identifies the type of the token. The arg depends on what tok is, and describes the actual input. Additionally, this class stores information about the position of the token in the input stream in the field pos. This pos is an integer which corresponds to the index in the input string. The field len stores the length of the token in the input string. This means that this token spans in the input string from pos to pos+len. Leading whitespace before the token is not returned as a separate char -type token, but it is given in the pre_space field of the token which follows. Pre-space may contain a newline, but not two consecutive newlines Exception Classes 5

10 The tok field may be one of: char : raw characters which have no special LaTeX meaning; they are part of the text content. The arg field contains the characters themselves. macro : a macro invokation, but not begin or end The arg field contains the name of the macro, without the leading backslash. begin_environment : an invokation of begin{environment}. The arg field contains the name of the environment inside the braces. end_environment : an invokation of end{environment}. The arg field contains the name of the environment inside the braces. comment : a LaTeX comment delimited by a percent sign up to the end of the line. The arg field contains the text in the comment line, not including the percent sign nor the newline. brace_open : an opening brace. This is usually a curly brace, and sometimes also a square bracket. What is parsed as a brace depends on the arguments to get_token(). The arg is a string which contains the relevant brace character. brace_close : a closing brace. This is usually a curly brace, and sometimes also a square bracket. What is parsed as a brace depends on the arguments to get_token(). The arg is a string which contains the relevant brace character. mathmode_inline : a delimiter which starts inline math. This is (e.g.) a single $ character which is not part of a double $$ display environment delimiter. The arg is the string value of the delimiter in question ( $ ) class pylatexenc.latexwalker.latexnode(**kwargs) Represents an abstract node of the latex document. Use nodetype() to figure out what type of node this is. class pylatexenc.latexwalker.latexcharsnode(chars, **kwargs) A string of characters in the LaTeX document, without any special meaning. class pylatexenc.latexwalker.latexgroupnode(nodelist, **kwargs) A LaTeX group, i.e. {...}. class pylatexenc.latexwalker.latexcommentnode(comment, **kwargs) A LaTeX comment, delimited by a percent sign until the end of line. class pylatexenc.latexwalker.latexmacronode(macroname, nodeoptarg=none, nodeargs=[], **kwargs) Represents a macro type node, e.g. textbf class pylatexenc.latexwalker.latexenvironmentnode(envname, nodelist, optargs=[], args=[], **kwargs) A LaTeX Environment Node, i.e. begin{something}... end{something}. Arguments: envname: the name of the environment ( itemize, equation,...) nodelist: a list of LatexNode s that represent all the contents between the begin{...} instruction and the end{...} instruction. 6 Chapter 1. Simple Parser for LaTeX Code

11 optargs: any possible optional argument passed to the begin{...} instruction, for example in begin{enumerate}[label=roman*)] (Currently, only a single optional argument is parsed, but this argument still accepts anyway a list of :py:class: LatexNode s.) args: any possible regular arguments passed to the begin{...} instruction, for example in begin{tabular}{clr}. Currently, only a single regular argument is parsed at maximum, but this is anyway a list of LatexNode s. class pylatexenc.latexwalker.latexmathnode(displaytype, nodelist=[], **kwargs) A Math node type. Note that currently only inline math environments are detected. Arguments: displaytype: either inline or display 1.4. Data Node Classes and Helpers 7

12 8 Chapter 1. Simple Parser for LaTeX Code

13 CHAPTER 2 Simple Latex to Text Converter A simplistic, heuristic LaTeX code parser allowing to returns a text-only approximation. Suitable, e.g. for indexing tex code in a database for full text searching. The main class is LatexNodes2Text. For a quick start, try: from pylatexenc.latex2text import LatexNodes2Text latex = "... LaTeX code..." text = LatexNodes2Text().latex_to_text(latex) Latex to Text Converter Class class pylatexenc.latex2text.latexnodes2text(env_dict=none, macro_dict=none, text_replacements=none, **flags) Simplistic Latex-To-Text Converter. This class parses a nodes structure generated by the latexwalker module, and creates a text representation of the structure. It is capable of parsing \input directives safely, see set_tex_input_directory() and read_input_file(). By default, \input and \include directives are ignored. Arguments to the constructor: env_dict, macro_dict are dictionaries of known environment and macro definitions. default_env_dict and default_macro_dict, respectively. They default to text_replacements are string replacements to apply onto the final string, as final touches. This defaults to default_text_replacements. Additional keyword arguments are flags which may influence the behavior: keep_inline_math=true False: If set to True, then inline math is kept using dollar signs, otherwise it is incorporated as normal text. 9

14 keep_comments=true False: If set to True, then LaTeX comments are kept (including the percent-sign); otherwise they are discarded. latex_to_text(latex, **parse_flags) Parses the given latex code and returns its textual representation. The parse_flags are the flags to give on to the pylatexenc.latexwalker.latexwalker constructor. node_to_text(node) Return the textual representation of the given node. nodelist_to_text(nodelist) Extracts text from a node list. nodelist is a list of nodes as returned by pylatexenc.latexwalker. LatexWalker.get_latex_nodes(). read_input_file(fn) This method may be overridden to implement a custom lookup mechanism when encountering \input or \include directives. The default implementation looks for a file of the given name relative to the directory set by set_tex_input_directory(). If strict_input=true was set, we ensure strictly that the file resides in a subtree of the reference input directory (after canonicalizing the paths and resolving all symlinks). You may override this method to obtain the input data in however way you see fit. (In that case, a call to set_tex_input_directory() may not be needed as that function simply sets properties which are used by the default implementation of read_input_file().) This function accepts the referred filename as argument (the argument to the \input macro), and should return a string with the file contents (or generate a warning or raise an error). set_tex_input_directory(tex_input_directory, latex_walker_init_args=none, strict_input=true) Set where to look for input files when encountering the \input or \include macro. Alternatively, you may also override read_input_file() to implement a custom file lookup mechanism. The argument tex_input_directory is the directory relative to which to search for input files. If strict_input is set to True, then we always check that the referenced file lies within the subtree of tex_input_directory, prohibiting for instance hacks with.. in filenames or using symbolic links to refer to files out of the directory tree. The argument latex_walker_init_args allows you to specify the parse flags passed to the constructor of pylatexenc.latexwalker.latexwalker when parsing the input file. Known Macros and Environments class pylatexenc.latex2text.envdef(envname, simplify_repl=none, discard=false) An environment definition. envname: the name of the environment simplify_repl: the replacement text of the environment. This is either a callable or a string. If it is a callable, it must accept a single argument, the pylatexenc.latexwalker. LatexEnvironmentNode representing the LaTeX environment. If it is a string, it may contain %s which will be replaced by the environment contents converted to text. discard: if set to True, then the full environment is discarded, i.e., it is converted to an empty string. 10 Chapter 2. Simple Latex to Text Converter

15 class pylatexenc.latex2text.macrodef(macname, simplify_repl=none, discard=none) A macro definition. macname: the name of the macro (no backslash) simplify_repl: either a string or a callable. The string may contain %s replacements, in which the macro arguments will be substituted. The callable should accept the corresponding pylatexenc. latexwalker.latexmacronode as an argument. discard: if set to True, then the macro call is discarded, i.e., it is converted to an empty string. pylatexenc.latex2text.default_env_dict The default context dictionary of known LaTeX environment definitions and how to convert them to text. This is a dictionary with keys the environment name (EnvDef.envname) and values are EnvDef instances. pylatexenc.latex2text.default_macro_dict The default context dictionary of known LaTeX macro definitions and how to convert them to text. This is a dictionary with keys the macro name (MacroDef.macname) and values are MacroDef instances. pylatexenc.latex2text.default_text_replacements Default text replacements (final touches) to apply to LaTeX code. (For instance, converting ~ to (space) or '' to ".) This is a list (or tuple) of pairs of (regex-pattern, replacement-text) of replacements to perform Known Macros and Environments 11

16 12 Chapter 2. Simple Latex to Text Converter

17 CHAPTER 3 Encode Unicode to LaTeX The latexencode module provides a single function, utf8tolatex() which allows you to convert a unicode string to LaTeX escape sequences. pylatexenc.latexencode.utf8tolatex(s, non_ascii_only=false, brackets=true, substitute_bad_chars=false) Encode a UTF-8 string to a LaTeX snippet. If non_ascii_only is set to True, then usual (ascii) characters such as #, {, } etc. will not be escaped. If set to False (the default), they are escaped to their respective LaTeX escape sequences. If brackets is set to True (the default), then LaTeX macros are enclosed in brackets. For example, santé is replaced by sant{\'e} if brackets=true and by sant\'e if brackets=false. Warning: Using brackets=false might give you an invalid LaTeX string, so avoid it! (for instance, maître will be replaced incorrectly by ma\^\itre resulting in an unknown macro \itre). If substitute_bad_chars=true, then any non-ascii character for which no LaTeX escape sequence is known is replaced by a question mark in boldface. Otherwise (by default), the character is left as it is. 13

18 14 Chapter 3. Encode Unicode to LaTeX

19 CHAPTER 4 Indices and tables genindex modindex search 15

20 16 Chapter 4. Indices and tables

21 Python Module Index p pylatexenc.latex2text, 9 pylatexenc.latexencode, 13 pylatexenc.latexwalker, 3 17

22 18 Python Module Index

23 Index D default_env_dict (in module pylatexenc.latex2text), 11 default_macro_dict (in module pylatexenc.latex2text), 11 default_macro_dict (in module pylatexenc.latexwalker), 5 default_text_replacements (in module pylatexenc.latex2text), 11 E EnvDef (class in pylatexenc.latex2text), 10 G get_latex_braced_group() (pylatexenc.latexwalker.latexwalker method), 3 get_latex_environment() (pylatexenc.latexwalker.latexwalker method), 4 get_latex_expression() (pylatexenc.latexwalker.latexwalker method), 4 get_latex_maybe_optional_arg() (pylatexenc.latexwalker.latexwalker method), 4 get_latex_nodes() (pylatexenc.latexwalker.latexwalker method), 4 get_token() (pylatexenc.latexwalker.latexwalker method), 4 L latex_to_text() (pylatexenc.latex2text.latexnodes2text method), 10 LatexCharsNode (class in pylatexenc.latexwalker), 6 LatexCommentNode (class in pylatexenc.latexwalker), 6 LatexEnvironmentNode (class in pylatexenc.latexwalker), 6 LatexGroupNode (class in pylatexenc.latexwalker), 6 LatexMacroNode (class in pylatexenc.latexwalker), 6 LatexMathNode (class in pylatexenc.latexwalker), 7 LatexNode (class in pylatexenc.latexwalker), 6 LatexNodes2Text (class in pylatexenc.latex2text), 9 LatexToken (class in pylatexenc.latexwalker), 5 LatexWalker (class in pylatexenc.latexwalker), 3 LatexWalkerEndOfStream (class in pylatexenc.latexwalker), 5 LatexWalkerError (class in pylatexenc.latexwalker), 5 LatexWalkerParseError (class in pylatexenc.latexwalker), 5 M MacroDef (class in pylatexenc.latex2text), 10 MacrosDef (class in pylatexenc.latexwalker), 5 N P parse_flags() (pylatexenc.latexwalker.latexwalker method), 4 pylatexenc.latex2text (module), 9 pylatexenc.latexencode (module), 13 pylatexenc.latexwalker (module), 3 R S (pylatex- method), set_tex_input_directory() enc.latex2text.latexnodes2text 10 U utf8tolatex() (in module pylatexenc.latexencode), 13 node_to_text() (pylatexenc.latex2text.latexnodes2text method), 10 nodelist_to_text() (pylatexenc.latex2text.latexnodes2text method), 10 (pylatex- method), read_input_file() enc.latex2text.latexnodes2text 10 19

Honu. Version November 6, 2010

Honu. Version November 6, 2010 Honu Version 5.0.2 November 6, 2010 Honu is a family of languages built on top of Racket. Honu syntax resembles Java. Like Racket, however, Honu has no fixed syntax, because Honu supports extensibility

More information

OstrichLib Documentation

OstrichLib Documentation OstrichLib Documentation Release 0.0.0 Itamar Ostricher May 10, 2016 Contents 1 utils package 3 1.1 collections utils module......................................... 3 1.2 path utils module.............................................

More information

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines.

Chapter 1 Summary. Chapter 2 Summary. end of a string, in which case the string can span multiple lines. Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of

More information

CSC 467 Lecture 3: Regular Expressions

CSC 467 Lecture 3: Regular Expressions CSC 467 Lecture 3: Regular Expressions Recall How we build a lexer by hand o Use fgetc/mmap to read input o Use a big switch to match patterns Homework exercise static TokenKind identifier( TokenKind token

More information

TECkit version 2.0 A Text Encoding Conversion toolkit

TECkit version 2.0 A Text Encoding Conversion toolkit TECkit version 2.0 A Text Encoding Conversion toolkit Jonathan Kew SIL Non-Roman Script Initiative (NRSI) Abstract TECkit is a toolkit for encoding conversions. It offers a simple format for describing

More information

Parser Tools: lex and yacc-style Parsing

Parser Tools: lex and yacc-style Parsing Parser Tools: lex and yacc-style Parsing Version 5.0 Scott Owens June 6, 2010 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1 Creating

More information

ArgParse.jl Documentation

ArgParse.jl Documentation ArgParse.jl Documentation Release 0.3 Carlo Baldassi October 06, 2015 Contents 1 Quick overview and a simple example 3 2 The parse_args function 7 3 Settings overview 9 4 General settings 11 5 Argument

More information

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments.

12/22/11. Java How to Program, 9/e. Help you get started with Eclipse and NetBeans integrated development environments. Java How to Program, 9/e Education, Inc. All Rights Reserved. } Java application programming } Use tools from the JDK to compile and run programs. } Videos at www.deitel.com/books/jhtp9/ Help you get started

More information

Parser Tools: lex and yacc-style Parsing

Parser Tools: lex and yacc-style Parsing Parser Tools: lex and yacc-style Parsing Version 6.11.0.6 Scott Owens January 6, 2018 This documentation assumes familiarity with lex and yacc style lexer and parser generators. 1 Contents 1 Lexers 3 1.1

More information

translationstring Documentation

translationstring Documentation translationstring Documentation Release 1.4.dev0 Pylons Developers August 29, 2017 Contents 1 Translation Strings 3 1.1 Using The TranslationString Class............................... 3 1.2 Using the

More information

Using Lex or Flex. Prof. James L. Frankel Harvard University

Using Lex or Flex. Prof. James L. Frankel Harvard University Using Lex or Flex Prof. James L. Frankel Harvard University Version of 1:07 PM 26-Sep-2016 Copyright 2016, 2015 James L. Frankel. All rights reserved. Lex Regular Expressions (1 of 4) Special characters

More information

Smartparens Documentation

Smartparens Documentation Smartparens Documentation Release 1.10.1 Matúš Goljer Aug 08, 2018 Contents 1 Getting Started 3 1.1 Migrating from paredit.......................................... 4 2 Are you an elisp developer? 5 3

More information

Dogeon Documentation. Release Lin Ju

Dogeon Documentation. Release Lin Ju Dogeon Documentation Release 1.0.0 Lin Ju June 07, 2014 Contents 1 Indices and tables 7 Python Module Index 9 i ii DSON (Doge Serialized Object Notation) is a data-interchange format,

More information

ASN2XML. ASN.1 to XML Translator. Version 2.1. Reference Manual. Objective Systems July 2010

ASN2XML. ASN.1 to XML Translator. Version 2.1. Reference Manual. Objective Systems July 2010 ASN2XML ASN.1 to XML Translator Version 2.1 Reference Manual Objective Systems July 2010 The software described in this document is furnished under a license agreement and may be used only in accordance

More information

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression

\n is used in a string to indicate the newline character. An expression produces data. The simplest expression Chapter 1 Summary Comments are indicated by a hash sign # (also known as the pound or number sign). Text to the right of the hash sign is ignored. (But, hash loses its special meaning if it is part of

More information

redis-lua Documentation

redis-lua Documentation redis-lua Documentation Release 2.0.8 Julien Kauffmann October 12, 2016 Contents 1 Quick start 3 1.1 Step-by-step analysis........................................... 3 2 What s the magic at play here?

More information

Babu Madhav Institute of Information Technology, UTU 2015

Babu Madhav Institute of Information Technology, UTU 2015 Five years Integrated M.Sc.(IT)(Semester 5) Question Bank 060010502:Programming in Python Unit-1:Introduction To Python Q-1 Answer the following Questions in short. 1. Which operator is used for slicing?

More information

IEEE Std Clarifications and Corrections

IEEE Std Clarifications and Corrections and Corrections This document is maintained by the STIL Working Group to clarify points of confusion identified by users of 1450-1999. These clarification are sorted by page order in the 1450-1999 standard.

More information

pyprika Documentation

pyprika Documentation pyprika Documentation Release 1.0.0 Paul Kilgo February 16, 2014 Contents i ii Pyprika is a Python library for parsing and managing recipes. Its major features are: Support for recognizing a human-friendly

More information

The newcommand.py utility

The newcommand.py utility The newcommand.py utility Scott Pakin scott+nc@pakin.org 2010/06/01 Abstract L A TEX s \newcommand is fairly limited in the way it processes optional arguments, but the TEX alternative, a batch of \defs

More information

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration

STATS 507 Data Analysis in Python. Lecture 2: Functions, Conditionals, Recursion and Iteration STATS 507 Data Analysis in Python Lecture 2: Functions, Conditionals, Recursion and Iteration Functions in Python We ve already seen examples of functions: e.g., type()and print() Function calls take the

More information

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved.

C How to Program, 6/e by Pearson Education, Inc. All Rights Reserved. C How to Program, 6/e 1992-2010 by Pearson Education, Inc. An important part of the solution to any problem is the presentation of the results. In this chapter, we discuss in depth the formatting features

More information

CIF Changes to the specification. 27 July 2011

CIF Changes to the specification. 27 July 2011 CIF Changes to the specification 27 July 2011 This document specifies changes to the syntax and binary form of CIF. We refer to the current syntax specification of CIF as CIF1, and the new specification

More information

psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...]

psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...] NAME SYNOPSIS DESCRIPTION OPTIONS psed - a stream editor psed [-an] script [file...] psed [-an] [-e script] [-f script-file] [file...] s2p [-an] [-e script] [-f script-file] A stream editor reads the input

More information

bc an arbitrary precision calculator language version 1.06

bc an arbitrary precision calculator language version 1.06 and Other Implementations-titleGNU bc and Other Implementations bc an arbitrary precision calculator language version 1.06 Philip A. Nelson This manual documents bc, an arbitrary precision calculator language.

More information

IHIH Documentation. Release Romain Dartigues

IHIH Documentation. Release Romain Dartigues IHIH Documentation Release 0.1.1 Romain Dartigues December 11, 2016 Contents 1 Why? 3 2 Table of contents 5 2.1 Source documentation.......................................... 5 2.2 Examples.................................................

More information

Regular Expressions. Regular expressions are a powerful search-and-replace technique that is widely used in other environments (such as Unix and Perl)

Regular Expressions. Regular expressions are a powerful search-and-replace technique that is widely used in other environments (such as Unix and Perl) Regular Expressions Regular expressions are a powerful search-and-replace technique that is widely used in other environments (such as Unix and Perl) JavaScript started supporting regular expressions in

More information

yarl Documentation Release Andrew Svetlov

yarl Documentation Release Andrew Svetlov yarl Documentation Release 1.2.0- Andrew Svetlov Apr 30, 2018 Contents 1 Introduction 3 2 Installation 5 3 Dependencies 7 4 API documentation 9 5 Comparison with other URL libraries 11 6 Source code 13

More information

IPCoreL. Phillip Duane Douglas, Jr. 11/3/2010

IPCoreL. Phillip Duane Douglas, Jr. 11/3/2010 IPCoreL Programming Language Reference Manual Phillip Duane Douglas, Jr. 11/3/2010 The IPCoreL Programming Language Reference Manual provides concise information about the grammar, syntax, semantics, and

More information

The xparse package Document command parser

The xparse package Document command parser The xparse package Document command parser The L A TEX3 Project Released 2018-10-17 The xparse package provides a high-level interface for producing document-level commands. In that way, it is intended

More information

Have examined process Creating program Have developed program Written in C Source code

Have examined process Creating program Have developed program Written in C Source code Preprocessing, Compiling, Assembling, and Linking Introduction In this lesson will examine Architecture of C program Introduce C preprocessor and preprocessor directives How to use preprocessor s directives

More information

The Logical Design of the Tokeniser

The Logical Design of the Tokeniser Page 1 of 21 The Logical Design of the Tokeniser Purpose 1. To split up a character string holding a RAQUEL statement expressed in linear text, into a sequence of character strings (called word tokens),

More information

Expr Language Reference

Expr Language Reference Expr Language Reference Expr language defines expressions, which are evaluated in the context of an item in some structure. This article describes the syntax of the language and the rules that govern the

More information

Object oriented programming C++

Object oriented programming C++ http://uranchimeg.com Object oriented programming C++ T.Uranchimeg Prof. Dr. Email uranchimeg@must.edu.mn Power Engineering School M.EC203* -- OOP (C++) -- Lecture 06 Subjects Functions Functions with

More information

Homework # You ll want to use some LaTeX editor to edit and compile your.tex files

Homework # You ll want to use some LaTeX editor to edit and compile your.tex files Homework # 1 What is LaTeX? LaTeX is a document markup language You prepare a (.tex) document, and compile it into a PDF LaTeX helps make your homework pretty (just like this document!) and makes us happy

More information

A Pascal program. Input from the file is read to a buffer program buffer. program xyz(input, output) --- begin A := B + C * 2 end.

A Pascal program. Input from the file is read to a buffer program buffer. program xyz(input, output) --- begin A := B + C * 2 end. A Pascal program program xyz(input, output); var A, B, C: integer; begin A := B + C * 2 end. Input from the file is read to a buffer program buffer program xyz(input, output) --- begin A := B + C * 2 end.

More information

Full file at

Full file at Java Programming: From Problem Analysis to Program Design, 3 rd Edition 2-1 Chapter 2 Basic Elements of Java At a Glance Instructor s Manual Table of Contents Overview Objectives s Quick Quizzes Class

More information

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved.

Assoc. Prof. Dr. Marenglen Biba. (C) 2010 Pearson Education, Inc. All rights reserved. Assoc. Prof. Dr. Marenglen Biba (C) 2010 Pearson Education, Inc. All rights reserved. Java application A computer program that executes when you use the java command to launch the Java Virtual Machine

More information

What is LaTeX. Is a document markup language and document preparation system for the TeX typesetting program

What is LaTeX. Is a document markup language and document preparation system for the TeX typesetting program What is LaTeX LaTeX ( /ˈleɪtɛk/, /ˈleɪtɛx/, /ˈlɑːtɛx/, or /ˈlɑːtɛk/) Is a document markup language and document preparation system for the TeX typesetting program Refers only to the language, not to the

More information

ucalc Patterns Examine the following example which can be pasted into the interpreter (paste the entire block at the same time):

ucalc Patterns Examine the following example which can be pasted into the interpreter (paste the entire block at the same time): [This document is far from complete but discusses some pattern essentials. Check back for more in the future; ask questions for clarity] ucalc Patterns ucalc patterns represent a key element of all current

More information

CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer

CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer CS164: Programming Assignment 2 Dlex Lexer Generator and Decaf Lexer Assigned: Thursday, September 16, 2004 Due: Tuesday, September 28, 2004, at 11:59pm September 16, 2004 1 Introduction Overview In this

More information

20.5. urllib Open arbitrary resources by URL

20.5. urllib Open arbitrary resources by URL 1 of 9 01/25/2012 11:19 AM 20.5. urllib Open arbitrary resources by URL Note: The urllib module has been split into parts and renamed in Python 3.0 to urllib.request, urllib.parse, and urllib.error. The

More information

Modelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.

Modelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3. Modelica Change Proposal MCP-0019 Flattening (In Development) Proposed Changes to the Modelica Language Specification Version 3.3 Revision 1 Table of Contents Preface 3 Chapter 1 Introduction 3 Chapter

More information

Confuse. Release 0.1.0

Confuse. Release 0.1.0 Confuse Release 0.1.0 July 02, 2016 Contents 1 Using Confuse 3 2 View Theory 5 3 Validation 7 4 Command-Line Options 9 5 Search Paths 11 6 Your Application Directory 13 7 Dynamic Updates 15 8 YAML Tweaks

More information

spacetrack Documentation

spacetrack Documentation spacetrack Documentation Release 0.13.1 Frazer McLean Feb 03, 2018 Contents 1 Installation 3 1.1 pip.................................................. 3 1.2 Git..................................................

More information

Language Syntax version beta Proposed Syntax

Language Syntax version beta Proposed Syntax Superpowered game development. Language Syntax version.0. beta Proposed Syntax Live/current version at skookumscript.com/docs/v.0/lang/syntax/ November, 0 Better coding through mad science. Copyright 00-0

More information

Visualization of Biomolecular Structures

Visualization of Biomolecular Structures T H E U N I V E R S I T Y of T E X A S H E A L T H S C I E N C E C E N T E R A T H O U S T O N S C H O O L of H E A L T H I N F O R M A T I O N S C I E N C E S Visualization of Biomolecular Structures

More information

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved.

Java How to Program, 10/e. Copyright by Pearson Education, Inc. All Rights Reserved. Java How to Program, 10/e Copyright 1992-2015 by Pearson Education, Inc. All Rights Reserved. Data structures Collections of related data items. Discussed in depth in Chapters 16 21. Array objects Data

More information

CS 541 Spring Programming Assignment 2 CSX Scanner

CS 541 Spring Programming Assignment 2 CSX Scanner CS 541 Spring 2017 Programming Assignment 2 CSX Scanner Your next project step is to write a scanner module for the programming language CSX (Computer Science experimental). Use the JFlex scanner-generation

More information

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York

CSc 10200! Introduction to Computing. Lecture 2-3 Edgardo Molina Fall 2013 City College of New York CSc 10200! Introduction to Computing Lecture 2-3 Edgardo Molina Fall 2013 City College of New York 1 C++ for Engineers and Scientists Third Edition Chapter 2 Problem Solving Using C++ 2 Objectives In this

More information

$syntax_okay = podchecker($filepath, $outputpath, %options);

$syntax_okay = podchecker($filepath, $outputpath, %options); NAME Pod::Checker, podchecker() - check pod documents for syntax errors SYNOPSIS use Pod::Checker; $syntax_okay = podchecker($filepath, $outputpath, %options); OPTIONS/ARGUMENTS podchecker() DESCRIPTION

More information

Python Working with files. May 4, 2017

Python Working with files. May 4, 2017 Python Working with files May 4, 2017 So far, everything we have done in Python was using in-memory operations. After closing the Python interpreter or after the script was done, all our input and output

More information

B.V. Patel Institute of BMC & IT, UTU 2014

B.V. Patel Institute of BMC & IT, UTU 2014 BCA 3 rd Semester 030010301 - Java Programming Unit-1(Java Platform and Programming Elements) Q-1 Answer the following question in short. [1 Mark each] 1. Who is known as creator of JAVA? 2. Why do we

More information

ArgParse.jl Documentation

ArgParse.jl Documentation ArgParse.jl Documentation Release 0.2 Carlo Baldassi May 12, 2015 Contents 1 Quick overview and a simple example 3 2 The parse_args function 7 3 Settings overview 9 4 General settings 11 5 Argument table

More information

msgpack Documentation

msgpack Documentation msgpack Documentation Release 0.4 Author 2017-11-04 Contents 1 API reference 3 Python Module Index 9 i ii MessagePack is a efficient format for inter language data exchange. Contents 1 2 Contents CHAPTER

More information

The xparse package Document command parser

The xparse package Document command parser The xparse package Document command parser The L A TEX3 Project Released 2016/05/18 The xparse package provides a high-level interface for producing document-level commands. In that way, it is intended

More information

Project 2: Scheme Lexer and Parser

Project 2: Scheme Lexer and Parser Project 2: Scheme Lexer and Parser Due Monday, Oct 8, 2018 at 8pm Contents Background 2 Lexer...................................................... 2 Lexical Analysis.............................................

More information

A lexical analyzer generator for Standard ML. Version 1.6.0, October 1994

A lexical analyzer generator for Standard ML. Version 1.6.0, October 1994 A lexical analyzer generator for Standard ML. Version 1.6.0, October 1994 Andrew W. Appel 1 James S. Mattson David R. Tarditi 2 1 Department of Computer Science, Princeton University 2 School of Computer

More information

Typescript on LLVM Language Reference Manual

Typescript on LLVM Language Reference Manual Typescript on LLVM Language Reference Manual Ratheet Pandya UNI: rp2707 COMS 4115 H01 (CVN) 1. Introduction 2. Lexical Conventions 2.1 Tokens 2.2 Comments 2.3 Identifiers 2.4 Reserved Keywords 2.5 String

More information

Java+- Language Reference Manual

Java+- Language Reference Manual Fall 2016 COMS4115 Programming Languages & Translators Java+- Language Reference Manual Authors Ashley Daguanno (ad3079) - Manager Anna Wen (aw2802) - Tester Tin Nilar Hlaing (th2520) - Systems Architect

More information

VENTURE. Section 1. Lexical Elements. 1.1 Identifiers. 1.2 Keywords. 1.3 Literals

VENTURE. Section 1. Lexical Elements. 1.1 Identifiers. 1.2 Keywords. 1.3 Literals VENTURE COMS 4115 - Language Reference Manual Zach Adler (zpa2001), Ben Carlin (bc2620), Naina Sahrawat (ns3001), James Sands (js4597) Section 1. Lexical Elements 1.1 Identifiers An identifier in VENTURE

More information

IT 374 C# and Applications/ IT695 C# Data Structures

IT 374 C# and Applications/ IT695 C# Data Structures IT 374 C# and Applications/ IT695 C# Data Structures Module 2.1: Introduction to C# App Programming Xianrong (Shawn) Zheng Spring 2017 1 Outline Introduction Creating a Simple App String Interpolation

More information

micawber Documentation

micawber Documentation micawber Documentation Release 0.3.4 charles leifer Nov 29, 2017 Contents 1 examples 3 2 integration with web frameworks 5 2.1 Installation................................................ 5 2.2 Getting

More information

Dr. Sarah Abraham University of Texas at Austin Computer Science Department. Regular Expressions. Elements of Graphics CS324e Spring 2017

Dr. Sarah Abraham University of Texas at Austin Computer Science Department. Regular Expressions. Elements of Graphics CS324e Spring 2017 Dr. Sarah Abraham University of Texas at Austin Computer Science Department Regular Expressions Elements of Graphics CS324e Spring 2017 What are Regular Expressions? Describe a set of strings based on

More information

prompt Documentation Release Stefan Fischer

prompt Documentation Release Stefan Fischer prompt Documentation Release 0.4.1 Stefan Fischer Nov 14, 2017 Contents: 1 Examples 1 2 API 3 3 Indices and tables 7 Python Module Index 9 i ii CHAPTER 1 Examples 1. Ask for a floating point number: >>>

More information

$syntax_okay = podchecker($filepath, $outputpath, %options);

$syntax_okay = podchecker($filepath, $outputpath, %options); NAME Pod::Checker - check pod documents for syntax errors SYNOPSIS use Pod::Checker; $syntax_okay = podchecker($filepath, $outputpath, %options); my $checker = Pod::Checker->new(%options); $checker->parse_from_file($filepath,

More information

Lecture Outline. COMP-421 Compiler Design. What is Lex? Lex Specification. ! Lexical Analyzer Lex. ! Lex Examples. Presented by Dr Ioanna Dionysiou

Lecture Outline. COMP-421 Compiler Design. What is Lex? Lex Specification. ! Lexical Analyzer Lex. ! Lex Examples. Presented by Dr Ioanna Dionysiou Lecture Outline COMP-421 Compiler Design! Lexical Analyzer Lex! Lex Examples Presented by Dr Ioanna Dionysiou Figures and part of the lecture notes taken from A compact guide to lex&yacc, epaperpress.com

More information

fpp: Fortran preprocessor March 9, 2009

fpp: Fortran preprocessor March 9, 2009 fpp: Fortran preprocessor March 9, 2009 1 Name fpp the Fortran language preprocessor for the NAG Fortran compiler. 2 Usage fpp [option]... [input-file [output-file]] 3 Description fpp is the preprocessor

More information

Contents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual

Contents. Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual Jairo Pava COMS W4115 June 28, 2013 LEARN: Language Reference Manual Contents 1 Introduction...2 2 Lexical Conventions...2 3 Types...3 4 Syntax...3 5 Expressions...4 6 Declarations...8 7 Statements...9

More information

Introduction to: Computers & Programming: Strings and Other Sequences

Introduction to: Computers & Programming: Strings and Other Sequences Introduction to: Computers & Programming: Strings and Other Sequences in Python Part I Adam Meyers New York University Outline What is a Data Structure? What is a Sequence? Sequences in Python All About

More information

COMP 2718: Shell Scripts: Part 1. By: Dr. Andrew Vardy

COMP 2718: Shell Scripts: Part 1. By: Dr. Andrew Vardy COMP 2718: Shell Scripts: Part 1 By: Dr. Andrew Vardy Outline Shell Scripts: Part 1 Hello World Shebang! Example Project Introducing Variables Variable Names Variable Facts Arguments Exit Status Branching:

More information

L A TEX for Psychological Researchers

L A TEX for Psychological Researchers L A TEX for Psychological Researchers Lecture 2: Basics of the L A TEX language Sacha Epskamp University of Amsterdam Department of Psychological Methods 27-01-2015 The L A TEX process.tex pdfl A TEX.pdf

More information

Advanced Algorithms and Computational Models (module A)

Advanced Algorithms and Computational Models (module A) Advanced Algorithms and Computational Models (module A) Giacomo Fiumara giacomo.fiumara@unime.it 2014-2015 1 / 34 Python's built-in classes A class is immutable if each object of that class has a xed value

More information

In this text box, type the name of the File Watcher. By default, IntelliJ IDEA suggests the name of the selected predefined template.

In this text box, type the name of the File Watcher. By default, IntelliJ IDEA suggests the name of the selected predefined template. New Watcher Dialog File Settings File Watchers The dialog box opens when you click the Add or Edit button on the File Watchers page. Use the dialog box to create a project File Watcher based on a predefined

More information

1 CS580W-01 Quiz 1 Solution

1 CS580W-01 Quiz 1 Solution 1 CS580W-01 Quiz 1 Solution Date: Wed Sep 26 2018 Max Points: 15 Important Reminder As per the course Academic Honesty Statement, cheating of any kind will minimally result in receiving an F letter grade

More information

Glossary. For Introduction to Programming Using Python By Y. Daniel Liang

Glossary. For Introduction to Programming Using Python By Y. Daniel Liang Chapter 1 Glossary For Introduction to Programming Using Python By Y. Daniel Liang.py Python script file extension name. assembler A software used to translate assemblylanguage programs into machine code.

More information

TML Language Reference Manual

TML Language Reference Manual TML Language Reference Manual Jiabin Hu (jh3240) Akash Sharma (as4122) Shuai Sun (ss4088) Yan Zou (yz2437) Columbia University October 31, 2011 1 Contents 1 Introduction 4 2 Lexical Conventions 4 2.1 Character

More information

GraphQuil Language Reference Manual COMS W4115

GraphQuil Language Reference Manual COMS W4115 GraphQuil Language Reference Manual COMS W4115 Steven Weiner (Systems Architect), Jon Paul (Manager), John Heizelman (Language Guru), Gemma Ragozzine (Tester) Chapter 1 - Introduction Chapter 2 - Types

More information

python-unrar Documentation

python-unrar Documentation python-unrar Documentation Release 0.3 Matias Bordese August 18, 2016 Contents 1 rarfile Work with RAR archives 3 1.1 RarFile Objects.............................................. 3 1.2 RarInfo Objects.............................................

More information

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message.

CGI Architecture Diagram. Web browser takes response from web server and displays either the received file or error message. What is CGI? The Common Gateway Interface (CGI) is a set of standards that define how information is exchanged between the web server and a custom script. is a standard for external gateway programs to

More information

Java Overview An introduction to the Java Programming Language

Java Overview An introduction to the Java Programming Language Java Overview An introduction to the Java Programming Language Produced by: Eamonn de Leastar (edeleastar@wit.ie) Dr. Siobhan Drohan (sdrohan@wit.ie) Department of Computing and Mathematics http://www.wit.ie/

More information

15-122: Principles of Imperative Computation, Fall 2015

15-122: Principles of Imperative Computation, Fall 2015 15-122 Programming 5 Page 1 of 10 15-122: Principles of Imperative Computation, Fall 2015 Homework 5 Programming: Clac Due: Thursday, October 15, 2015 by 22:00 In this assignment, you will implement a

More information

Preparing Z specifications using LaTeX markup

Preparing Z specifications using LaTeX markup Page 1 of 15 Preparing Z specifications using LaTeX markup /Tutorial guides This tutorial won t teach you how to write Z, but if you already have some idea on that, then it will show you how to mark-up

More information

GridLang: Grid Based Game Development Language Language Reference Manual. Programming Language and Translators - Spring 2017 Prof.

GridLang: Grid Based Game Development Language Language Reference Manual. Programming Language and Translators - Spring 2017 Prof. GridLang: Grid Based Game Development Language Language Reference Manual Programming Language and Translators - Spring 2017 Prof. Stephen Edwards Akshay Nagpal Dhruv Shekhawat Parth Panchmatia Sagar Damani

More information

UNIT - I. Introduction to C Programming. BY A. Vijay Bharath

UNIT - I. Introduction to C Programming. BY A. Vijay Bharath UNIT - I Introduction to C Programming Introduction to C C was originally developed in the year 1970s by Dennis Ritchie at Bell Laboratories, Inc. C is a general-purpose programming language. It has been

More information

C++ Basics. Lecture 2 COP 3014 Spring January 8, 2018

C++ Basics. Lecture 2 COP 3014 Spring January 8, 2018 C++ Basics Lecture 2 COP 3014 Spring 2018 January 8, 2018 Structure of a C++ Program Sequence of statements, typically grouped into functions. function: a subprogram. a section of a program performing

More information

1 Lexical Considerations

1 Lexical Considerations Massachusetts Institute of Technology Department of Electrical Engineering and Computer Science 6.035, Spring 2013 Handout Decaf Language Thursday, Feb 7 The project for the course is to write a compiler

More information

ROOT Data Model Evolution. Lukasz Janyst, Rene Brun, Philippe Canal

ROOT Data Model Evolution. Lukasz Janyst, Rene Brun, Philippe Canal ROOT Data Model Evolution Lukasz Janyst, Rene Brun, Philippe Canal Table of Contents 1. Introduction...3 1.1 Self description capabilities of the ROOT files...3 1.2 Streaming modes...3 1.3 Currently implemented

More information

Introduction to Python Documentation

Introduction to Python Documentation Introduction to Python Documentation Release v0.0.1 M.Faisal Junaid Butt August 18, 2015 Contents 1 Models 3 2 Auto Generated Documentation 5 3 Hello World Program Documentation 9 4 Practice 11 5 Indices

More information

Org mode (La)TEX macros for HTML and L A TEX export

Org mode (La)TEX macros for HTML and L A TEX export Org mode (La)TEX macros for HTML and L A TEX export Brian C. Wells September 15, 2016 Contents 1 Preliminary Macros 2 1.1 when-fmt............................. 2 1.2 preamble..............................

More information

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes

GIS 4653/5653: Spatial Programming and GIS. More Python: Statements, Types, Functions, Modules, Classes GIS 4653/5653: Spatial Programming and GIS More Python: Statements, Types, Functions, Modules, Classes Statement Syntax The if-elif-else statement Indentation and and colons are important Parentheses and

More information

tolerance Documentation

tolerance Documentation tolerance Documentation Release Alisue Apr 1, 217 Contents 1 tolerance 1 1.1 Features.................................................. 1 1.2 Installation................................................

More information

CS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find

CS1622. Semantic Analysis. The Compiler So Far. Lecture 15 Semantic Analysis. How to build symbol tables How to use them to find CS1622 Lecture 15 Semantic Analysis CS 1622 Lecture 15 1 Semantic Analysis How to build symbol tables How to use them to find multiply-declared and undeclared variables. How to perform type checking CS

More information

The Compiler So Far. CSC 4181 Compiler Construction. Semantic Analysis. Beyond Syntax. Goals of a Semantic Analyzer.

The Compiler So Far. CSC 4181 Compiler Construction. Semantic Analysis. Beyond Syntax. Goals of a Semantic Analyzer. The Compiler So Far CSC 4181 Compiler Construction Scanner - Lexical analysis Detects inputs with illegal tokens e.g.: main 5 (); Parser - Syntactic analysis Detects inputs with ill-formed parse trees

More information

SublimeLinter Documentation

SublimeLinter Documentation SublimeLinter Documentation Release 4.0.0 The SublimeLinter Community Dec 18, 2018 User Documentation 1 Installation 3 2 Settings 5 2.1 Settings stack............................................... 5

More information

ML 4 A Lexer for OCaml s Type System

ML 4 A Lexer for OCaml s Type System ML 4 A Lexer for OCaml s Type System CS 421 Fall 2017 Revision 1.0 Assigned October 26, 2017 Due November 2, 2017 Extension November 4, 2017 1 Change Log 1.0 Initial Release. 2 Overview To complete this

More information

LOON. Language Reference Manual THE LANGUAGE OF OBJECT NOTATION. Kyle Hughes, Jack Ricci, Chelci Houston-Borroughs, Niles Christensen, Habin Lee

LOON. Language Reference Manual THE LANGUAGE OF OBJECT NOTATION. Kyle Hughes, Jack Ricci, Chelci Houston-Borroughs, Niles Christensen, Habin Lee LOON THE LANGUAGE OF OBJECT NOTATION Language Reference Manual Kyle Hughes, Jack Ricci, Chelci Houston-Borroughs, Niles Christensen, Habin Lee October 2017 1 Contents 1 Introduction 3 2 Types 4 2.1 JSON............................................

More information

Starting Out with Java: From Control Structures Through Objects Sixth Edition

Starting Out with Java: From Control Structures Through Objects Sixth Edition Starting Out with Java: From Control Structures Through Objects Sixth Edition Chapter 11 I/O File Input and Output Reentering data all the time could get tedious for the user. The data can be saved to

More information

The newunicodechar package

The newunicodechar package The newunicodechar package nrico Gregorio nrico dot Gregorio at univr dot it April 8, 2018 1 Introduction When using Unicode input with L A TX it s not so uncommon to get an incomprehensible error message

More information

Touchstone File Format Specification

Touchstone File Format Specification Touchstone File Format Specification Version 2. Touchstone File Format Specification Version 2. Ratified by the IBIS Open Forum April 24, 29 Copyright 29 by TechAmerica. This specification may be distributed

More information