fiddlebits
This commit is contained in:
parent
dc4bb92725
commit
efdccb75bb
24
hy/compilers/__init__.py
Normal file
24
hy/compilers/__init__.py
Normal file
@ -0,0 +1,24 @@
|
||||
# Copyright (c) 2012 Paul Tagliamonte <paultag@debian.org>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
class HyCompiler(object):
|
||||
def __init__(self):
|
||||
pass
|
22
hy/compilers/ast.py
Normal file
22
hy/compilers/ast.py
Normal file
@ -0,0 +1,22 @@
|
||||
# Copyright (c) 2012 Paul Tagliamonte <paultag@debian.org>
|
||||
#
|
||||
# Permission is hereby granted, free of charge, to any person obtaining a
|
||||
# copy of this software and associated documentation files (the "Software"),
|
||||
# to deal in the Software without restriction, including without limitation
|
||||
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
|
||||
# and/or sell copies of the Software, and to permit persons to whom the
|
||||
# Software is furnished to do so, subject to the following conditions:
|
||||
#
|
||||
# The above copyright notice and this permission notice shall be included in
|
||||
# all copies or substantial portions of the Software.
|
||||
#
|
||||
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
|
||||
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||
# DEALINGS IN THE SOFTWARE.
|
||||
|
||||
|
||||
|
@ -25,6 +25,8 @@ from hy.models.string import HyString
|
||||
|
||||
from hy.errors import HyError
|
||||
|
||||
from abc import ABCMeta, abstractmethod
|
||||
|
||||
|
||||
WHITESPACE = [" ", "\t", "\n", "\r"]
|
||||
|
||||
@ -57,6 +59,7 @@ class State(object):
|
||||
"""
|
||||
|
||||
__slots__ = ("nodes", "machine")
|
||||
__metaclass__ = ABCMeta
|
||||
|
||||
def __init__(self, machine):
|
||||
self.machine = machine
|
||||
@ -75,14 +78,15 @@ class State(object):
|
||||
"""
|
||||
Overridable ``enter`` routines. Subclasses may implement this.
|
||||
"""
|
||||
pass # ABC
|
||||
pass
|
||||
|
||||
def exit(self):
|
||||
"""
|
||||
Overridable ``exit`` routines. Subclasses may implement this.
|
||||
"""
|
||||
pass # ABC
|
||||
pass
|
||||
|
||||
@abstractmethod
|
||||
def process(self, char):
|
||||
"""
|
||||
Overridable ``process`` routines. Subclasses must implement this to be
|
||||
|
Loading…
Reference in New Issue
Block a user