Assembly writer vs compiler in VLIW architectureConversion from assembly program to low-level machine languageWhat do I need to study in order to understand and design a programming language?What defines a tool as a “compiler”is the problem of parallelising any program, NP-complete?What's the advantage of typed assembly?Implementing a Compiler with MacrosThe difference between compiler and interpreterIs it possible to tell if two sequences of assembly instructions are semantically equivalent?High Level Assemblers vs Compilers?Do “compiler” and “assembler” correspond to frontend and backend phases of a compiler?
What is this dime sized black bug with white on the segments near Loveland Colorodao?
How is dynamic resistance of a diode modeled for large voltage variations?
What was the primary motivation for a historical figure like Xenophon to create an extensive collection of written material?
Farthing / Riding
3D Histogram / bar chart
What quantum phenomena violate the superposition principle in electromagnetism?
Why is this python script running in background consuming 100 % CPU?
What Species of Trees are These?
How can sister protect herself from impulse purchases with a credit card?
Keeping the dodos out of the field
Germany rejected my entry to Schengen countries
why "American-born", not "America-born"?
Do 'destroy' effects count as damage?
Warped chessboard
Is there a realtime, uncut video of Saturn V ignition through tower clear?
Is my company merging branches wrong?
Filter a file list against an integer array?
How to play vs. 1.e4 e5 2.Nf3 Nc6 3.Bc4 d6?
Removing Doubles Destroy Topology
Was murdering a slave illegal in American slavery, and if so, what punishments were given for it?
Will this series of events work to drown the Tarrasque?
Was Tyrion always a poor strategist?
Department head said that group project may be rejected. How to mitigate?
Why was Harry at the Weasleys' at the beginning of Goblet of Fire but at the Dursleys' after?
Assembly writer vs compiler in VLIW architecture
Conversion from assembly program to low-level machine languageWhat do I need to study in order to understand and design a programming language?What defines a tool as a “compiler”is the problem of parallelising any program, NP-complete?What's the advantage of typed assembly?Implementing a Compiler with MacrosThe difference between compiler and interpreterIs it possible to tell if two sequences of assembly instructions are semantically equivalent?High Level Assemblers vs Compilers?Do “compiler” and “assembler” correspond to frontend and backend phases of a compiler?
$begingroup$
I read this sentence in a book:
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel.
What is the difference between assembly writer and compiler? Would an assembly writer also mean the same as assembler?
compilers assembly
New contributor
$endgroup$
add a comment |
$begingroup$
I read this sentence in a book:
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel.
What is the difference between assembly writer and compiler? Would an assembly writer also mean the same as assembler?
compilers assembly
New contributor
$endgroup$
add a comment |
$begingroup$
I read this sentence in a book:
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel.
What is the difference between assembly writer and compiler? Would an assembly writer also mean the same as assembler?
compilers assembly
New contributor
$endgroup$
I read this sentence in a book:
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel.
What is the difference between assembly writer and compiler? Would an assembly writer also mean the same as assembler?
compilers assembly
compilers assembly
New contributor
New contributor
edited May 15 at 5:11
Discrete lizard♦
5,09811642
5,09811642
New contributor
asked May 14 at 5:02
Dasha ShamDasha Sham
435
435
New contributor
New contributor
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
$begingroup$
The "assembly writer" in that book is a human software developer who writes code in assembler language.
$endgroup$
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
|
show 6 more comments
$begingroup$
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel
The meaning of this sentence is that in VLIW architecture, assembler (machine) code defines which instruction will be executed in parallel, so it's fixed at the time assembly code is written by a human or generated by a compiler.
This differs from super-scalar cpus, where instructions may be executed in parallel, this is a decision made by CPU each time it executes the instructions.
There are also CPUs that combine both approaches - Itanium2 is backward-compatible with Itanium, packing 3 instructions into VLIW word. But, afair, Itanium2 can execute two such packs in the single CPU cycle, and this decision is made at execution time.
$endgroup$
add a comment |
Your Answer
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "419"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Dasha Sham is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f109326%2fassembly-writer-vs-compiler-in-vliw-architecture%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
The "assembly writer" in that book is a human software developer who writes code in assembler language.
$endgroup$
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
|
show 6 more comments
$begingroup$
The "assembly writer" in that book is a human software developer who writes code in assembler language.
$endgroup$
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
|
show 6 more comments
$begingroup$
The "assembly writer" in that book is a human software developer who writes code in assembler language.
$endgroup$
The "assembly writer" in that book is a human software developer who writes code in assembler language.
answered May 14 at 6:30
gnasher729gnasher729
12.9k1623
12.9k1623
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
|
show 6 more comments
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
15
15
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
$begingroup$
1. interpreter doesn't convert anything to assembly language. 2. Any tool that converts source code to assembly language is by definition a compiler.
$endgroup$
– gnasher729
May 14 at 7:10
4
4
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
$begingroup$
@KellyS.French an assembler converts assembly language code to machine code, so with this definition it isn't a compiler. If, however, you have a tool that converts one assembly language into another (e.g. ARBfp1.0 to native assembly language of a modern GPU), this tool is a compiler (with this definition).
$endgroup$
– Ruslan
May 14 at 19:38
1
1
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
$begingroup$
@gnasher729 - nitpick: by most definitions, the "Assembly language" part of (2) is unnecessary (notably, things like the typescript compiler or the java compiler, neither of which compile the source to assembly, but compile to javascript or java bytecode respectively). More recently it generally means any tool which compiles one programming language into another programming language (and assembly is technically a programming language).
$endgroup$
– Delioth
May 14 at 21:11
1
1
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
$begingroup$
@KellyS.French: A compiler is a program that translates a program in language X into a semantically equivalent program in language Y. Depending on what exactly the languages X and Y are, we have special names for those compilers, and "assembler" is one of those special names. But they are all special kinds of compilers. E.g. if Y = assembly and X is higher-level than Y, then we call it an assembler. If Y = assembly and X is lower-level than Y, we call it a disassembler. If X is lower-level than Y and Y != assembly, we call it a de-compiler. If X and Y are the same level, recent usage would …
$endgroup$
– Jörg W Mittag
May 15 at 12:48
1
1
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
$begingroup$
@KellyS.French: I guess the reason why assemblers aren't typically talked about much in terms of compilers is that assemblers are very boring compilers. At its core, an assembler is just a 1:1 mapping of human-readable mnemonics to machine-readable opcodes. The parsing stage is simple, there are no types, there are no optimizations, the code generation is trivial. None of the interesting algorithmitic stuff that compilers do is present: parsing a complex language, type checking, type inference, optimizations, clever mapping of semantics etc.
$endgroup$
– Jörg W Mittag
May 16 at 5:10
|
show 6 more comments
$begingroup$
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel
The meaning of this sentence is that in VLIW architecture, assembler (machine) code defines which instruction will be executed in parallel, so it's fixed at the time assembly code is written by a human or generated by a compiler.
This differs from super-scalar cpus, where instructions may be executed in parallel, this is a decision made by CPU each time it executes the instructions.
There are also CPUs that combine both approaches - Itanium2 is backward-compatible with Itanium, packing 3 instructions into VLIW word. But, afair, Itanium2 can execute two such packs in the single CPU cycle, and this decision is made at execution time.
$endgroup$
add a comment |
$begingroup$
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel
The meaning of this sentence is that in VLIW architecture, assembler (machine) code defines which instruction will be executed in parallel, so it's fixed at the time assembly code is written by a human or generated by a compiler.
This differs from super-scalar cpus, where instructions may be executed in parallel, this is a decision made by CPU each time it executes the instructions.
There are also CPUs that combine both approaches - Itanium2 is backward-compatible with Itanium, packing 3 instructions into VLIW word. But, afair, Itanium2 can execute two such packs in the single CPU cycle, and this decision is made at execution time.
$endgroup$
add a comment |
$begingroup$
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel
The meaning of this sentence is that in VLIW architecture, assembler (machine) code defines which instruction will be executed in parallel, so it's fixed at the time assembly code is written by a human or generated by a compiler.
This differs from super-scalar cpus, where instructions may be executed in parallel, this is a decision made by CPU each time it executes the instructions.
There are also CPUs that combine both approaches - Itanium2 is backward-compatible with Itanium, packing 3 instructions into VLIW word. But, afair, Itanium2 can execute two such packs in the single CPU cycle, and this decision is made at execution time.
$endgroup$
In VLIW architecture, the compiler/and or assembly writer chooses instructions that can be executed in parallel
The meaning of this sentence is that in VLIW architecture, assembler (machine) code defines which instruction will be executed in parallel, so it's fixed at the time assembly code is written by a human or generated by a compiler.
This differs from super-scalar cpus, where instructions may be executed in parallel, this is a decision made by CPU each time it executes the instructions.
There are also CPUs that combine both approaches - Itanium2 is backward-compatible with Itanium, packing 3 instructions into VLIW word. But, afair, Itanium2 can execute two such packs in the single CPU cycle, and this decision is made at execution time.
answered May 14 at 7:29
BulatBulat
1,221612
1,221612
add a comment |
add a comment |
Dasha Sham is a new contributor. Be nice, and check out our Code of Conduct.
Dasha Sham is a new contributor. Be nice, and check out our Code of Conduct.
Dasha Sham is a new contributor. Be nice, and check out our Code of Conduct.
Dasha Sham is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Computer Science Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcs.stackexchange.com%2fquestions%2f109326%2fassembly-writer-vs-compiler-in-vliw-architecture%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown