~manxi-david/pyeffect/pyeffect

« back to all changes in this revision

Viewing changes to s3/fAsm.py

  • Committer: dvspeed
  • Date: 2011-12-26 13:18:36 UTC
  • Revision ID: manxi.david@gmail.com-20111226131836-mvoy9y32z0ujxvm1
-Change of folder

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
# Copyright (C) 2011 David Manzanares <manxi.david@gmail.com>
2
 
#This file is part of PyEffect.
3
 
#
4
 
# PyEffect is free software: you can redistribute it and/or modify
5
 
# it under the terms of the GNU General Public License as published by
6
 
# the Free Software Foundation, either version 3 of the License, or
7
 
# (at your option) any later version.
8
 
#
9
 
# PyEffect is distributed in the hope that it will be useful,
10
 
# but WITHOUT ANY WARRANTY; without even the implied warranty of
11
 
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12
 
# GNU General Public License for more details.
13
 
#
14
 
# You should have received a copy of the GNU General Public License
15
 
# along with PyEffect. If not, see <http://www.gnu.org/licenses/>.
16
 
 
17
 
#-*- coding:utf-8 -*-
18
 
#This is the Assembler-Function compiler for the Stage 2
19
 
 
20
 
#Purpose:
21
 
#Enter the assembler-(source code) directly into the lns.lines array under the proper instances
22
 
 
23
 
import s2
24
 
import lns
25
 
import  act
26
 
import loc
27
 
 
28
 
def plainAct(w):#ESTE CODIGO DEBE SER MODIFICADO PARA QUE LOS ACTOS NO SEAN NULOS
29
 
        if w == None:
30
 
                return None
31
 
        return act.newNone(loc.new(None, w))
32
 
 
33
 
def comp(line):
34
 
        """Compile the function asm"""
35
 
        asm_code = s2.getStage1BlockFormated("asm " + line[4:len(line) - 1])
36
 
        for l in asm_code.splitlines():
37
 
                lns.now = lns.new()
38
 
                lns.now.by.append("fAsm")
39
 
                w = l.split(" ")
40
 
                w = w + [None, None]
41
 
                lns.now.ins = w[0]
42
 
                lns.now.a1 = plainAct(w[1])
43
 
                lns.now.a2 = plainAct(w[2])
44
 
                lns.now.append()
45