Metadata-Version: 1.0
Name: americano
Version: 0.0.2
Summary: UNKNOWN
Home-page: http://github.com/travisjungroth/americano
Author: Travis Jungroth
Author-email: jungroth@gmail.com
License: MIT
Description: Americano
        =========
        
        .. image:: https://circleci.com/gh/travisjungroth/americano/tree/master.svg?style=shield&circle-token=190bfe13ebf014f2598880d1369a802ebe8dda70
            :target: https://circleci.com/gh/travisjungroth/americano/tree/master
        
        .. image:: https://coveralls.io/repos/github/travisjungroth/americano/badge.svg?branch=master
            :target: https://coveralls.io/github/travisjungroth/americano?branch=master
        
        Americano is a parser and evaluator for a restricted subset of JavaScript, written in Python.
        
            >>> from americano import parse
            >>> p = parse('var == 4')
            >>> p.eval({'var': 4})
            True
            >>> p.eval({'var': 5})
            False
        
        The language accepted is a restricted subset of javascript.  The input must be an expression, not a statement.
        The following operators are supported:
        
        - ternary operator (?:)
        - logical operators (||, &&)
        - comparison operators (===, ==, !===, !=, <. <=, >, >=)
        - addition/subtraction (+, -)
        - multiplication/division (*, /)
        - unary logical not (!)
        - unary negation/plus (-, +)
        - function invocation('(')
        - computed member access ('[')
         
        In addition, the following syntax constructs are supported:
        
        - array literal
        - null
        - true
        - false
        - single quoted string
        - double quoted string
        - floating point literal (no exponential notation)
        - integer literal
        
        It is implemented using a variation of a Crockford TDOP style Pratt parser modified to support creation of an evaluable node tree on parse.
        
        See these links for algorithm details:
        
        - http://javascript.crockford.com/tdop/tdop.html
        - http://eli.thegreenplace.net/2010/01/02/top-down-operator-precedence-parsing/
        
Platform: UNKNOWN
